Google has no API for Request indexing. Here's how IndexCyborg does it
The Indexing API only covers job postings and livestreams. IndexCyborg's Chrome extension clicks the button in your own Search Console session, inside the daily quota.
Search Console's URL Inspection tool has a Request indexing button. For ordinary pages, no public API does the same thing. That leaves two options: click it yourself, page by page, or have something click it for you, in your own session, as carefully as you would.
What about the Indexing API?
Google's Indexing API is documented for pages with JobPosting structured data, or a BroadcastEvent embedded in a VideoObject. Using it for other pages is outside what Google supports, so IndexCyborg doesn't use it.
What the extension does
- Opens your Search Console property in a background tab.
- Types the URL into Inspect any URL and waits for Google's result.
- If the page isn't indexed, or you asked for a recrawl, clicks Request indexing.
- Waits for Google's answer, closes the dialog and reports back: requested, already indexed, quota exceeded or failed.
It finds buttons by their role and visible text in English, Italian, Spanish, French, German, Portuguese and Dutch, not by Search Console's generated class names, so a cosmetic update on Google's side doesn't break it. It runs in your browser, signed in as you, with your own permissions on the property.
Quotas, on purpose
Search Console limits how many indexing requests a property can make per day. Google doesn't publish the number. IndexCyborg stays under it with a hard cap of 10 requests per property per rolling 24 hours, checked three times: by the API, atomically in the database, and by the extension, which keeps its own log and refuses an eleventh click.
- When the extension picks pages itself, pages Search Console already shows as indexed are skipped without spending a request.
- Those automatic picks also skip pages requested in the last 14 days, or in the last 24 hours after a failure.
- If Google answers “quota exceeded”, the site pauses until midnight Pacific time.
What gets requested first
URLs you queue by name through the REST API or the MCP server go first. Then the extension picks pages Google has reported as Discovered - currently not indexed or Crawled - currently not indexed, then pages not checked yet. Its own picks leave out pages excluded by design (noindex, blocked by robots.txt, redirects, duplicates) and pages that don't return 200: a request can't fix them.
URLs you queue by name skip the status filter and the 14-day wait, and are requested even when indexed. That is how you ask for a recrawl after fixing a noindex or changing a page. Removed pages and pages known not to return 200 are still refused, and every URL you queue uses one of the day's requests.
What “Requested” means
Google accepted the URL into its crawl queue. Google is explicit that this doesn't guarantee the page will be crawled or indexed, and that requesting the same URL again won't make it faster. That is the whole promise, and the dashboard labels it exactly that way.