Dispatch URLs
One line per URL. Pick a destination below — Google, every other engine via IndexNow, or both. The service-account key stays on the server; only your API key travels from this browser.
Live ledger
| # | URL | Status | HTTP | Response |
|---|
The ledger is empty.
Paste URLs above and press Dispatch — every row lands here as the engines answer it.
Past runs
No runs recorded yet.
Completed dispatches are kept here — the last 25 runs, with per-URL outcomes.
Setup
one time, ~10 minutes-
Google Cloud project
Create a project at console.cloud.google.com → APIs & Services → Library → enable Web Search Indexing API.
-
Service account key
IAM & Admin → Service Accounts → create one → Keys → Add key → Create new key (JSON). Keep the downloaded JSON; it is the secret.
-
Grant Search Console ownership
Open Search Console → your property → Settings → Users and permissions → Add user → paste the service account email → role Owner. Without this, every submit returns 403.
-
Cloudflare Pages
Create a Pages project from this folder. Add secrets GCP_SERVICE_ACCOUNT (the JSON file's full contents) and API_KEY (any random string), plus a KV namespace bound as INDEXER_KV.
-
Other engines (optional)
For Bing, Yandex, Naver & friends pick IndexNow. Make a 32-character key (0-9a-f), save it as INDEXNOW_KEY in Cloudflare, and upload a text file named yourkey.txt to the root of every site you submit.
-
First dispatch
Open the deployed site, paste your API key, paste URLs, choose URL_UPDATED, press Dispatch. Watch the ledger.
-
Know the budget
Google allows 200 publish requests per project per day, resetting midnight Pacific. Failed calls spend quota too. The gauge above counts every attempt.