I Built a Free Google Indexing API Tool — Submit 200 URLs Instantly (No Backend Needed)

Tags: seo, webdev, javascript, productivity
Cover image: (Upload a screenshot of the tool)
Tired of waiting weeks for Google to crawl your new pages? I was too. So I built Instant Indexer — a completely free, browser-based tool that uses the official Google Indexing API to submit URLs to Google instantly.
No backend. No server. No registration. Just upload your JSON key and submit.
🔗 Live tool: faisalhbd.github.io/instant-indexer
The Problem
You publish a blog post. You go to Google Search Console and hit "Request Indexing." Then you wait. And wait. Sometimes it takes days. Sometimes weeks.
The Google Indexing API solves this — it lets you push URLs directly into Google's crawl queue programmatically. But most tutorials require a Python script, a Node.js server, or some backend setup that's annoying to run every time.
I wanted something I could just open in a browser and use immediately.
What is Instant Indexer?
Instant Indexer is a pure client-side HTML/JavaScript dashboard that:
- ✅ Submits URLs directly to Google via the official Indexing API v3
- ✅ Supports bulk URL submission (paste hundreds at once)
- ✅ Handles multiple JSON service account keys with auto-rotation
- ✅ Tracks daily quota per key (200 URLs/key/day)
- ✅ Shows live submission log with success/fail status
- ✅ Saves submission history in localStorage
- ✅ Works entirely in your browser — no data sent to any third-party server
How It Works (Technical Overview)
The entire auth flow runs client-side using the Web Crypto API:
- You upload your Google Cloud service account
.jsonkey file - The tool signs a JWT using
crypto.subtle.sign()with RS256 - Exchanges the JWT for an OAuth 2.0 access token via Google's token endpoint
- Submits each URL to
https://indexing.googleapis.com/v3/urlNotifications:publish
No Node.js. No Python. No backend at all. Here's the core of the JWT signing:
const cryptoKey = await crypto.subtle.importKey(
'pkcs8', binaryDer.buffer,
{ name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' },
false, ['sign']
);
const sig = await crypto.subtle.sign(
'RSASSA-PKCS1-v1_5', cryptoKey, encoder.encode(unsigned)
);
Everything runs locally. Your private key never leaves your browser.
How to Use It (Step by Step)
Step 1 — Create a Google Cloud Service Account
- Go to console.cloud.google.com
- Create a new project
- Enable the Web Search Indexing API
- Go to Credentials → Create Credentials → Service Account
- Under the service account → Keys → Add Key → JSON → Download the file
Step 2 — Add the Service Account as Owner in Search Console
This is the step most people miss. Without this, the API will reject all requests.
- Open your downloaded
.jsonfile and copy theclient_emailvalue - Go to Google Search Console
- Select your property → Settings → Users and Permissions → Add User
- Paste the
client_email→ set permission to Owner → Save
Step 3 — Upload the JSON & Submit URLs
- Open Instant Indexer
- Click "Upload JSON key" and select your downloaded file
- Paste your URLs (one per line) in the URL box
- Select URL_UPDATED (to index) or URL_DELETED (to remove)
- Hit ⚡ Submit All URLs
That's it. You'll see a live log of each submission with 200 OK or error status.
Key Features Explained
Multi-Key Auto Rotation
Each service account gives you 200 URL submissions per day. Add up to 10 JSON keys and enable Auto Rotation — the tool automatically switches to the key with the most remaining quota.
Quota Tracking with 24-Hour Reset
The tool tracks how many URLs each key has submitted today. When a key hits its limit, it shows a 🔴 red mark. After 24 hours, it automatically turns 🟢 green and resets — stored in localStorage so it persists across page reloads.
No Backend Required
The entire tool is a single index.html file. Host it anywhere — GitHub Pages, Netlify, your local machine. The Google API calls are made directly from your browser using standard fetch().
Who Is This For?
- Bloggers who publish frequently and want new posts indexed the same day
- SEO professionals managing multiple client sites
- Developers who just launched a new project and want it crawled immediately
- Anyone tired of waiting for Google's natural crawl cycle
Daily Quota: What You Need to Know
| Keys Added | Max URLs/Day |
|---|---|
| 1 key | 200 URLs |
| 5 keys | 1,000 URLs |
| 10 keys | 2,000 URLs |
The API quota is per service account, not per project. You can create multiple Google Cloud projects, each with its own service account and its own 200/day quota.
One Important Note
The Google Indexing API was officially designed for JobPosting and BroadcastEvent structured data pages. However, in practice it works for any URL — and many SEOs use it this way. Google hasn't restricted it.
That said: submitting a URL via the API doesn't guarantee indexing. It tells Google to crawl it. If the page has thin content, no backlinks, or technical issues, Google may still choose not to index it.
Try It
🔗 faisalhbd.github.io/instant-indexer
The tool is completely free and open source. If you find it useful, share it — and drop a comment below if you have any questions or feature suggestions!
Built with vanilla HTML, CSS, and JavaScript. Uses the Web Crypto API for client-side JWT signing. No frameworks, no dependencies, no backend.
Top comments (0)