Google API

The Google Indexing API: setup, quota and limits

The Google Indexing API lets you tell Google that a page was published or updated. It is free and useful, but it has two limits few tutorials explain: what Google reserves it for, and its quota of 200 requests a day.

What the Indexing API does

The API sends Google a URL_UPDATED notification (new or changed page) or URL_DELETED (removed page). Google can then crawl the page sooner than by waiting for its crawler's normal visit.

What Google officially says: the API is meant for pages with job postings (JobPosting) or livestream videos (BroadcastEvent embedded in a VideoObject). Google also states that submissions go through spam detection and that access can be revoked in case of abuse.

Setting it up, in short

  1. In Google Cloud Console, create a project.
  2. Enable the Web Search Indexing API for that project.
  3. Create a service account, then a JSON key for it, and download it.
  4. In Search Console, Settings › Users and permissions, add the service account email as an Owner.
  5. In the Instant Indexing & Check plugin, paste the JSON key: the plugin tests the connection and tells you exactly which step is blocking, if any.

The 200 requests a day quota (error 429)

By default, each Google Cloud project gets 200 publish requests per day. Beyond that, Google answers with a 429 error:

Quota exceeded for quota metric 'Publish requests' and limit
'Publish requests per day' of service 'indexing.googleapis.com'

Nothing is wrong with your site: today's counter is simply used up. It resets at midnight Pacific time. Your options:

  • Wait for the reset and submit your most important pages first.
  • Request a higher quota in Google Cloud Console (APIs & Services › Quotas). Google decides: it can take several days and is often refused.
  • Use another channel: the plugin's Force Index does not use your Google quota.

Since version 2.1.6, the plugin explains this error in plain words, stops sending the remaining URLs (they keep their status) and resumes on its own after a per-minute limit.

Other common errors

MessageCauseFix
403 Permission denied. Failed to verify the URL ownershipThe service account is not an owner of the Search Console property.Add it as Owner (not “Full”) in Search Console.
Web Search Indexing API has not been used in project … or it is disabledThe API is not enabled in the project.Enable “Web Search Indexing API” and wait a few minutes.
invalid_grantJSON key deleted, incomplete or badly copied.Create a new key and paste the whole file again.

Does it work for regular posts?

For pages that are neither job postings nor livestreams, the API remains a simple notification Google may ignore. In practice it speeds up crawling for some pages, but many submitted posts still do not get indexed, especially on new sites. It is useful as a complement, rarely enough on its own.

Alternatives

  • Your sitemap and internal linking: the basics, to get right before anything else.
  • “Request indexing” in Search Console: reliable, but a few URLs a day, by hand.
  • An indexing service like the plugin's Force Index: no key to set up, no Google quota, paid per URL (1 credit).

Frequently asked questions

Is using the API for regular posts risky?

Google officially reserves it for job postings and livestream videos and says it may revoke access in case of abuse. For normally notifying your own new pages, the main risk is that Google ignores the request.

Can I get around the quota with several projects?

Technically each project has its own quota. But multiplying projects to submit at scale looks like abuse to Google: better to prioritize your pages or use another channel.

Does the API check whether a page is indexed?

No. It only notifies Google. To check indexing you need Search Console’s URL Inspection (2,000 per day per property) or the plugin’s Premium Check.

From theory to your own pages

Install the free plugin, or try Premium for 30 days without paying.

Free plugin