Google's Indexing API is officially meant only for pages with JobPosting structured data or a BroadcastEvent embedded in a VideoObject, meaning job listings and livestreams. Google says other pages aren't supported, and submissions are checked for spam. For ordinary pages your options are sitemaps, internal links, Request indexing in Search Console and indexing services. None of them, including the API, can force Google to index a page.
What is the Google Indexing API?
It's an endpoint that lets a site owner notify Google that a URL was added, updated or removed. Google built it for content that goes stale quickly: a job ad that closes in a week, a livestream that's only relevant while it's on air. For those, waiting for a regular crawl means the page is outdated by the time it's indexed.
Setting it up takes some work:
- Create a project in Google Cloud and enable the Indexing API.
- Create a service account and download its JSON key.
- Add the service account as an owner of the property in Search Console.
- Send
URL_UPDATEDorURL_DELETEDnotifications from your code, signed with the key.
Each project gets a default daily quota of publish requests, and you can ask Google for more. Quota increases are reviewed, and Google expects the use case to match the documentation.
Can you use the Indexing API for normal pages?
Technically, the API will accept a request for any URL on a property you own. That's why it became popular as a workaround for blog posts, product pages and everything else.
But Google's documentation is explicit that the API is for job posting and livestream pages only. Google has also added warnings that submissions undergo spam detection and that misuse can lead to access being revoked. And even when it's used as intended, a notification is a request to crawl, not a guarantee of indexing.
Using the Indexing API for regular pages is outside what Google supports. It may appear to work for a while, but you're relying on behaviour Google has said it doesn't intend, on an account tied to your Search Console property.
What are your options for regular pages?
| Option | Best for | Limits | Cost |
|---|---|---|---|
| Internal links | Every page, always | Takes site structure work | Free |
| XML sitemap | Telling Google about all your URLs | Google crawls on its own schedule | Free |
| Request indexing in Search Console | A few important pages | Small daily quota, one URL at a time, needs property access | Free |
| Google Indexing API | Job postings and livestreams | Officially limited to those types, setup required, quota | Free |
| Indexing service | Many URLs at once, sites you can't easily verify | Quality varies between providers, no one can guarantee indexing | Paid, usually per URL |
For most sites, the first two should do the bulk of the work. The rest are ways to get specific URLs crawled sooner.
What an Indexing API request looks like
For the pages it supports, a notification is a small authenticated POST request. The body names the URL and the type of change:
POST https://indexing.googleapis.com/v3/urlNotifications:publish
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
{ "url": "https://site.com/jobs/senior-editor", "type": "URL_UPDATED" }
The access token comes from your service account key through OAuth. You can also send up to 100 notifications in one batch request, and query the status of a URL with urlNotifications/metadata.
The setup cost is the real barrier for most people: a Cloud project, a service account, ownership in Search Console for every property, token handling in code and quota monitoring. For a job board, that's worth it. For a blog that publishes a few posts a week, it's a lot of plumbing for a use Google doesn't support.
How do indexing services work?
An indexing service takes a list of URLs and gets them in front of Google so they're crawled sooner than they would be otherwise. How each service does that is its own business, and most don't publish the details. From your side, what matters is what you can observe: whether the pages get crawled and indexed, how long it takes and what you pay.
Because the mechanism is usually a black box, judge a service on things you can check:
- Does it check URLs before charging? Paying to submit a 404 or a noindexed page is money spent on nothing.
- What happens to URLs that fail? Look for refunds or credits back, not "all sales final".
- Is the pricing simple? Per-URL pricing with no subscription is easy to reason about. Plans with expiring credits often aren't.
- Does it promise 100% indexing? If so, be careful. Google decides what it indexes, and anyone claiming otherwise is overselling.
- Do you need to hand over account access? A service that only needs URLs is lower risk than one that wants your Search Console credentials.
When does an indexing service make sense?
- After a launch or migration, when hundreds or thousands of good pages need to be crawled at once.
- When pages sit in "Discovered – currently not indexed" and you've already fixed server speed and URL bloat.
- For many sites at once, where verifying every property and clicking Request indexing per URL isn't realistic.
- For pages you don't control in Search Console, such as your articles published on other sites.
And when it doesn't: if a page was crawled and rejected for quality, sending it again changes nothing. Fix the page first. See "Crawled – currently not indexed" for how.
Where Index Forge fits
We built @IndexForgeBot around the checklist above. You send links, a .txt file, a sitemap or a domain. Every URL is checked the way Googlebot would see it: status code, redirects, noindex in meta and headers, robots.txt and canonical. Links that can't be indexed are dropped before you pay. The rest are sent at $0.01 each, and if a link isn't accepted the credit comes back. Indexing usually takes 1–3 days. It doesn't need access to your Search Console, and there's an HTTP API if you want to automate it.
We don't promise that every page will be indexed. Nobody can, honestly. What we can promise is that you won't pay for links that were never going to make it.
A simple way to decide
- Job listings or livestreams? Use the Indexing API. That's what it's for.
- A few important pages this week? Request indexing in Search Console.
- Every page, long term? Internal links and an honest sitemap.
- Hundreds or thousands of good pages waiting, or many sites? An indexing service, after a check that the URLs are indexable.
- Pages crawled and rejected? None of the above. Improve the pages first.
Most sites end up using several of these at once, and that's fine. They don't conflict: a sitemap, good linking and occasional crawl requests work together.
Common questions
Is using an indexing service against Google's guidelines?
Asking Google to crawl your own pages isn't spam. What Google's spam policies target is the content itself: scaled low-value pages, doorway pages, hacked content and so on. Getting a bad page crawled faster just gets it judged faster.
Is the Indexing API faster than a sitemap?
For supported page types, usually yes, which is the point of it. For other pages, Google doesn't support that use, so there's nothing reliable to compare.
Do I still need a sitemap if I use a service?
Yes. The sitemap is how Google keeps track of your site over time. A service helps specific URLs get crawled sooner. They do different jobs.
Have a list of URLs stuck outside the index?The bot checks them first and charges only for links that go through. 10 free credits to start.
Open the bot