API de indexação do Google
O que a Google Indexing API realmente faz — oficialmente suportada apenas para páginas com JobPosting e BroadcastEvent (transmissão ao vivo), não para conteúdo geral. Os mitos, o que o Google realmente diz e o que usar em vez disso para indexação mais rápida.
A Google Indexing API é uma forma programática de notificar o Google que uma URL foi adicionada, atualizada ou removida — mas o Google oficialmente a suporta apenas para páginas com dados estruturados de JobPosting ou BroadcastEvent (transmissão ao vivo), não para conteúdo geral. O maior mito é que ela indexa qualquer página rapidamente; não indexa, e uma submissão bem-sucedida apenas confirma que o Google recebeu sua solicitação, não que algo foi indexado. O Google alertou repetidamente que o uso indevido pode resultar na revogação do seu acesso. Para páginas normais, use sitemaps, links internos, qualidade e a ocasional opção 'Solicitar indexação' do Search Console.
«> TL;DR — The Google Indexing API is a way for site owners to tell Google
Evidência desta afirmação Google documents the Indexing API for pages containing JobPosting or BroadcastEvent embedded in VideoObject, not general-purpose web indexing. Escopo: Current documented eligibility. Confiança: alta · Verificado: Google Search Central: Indexing API overview Evidência desta afirmação An Indexing API notification tells Google that an eligible URL changed or was deleted; it does not guarantee crawling or indexing. Escopo: Current API semantics and indexing caveat. Confiança: alta · Verificado: Google Search Central: Using the Indexing API“this page changed, please re-crawl it” through code instead of clicking buttons. But here’s the catch most guides skip: Google only officially supports it for job-posting pages and livestream pages. It is not a shortcut to get your blog posts or product pages indexed faster — Google has said so over and over.
» (Tradução) (Síntese localizada do trecho três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## What the Indexing API is » (Tradução) (Síntese localizada do trecho quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«When you publish or change a page, you normally wait for Google to come back and re-crawl it on its own schedule. The Indexing API is a way to push a notification to Google instead — “hey, this URL is new/updated” or “this URL is gone, drop it.” You do it with code (a small program calling Google’s servers), not by clicking around in a dashboard. » (Tradução) (Síntese localizada do trecho cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«That sounds powerful, and it is — for the exact things it’s built for. » (Tradução) (Síntese localizada do trecho seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The one thing to understand » (Tradução) (Síntese localizada do trecho sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google only officially supports the Indexing API for two kinds of pages: » (Tradução) (Síntese localizada do trecho oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«1. Job postings — pages with JobPosting structured data (job listings, which
expire and need to come down quickly).
2. Livestreams — pages with BroadcastEvent structured data (live video
events, which only matter during the broadcast).
» (Tradução) (Síntese localizada do trecho nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«That’s it. Both are time-sensitive content that goes stale fast, which is why Google built a fast lane for them. » (Tradução) (Síntese localizada do trecho dez, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«If you don’t have job listings or livestreams, the Indexing API is not your tool — no matter what a “get indexed in hours” plugin or SaaS tells you. » (Tradução) (Síntese localizada do trecho onze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The myth to ignore » (Tradução) (Síntese localizada do trecho doze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The single biggest myth online is: “Use the Indexing API to get any page indexed fast.” It doesn’t work that way, and Google has repeatedly called using it for normal pages misuse. People do it anyway because tools sell it as a growth hack — but Google can (and says it will) revoke your access for abusing it. » (Tradução) (Síntese localizada do trecho treze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«There’s a second trap, too: when you submit a URL and get a “success” response, that only means Google received your request. It does not mean the page got indexed. Plenty of tools blur that line; Google’s own docs are clear about it. » (Tradução) (Síntese localizada do trecho catorze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## What to do instead for faster indexing » (Tradução) (Síntese localizada do trecho quinze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«For regular pages (blogs, products, articles), the things that actually help are boring but real: » (Tradução) (Síntese localizada do trecho dezesseis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Submit an XML sitemap in Google Search Console.
- Link to your new pages from other pages on your site.
- Make the page genuinely worth indexing (quality, not thin filler).
- For a one-off, use “Request indexing” in Search Console’s URL Inspection tool — sparingly. » (Tradução) (Síntese localizada do trecho dezessete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Want the technical version — setup, the actual API methods, quotas, and the exact Google quotes? Switch to the Avançado tab. » (Tradução) (Síntese localizada do trecho dezoito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«> TL;DR — The Indexing API is a Google Cloud–authenticated REST API (v3) that
Evidência desta afirmação Google documents the Indexing API for pages containing JobPosting or BroadcastEvent embedded in VideoObject, not general-purpose web indexing. Escopo: Current documented eligibility. Confiança: alta · Verificado: Google Search Central: Indexing API overview Evidência desta afirmação An Indexing API notification tells Google that an eligible URL changed or was deleted; it does not guarantee crawling or indexing. Escopo: Current API semantics and indexing caveat. Confiança: alta · Verificado: Google Search Central: Using the Indexing APIaccepts
URL_UPDATEDandURL_DELETEDnotifications. Google officially supports it only forJobPostingandBroadcastEvent-in-VideoObject(livestream) pages — not general content. A200from the status endpoint confirms receipt, not indexing. Google’s stance has hardened over years: 2022 (“doesn’t make sense”) → Sept 2024 (a spam warning added to the docs) → May 2025 (Mueller: “spammers misuse the Indexing API… use it properly, or not use it”). Misuse, including multiple accounts to inflate quota, can get access revoked. For general pages, your levers are sitemaps, internal links, quality, and occasional GSC “Request indexing” — and remember Google does not support IndexNow.
» (Tradução) (Síntese localizada do trecho vinte e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## What the Indexing API actually is » (Tradução) (Síntese localizada do trecho vinte e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The Indexing API is a programmatic push channel: a REST API (v3), authenticated
through a Google Cloud service account, that you call to tell Google a URL was
added/updated (URL_UPDATED) or should be removed (URL_DELETED). It sits
alongside sitemaps and Search Console as a way for Google to discover and refresh
URLs — but it’s the narrowest of the bunch by content type.
» (Tradução) (Síntese localizada do trecho vinte e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«In my How Search Works deck, I list the Indexing API as a URL-discovery source with the tag “limited use cases” — which is the whole story in two words. It’s real, it works, and it’s only sanctioned for a sliver of the web. » (Tradução) (Síntese localizada do trecho vinte e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## What Google officially supports it for » (Tradução) (Síntese localizada do trecho vinte e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«This is the load-bearing fact, so I’ll state it the way Google does. The Indexing
API “can only be used to crawl pages with either JobPosting or BroadcastEvent
embedded in a VideoObject.” That’s it — two structured-data types:
» (Tradução) (Síntese localizada do trecho vinte e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- JobPosting — job-listing pages. They expire, and stale jobs are a bad user
experience, so timely add/remove matters.
BroadcastEventin aVideoObject— livestream event pages. They’re only relevant during (and just around) the broadcast. » (Tradução) (Síntese localizada do trecho vinte e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Why only these two? Both are inherently time-sensitive and short-lived. The rationale Google gives is that fast notification of changes matters far more for these than for evergreen pages, which the normal crawl handles fine. » (Tradução) (Síntese localizada do trecho vinte e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## How it works » (Tradução) (Síntese localizada do trecho vinte e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Prerequisites » (Tradução) (Síntese localizada do trecho trinta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Setup is non-trivial — this isn’t a one-click feature: » (Tradução) (Síntese localizada do trecho trinta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- A Google Cloud project with the Indexing API enabled. As Google puts it, you “need to tell Google about your client and activate access to the API.”
- A service account with a JSON key file, stored securely.
- Search Console verification of the site, then add your service account as a delegated site owner.
- OAuth: “Every call to the Indexing API must be authenticated with an OAuth
token that you get in exchange for your private key,” using the scope
https://www.googleapis.com/auth/indexing. » (Tradução) (Síntese localizada do trecho trinta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### The two methods (plus a status check) » (Tradução) (Síntese localizada do trecho trinta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- URL_UPDATED — “To notify Google of a new URL to crawl or that content at a
previously-submitted URL has been updated.” POST the URL with
"type": "URL_UPDATED". A successful call gets an HTTP 200 — Google’s own
wording is that this “means that Google may try to recrawl this URL soon,”
not that it will, or that the crawl will result in indexing.
URL_DELETED— before you request removal, Google requires that “the URL must return a404or410status code or the page must contain” anoindexmeta tag — it’s an either/or, not “delete the page and also add noindex.” Once that’s true, POST the URL with"type": "URL_DELETED"so Google drops it.- Status (
GET) — returns metadata (latest_update,latest_remove,notify_time). The critical caveat, verbatim: theGETrequest “only returns whether you successfully submitted a request.” It does not tell you whether Google actually indexed or removed anything. - Batching — to cut down on HTTP connections, you can “combine up to 100 calls to the Indexing API into a single HTTP request.” Quota is still counted per URL: 10 requests in one batch still uses 10 requests of quota. » (Tradução) (Síntese localizada do trecho trinta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Quotas » (Tradução) (Síntese localizada do trecho trinta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google’s default quota has three separate dimensions, not just one number: » (Tradução) (Síntese localizada do trecho trinta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- 200 publish requests/day per project — covers both URL_UPDATED and
URL_DELETED calls combined. This is the number most guides cite.
- 180
getMetadata(status) requests/minute per project. - 380 requests/minute per project across all endpoints combined. » (Tradução) (Síntese localizada do trecho trinta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«All three are described as “initial default quota for testing” — going beyond them “requires additional approval for usage and resource provisioning,” via a request form, and Google notes “the quota may increase or decrease based on the document quality.” The common “hack” of spinning up multiple service accounts or projects to inflate the daily quota is exactly what Google forbids (see below). » (Tradução) (Síntese localizada do trecho trinta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Can you use it for normal pages? What Google actually says » (Tradução) (Síntese localizada do trecho trinta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Short answer: no, not in a supported way — and Google has been remarkably consistent and increasingly blunt about it. » (Tradução) (Síntese localizada do trecho quarenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The docs carry a spam warning. Around September 2024, Google added language to the quickstart making the stance explicit: “All submissions through the Indexing API undergo rigorous spam detection,” and “any attempts to abuse the Indexing API, including the use of multiple accounts or other means to exceed usage quotas, may result in access being revoked.”
Evidência desta afirmação Indexing API submissions undergo spam detection, and quota circumvention or abuse can lead to revoked access. Escopo: official Google documentation, Search Console and production URL verification Confiança: alta · Verificado: Indexing API Quickstart» (Tradução) (Síntese localizada do trecho quarenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The reps have said it for years. Back in May 2022, John Mueller framed it with his construction-vehicles analogy: the API “is meant for very specific kinds of content,” and using it elsewhere “doesn’t really make sense.” By May 2025 the tone was sharper — Mueller: “We see a lot of spammers misuse the Indexing API like this, so I’d recommend just sticking to the documented & supported use-cases,” and “I’d just use it properly, or not use it. If we wanted to suggest that people could use it regardless, we’d document it as such.” » (Tradução) (Síntese localizada do trecho quarenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«That arc — 2022 “doesn’t make sense” → 2024 spam warning in the docs → 2025 “spammers misuse… use it properly or not use it” — is a multi-year pattern, not a one-off. Coverage has also noted the API gets effectively inundated by bloggers and SEOs treating normal sites as if they qualified. » (Tradução) (Síntese localizada do trecho quarenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The real risk, stated precisely. Mueller stops short of promising an algorithmic penalty. The honest framing is: it’s unsupported and against the guidelines, content pushed in improperly may not stay indexed, and your access can be revoked. Don’t overstate it as a guaranteed manual action — but don’t pretend it’s free, either. » (Tradução) (Síntese localizada do trecho quarenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The status-endpoint myth » (Tradução) (Síntese localizada do trecho quarenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«This one deserves its own line because so many tools get it wrong: a successful
submission is receipt confirmation, not an indexing promise. The status GET
“only returns whether you successfully submitted a request.” If a dashboard shows
you a green “indexed” badge off the back of a 200, it’s inferring something the
API never told it.
» (Tradução) (Síntese localizada do trecho quarenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Indexing API vs Request Indexing vs IndexNow » (Tradução) (Síntese localizada do trecho quarenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Three things get conflated constantly. They’re different mechanisms: » (Tradução) (Síntese localizada do trecho quarenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Indexing API (Google): programmatic, but content-restricted to
JobPosting/BroadcastEvent. The narrowest of the three.
- Request Indexing (GSC URL Inspection): works for any page you own, but it’s manual, one URL at a time, and meant for occasional use — and it’s a request, not a guarantee.
- IndexNow: the open, cross-engine push protocol (Bing, Yandex, Yep, Seznam, Naver) — and Google does not use it. It’s the cross-engine analog to the Indexing API, and the one I actually champion: I helped ship the IndexNow integration in Ahrefs Site Audit. But it doesn’t reach Google. » (Tradução) (Síntese localizada do trecho quarenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«(Full breakdown in the Frameworks tab.) » (Tradução) (Síntese localizada do trecho cinquenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## What to do instead for general pages » (Tradução) (Síntese localizada do trecho cinquenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«If you’re not posting jobs or livestreams, the Indexing API is not your tool, and Google has said so repeatedly. Your real Google levers are the unglamorous ones: » (Tradução) (Síntese localizada do trecho cinquenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Sitemaps — for coverage and discovery.
- Internal links — orphan pages struggle; linked pages get found.
- Content quality — Google decides what’s worth indexing; thin pages stall at “Discovered – currently not indexed” no matter how hard you push them.
- GSC “Request indexing” — for genuine one-offs, sparingly. » (Tradução) (Síntese localizada do trecho cinquenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«For cross-engine pushing (Bing and friends, not Google), IndexNow is the right tool. And if you care about why pages aren’t getting indexed in the first place, that’s a crawl-frequency and quality question, not an API question. » (Tradução) (Síntese localizada do trecho cinquenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## AI summary » (Tradução) (Síntese localizada do trecho cinquenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«A condensed take on the Advanced version: » (Tradução) (Síntese localizada do trecho cinquenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- What it is: a Google Cloud–authenticated REST API (v3) for pushing
URL_UPDATED / URL_DELETED notifications to Google.
- The one fact that matters: officially supported only for
JobPostingandBroadcastEvent(livestream) pages — not general content. Both are time-sensitive by design. - The #1 myth: “it indexes any page fast.” It doesn’t; Google calls broader use misuse. A successful submission only confirms Google received the request, not that anything was indexed.
- Google’s stance hardened over time: 2022 “doesn’t make sense” → Sept 2024 spam warning added to the docs → May 2025 Mueller “spammers misuse… use it properly, or not use it.”
- Risk: unsupported/against guidelines; multiple accounts to beat the ~200/day quota can get access revoked. Not necessarily a manual penalty — but content may not stick.
- Not the same as IndexNow (cross-engine, Bing/Yandex/etc. — Google doesn’t use it) or GSC Request Indexing (any page, manual, occasional).
- For normal pages: sitemaps + internal links + quality + occasional GSC Request Indexing. » (Tradução) (Síntese localizada do trecho cinquenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Official documentation » (Tradução) (Síntese localizada do trecho sessenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Primary-source documentation from Google. » (Tradução) (Síntese localizada do trecho sessenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google — Indexing API
- Indexing API Quickstart — the overview, the
JobPosting/BroadcastEventrestriction, and the spam-detection warning. - How to Use the Indexing API — the
URL_UPDATED/URL_DELETEDmethods and the status-endpoint caveat. - Prerequisites — Cloud project, service account, OAuth scope, and Search Console delegated ownership.
- Quota and pricing — the default quota (200) and the approval needed for more. » (Tradução) (Síntese localizada do trecho sessenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google — context for general pages
- Ask Google to recrawl your URLs — sitemaps and the Search Console “Request indexing” path for normal content.
- In-Depth Guide to How Google Search Works — where URL discovery and the crawl → index → serve pipeline fit. » (Tradução) (Síntese localizada do trecho sessenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Quotes from the source » (Tradução) (Síntese localizada do trecho sessenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«On-the-record statements from Google. Each link is a deep link that jumps to the quoted passage on the source page. » (Tradução) (Síntese localizada do trecho sessenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google docs — the restriction » (Tradução) (Síntese localizada do trecho setenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “The Indexing API can only be used to crawl pages with either JobPosting or BroadcastEvent embedded in a VideoObject.”
— Google Search Central, Indexing API Quickstart.
Jump to quote
- “The Indexing API allows site owners to directly notify Google when their job posting or livestreaming video pages are added or removed.” Jump to quote » (Tradução) (Síntese localizada do trecho setenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google docs — the spam warning (added to the documentation around September 2024) » (Tradução) (Síntese localizada do trecho setenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “All submissions through the Indexing API undergo rigorous spam detection.” Jump to quote
- “Any attempts to abuse the Indexing API, including the use of multiple accounts or other means to exceed usage quotas, may result in access being revoked.” Jump to quote » (Tradução) (Síntese localizada do trecho setenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google docs — the status-endpoint caveat (myth-buster) » (Tradução) (Síntese localizada do trecho setenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “The GET request doesn’t tell you when Google indexes or removes a URL; it only returns whether you successfully submitted a request.”
— Google Search Central, How to Use the Indexing API.
Jump to quote
» (Tradução) (Síntese localizada do trecho setenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google docs — quota » (Tradução) (Síntese localizada do trecho setenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “The default value is set to 200.” (publish requests/day) — Google Search Central, quota & pricing. Jump to quote
- “The default value is set to 180.” (
getMetadatastatus requests/minute) and “The default value is set to 380.” (all endpoints/minute) — the two other quota dimensions most guides skip. Jump to 180 · Jump to 380 - “The quota may increase or decrease based on the document quality.” — Google Search Central, quota & pricing. Jump to quote » (Tradução) (Síntese localizada do trecho setenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google docs — batching and removal » (Tradução) (Síntese localizada do trecho setenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “…you can combine up to 100 calls to the Indexing API into a single HTTP request.” — Google Search Central, How to Use the Indexing API. Jump to quote
- “…the URL must return a
404or410status code or the page must contain” anoindexmeta tag — before requesting removal. — Google Search Central, How to Use the Indexing API. Jump to quote - “An HTTP 200 response means that Google may try to recrawl this URL soon.”
— Google Search Central, How to Use the Indexing API (on
URL_UPDATED). Jump to quote » (Tradução) (Síntese localizada do trecho setenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«John Mueller, Google Search Advocate — Bluesky, ~May 2025 » (Tradução) (Síntese localizada do trecho oitenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “We see a lot of spammers misuse the Indexing API like this, so I’d recommend just sticking to the documented & supported use-cases.”
- “I’d just use it properly, or not use it. If we wanted to suggest that people could use it regardless, we’d document it as such.” Read the coverage » (Tradução) (Síntese localizada do trecho oitenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«John Mueller, Google — SEO office-hours, May 2022 (the “construction vehicles” framing) » (Tradução) (Síntese localizada do trecho oitenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “The indexing API is meant for very specific kinds of content. And using it for other kinds of content doesn’t really make sense.”
- “It’s not that it’s illegal or that it will cause problems if you put construction vehicles on your medical website. But it doesn’t really make sense.” Read the coverage » (Tradução) (Síntese localizada do trecho oitenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Note: Mueller’s 2025 and 2022 lines are quoted here via the publications that reproduced them verbatim (StanVentures and iLoveSEO, respectively); the original Bluesky post and office-hours audio are the underlying sources. The Google-docs quotes are exact substrings of the live pages — schema-name fragments in a deep link (JobPosting/BroadcastEvent) can occasionally miss the scroll target; the page itself is the source of record.
» (Tradução) (Síntese localizada do trecho oitenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Indexing API — cheat sheet » (Tradução) (Síntese localizada do trecho oitenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Supported use cases (this is the whole list) » (Tradução) (Síntese localizada do trecho oitenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«| Content type | Structured data | Why it’s eligible |
| --- | --- | --- |
| Job listings | JobPosting | Expire fast; stale jobs need quick removal |
| Livestreams | BroadcastEvent in VideoObject | Only relevant during the broadcast |
| Everything else | — | Not supported. Google calls it misuse. |
» (Tradução) (Síntese localizada do trecho oitenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The two methods » (Tradução) (Síntese localizada do trecho noventa, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«| Method | Use it when | Body field |
| --- | --- | --- |
| URL_UPDATED | A supported page is new or its content changed | "type": "URL_UPDATED" |
| URL_DELETED | Page returns 404/410, or has a noindex tag | "type": "URL_DELETED" |
| GET (status) | Check what you submitted | Returns receipt metadata only |
» (Tradução) (Síntese localizada do trecho noventa e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Batching: combine up to 100 calls into one HTTP request — quota still counts per URL, not per batch. » (Tradução) (Síntese localizada do trecho noventa e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Fast facts » (Tradução) (Síntese localizada do trecho noventa e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Default quota has three parts: 200 publish requests/day, 180 status
(getMetadata) requests/minute, 380 requests/minute across all endpoints.
Quota beyond that needs Google’s approval and can shift with document quality.
- 200 ≠ indexed. A success response confirms submission received, nothing more.
- Multiple accounts to beat the quota = access revoked (per the docs).
- Auth: Google Cloud project + service account + OAuth, scope
https://www.googleapis.com/auth/indexing, service account added as a GSC delegated owner. - Not IndexNow (cross-engine, not Google). Not a replacement for sitemaps or GSC Request Indexing. » (Tradução) (Síntese localizada do trecho noventa e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## A minimal publish call (for supported content only) » (Tradução) (Síntese localizada do trecho noventa e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«This is the shape of a single URL_UPDATED notification. Only use it for pages
with JobPosting or BroadcastEvent structured data — that’s what the API is
sanctioned for. The auth step (exchanging your service-account key for an OAuth
token) is omitted for brevity; in practice you’d use a Google API client library to
get the token.
» (Tradução) (Síntese localizada do trecho noventa e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The request » (Tradução) (Síntese localizada do trecho noventa e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
POST https://indexing.googleapis.com/v3/urlNotifications:publish
Authorization: Bearer <OAUTH_TOKEN>
Content-Type: application/json
{
"url": "https://example.com/jobs/senior-seo-analyst",
"type": "URL_UPDATED"
}«To signal a removal (after the page is gone or noindexed):
» (Tradução) (Síntese localizada do trecho cento e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
{
"url": "https://example.com/jobs/senior-seo-analyst",
"type": "URL_DELETED"
}«Checking status — note the response tells you only that the request was received, not whether anything was indexed: » (Tradução) (Síntese localizada do trecho cento e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fexample.com%2Fjobs%2Fsenior-seo-analyst
Authorization: Bearer <OAUTH_TOKEN>«A 200 here means “we got your submission” — it is not a confirmation that
Google indexed (or removed) the URL.
» (Tradução) (Síntese localizada do trecho cento e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Batching multiple URLs: you can combine up to 100 individual calls into a
single multi-part HTTP request to https://indexing.googleapis.com/batch
instead of firing 100 separate requests — but quota is still counted per URL, so
a 100-call batch still uses 100 requests of your daily allowance. Google’s API
client libraries (Java, Python, JavaScript, PHP, .NET) handle the batch
formatting for you; hand-rolling it is rarely worth it.
» (Tradução) (Síntese localizada do trecho cento e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Indexing API vs Request Indexing vs IndexNow » (Tradução) (Síntese localizada do trecho cento e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The decision framework: figure out what you have and which engine you care about, then pick the channel. » (Tradução) (Síntese localizada do trecho cento e dez, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«| | Google Indexing API | Request Indexing (GSC) | IndexNow |
| --- | --- | --- | --- |
| Run by | Google | Google | Open protocol (Microsoft-initiated) |
| Engines | Google only | Google only | Bing, Yandex, Yep, Seznam, Naver — not Google |
| Content scope | JobPosting / BroadcastEvent only | Any page you own | Any page |
| Interface | REST API + service account/OAuth | Manual, one URL at a time | Simple HTTP request with a key |
| Bulk / automation | Yes (~200/day default) | No (manual, rate-limited) | Yes, easily automated |
| Add + remove | Yes (URL_UPDATED / URL_DELETED) | Recrawl only (removals via Removals tool) | Add / update / remove signaling |
| Confirms indexing? | No — submission receipt only | No — a “request,” not a guarantee | No — notification only |
| OK for general pages? | No | Yes (occasional) | Yes |
» (Tradução) (Síntese localizada do trecho cento e onze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«How to choose » (Tradução) (Síntese localizada do trecho cento e doze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«1. Got job postings or livestreams, and want to automate? → Indexing API. 2. Want to push general pages to Bing/Yandex/Yep? → IndexNow. 3. Want Google to recrawl one normal page, once? → GSC “Request indexing.” 4. Want general pages indexed at scale on Google? → There’s no push button. Sitemaps + internal links + quality. (And patience — see crawl frequency.) » (Tradução) (Síntese localizada do trecho cento e treze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The mental model: the Indexing API sounds like the most powerful of the three because it’s an API, but by content type it’s the narrowest. Power and scope aren’t the same thing. » (Tradução) (Síntese localizada do trecho cento e catorze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Tools » (Tradução) (Síntese localizada do trecho cento e dezessete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Google Cloud Console — create the project, enable the Indexing API, and generate the service-account JSON key you’ll authenticate with.
- Google Search Console — URL Inspection — for normal pages, this is your real tool: check how a URL was crawled/rendered/indexed, and use “Request indexing” for occasional one-offs.
- Google Search Console — Sitemaps & Coverage — submit sitemaps and see what’s indexed, “Discovered – currently not indexed,” or excluded.
- Google API client libraries — the cleanest way to handle the OAuth token-exchange for Indexing API calls (rather than hand-rolling JWT signing).
- IndexNow integration (Ahrefs Site Audit, etc.) — for the cross-engine push channel (Bing and others, not Google). The right tool when you want the programmatic-push behavior people wish the Indexing API gave them for general pages. » (Tradução) (Síntese localizada do trecho cento e dezoito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«A note on the SaaS category (“instant indexing” plugins, RequestIndexing, Indexly, and similar): many monetize sending Indexing API calls for general pages, which is the unsupported use Google warns about. Be skeptical of any tool promising to “index any page fast” via the Indexing API. » (Tradução) (Síntese localizada do trecho cento e dezenove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Resources worth your time » (Tradução) (Síntese localizada do trecho cento e vinte e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«My related writing
- What Is Googlebot & How Does It Work? — where the Indexing API sits among Google’s URL-discovery sources (links, sitemaps, RSS, GSC, and the API).
- How to Fix “Discovered – currently not indexed” — the real “why won’t my pages index” page; the fix is quality and internal links, not a push API.
- The Beginner’s Guide to Technical SEO — where crawling and indexing fit in the bigger picture. » (Tradução) (Síntese localizada do trecho cento e vinte e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«My speaking
- How Search Works (SlideShare) — my walkthrough of discovery, crawling, rendering, indexing, and ranking; the URL-discovery slide tags the Indexing API “limited use cases.” (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.”) » (Tradução) (Síntese localizada do trecho cento e vinte e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«On IndexNow (the cross-engine sibling — note Google does not use it)
- IndexNow integration in Ahrefs Site Audit — the push channel I actually endorse, for Bing/Yandex/Yep rather than Google.
- How to submit pages to IndexNow within Site Audit. » (Tradução) (Síntese localizada do trecho cento e vinte e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«From others
- Google Adds Spam Warning To Indexing API Documentation (Search Engine Journal, Sept 2024) — documents when the spam-detection language went in.
- Google Again Says Stop Using Indexing API For Unsupported Content (Search Engine Roundtable, May 2025) — Barry Schwartz covers Mueller’s Bluesky warning to stop misusing the API.
- Misuse of Indexing API Could Lead to SEO Issues (StanVentures, May 2025) — reproduces Mueller’s May 2025 Bluesky quotes verbatim and explains the access-revocation risk.
- Google Answers Whether Using the Indexing API for a Normal Website Is Good or Bad (iLoveSEO, May 2022) — transcript of Mueller’s “construction vehicles” office-hours framing.
- Google Says Its Indexing API Is Inundated by Bloggers (Optimixed) — covers how off-label use by bloggers and SEOs has overwhelmed the API.
- r/TechSEO — the community for crawl/index debugging. » (Tradução) (Síntese localizada do trecho cento e vinte e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Common issues » (Tradução) (Síntese localizada do trecho cento e vinte e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Problems people actually run into with the Indexing API, in symptom → cause → fix order. » (Tradução) (Síntese localizada do trecho cento e trinta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### “I got a 200 response but the page still isn’t indexed” » (Tradução) (Síntese localizada do trecho cento e trinta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Symptom: The URL_UPDATED call (or the status GET) returns success, but
the page never shows up in search, or Search Console still says “Discovered –
currently not indexed.”
- Cause: A
200only confirms Google received the notification. Per Google’s own docs, the status endpoint “only returns whether you successfully submitted a request” — it doesn’t tell you whether anything was crawled, indexed, or removed. - Fix: Stop treating the API response as an indexing confirmation. Check actual indexing status in the URL Inspection tool in Search Console, or the Coverage report. If the page still isn’t indexed after a reasonable wait, the issue is discovery/quality (see “What to do instead” in the Advanced tab), not the API call. » (Tradução) (Síntese localizada do trecho cento e trinta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### “My Indexing API access got revoked” » (Tradução) (Síntese localizada do trecho cento e trinta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Symptom: Calls that used to work start failing, or Google Cloud/Search Console shows the service account’s access has been pulled.
- Cause: Google states plainly that “any attempts to abuse the Indexing
API, including the use of multiple accounts or other means to exceed usage
quotas, may result in access being revoked.” The most common trigger is
submitting non-
JobPosting/non-BroadcastEventpages, or spinning up extra service accounts to get around the ~200/day default quota. - Fix: Audit what you’ve been submitting — if it’s general content (blog
posts, product pages, anything without
JobPostingorBroadcastEventstructured data), stop. The API is not documented to support it, and Mueller has said directly: “I’d just use it properly, or not use it.” There’s no documented appeal path beyond staying inside the supported use case going forward. » (Tradução) (Síntese localizada do trecho cento e trinta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### “Submissions for normal pages don’t seem to do anything” » (Tradução) (Síntese localizada do trecho cento e trinta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Symptom: You submit URL_UPDATED for a regular article or product page
and nothing changes — no faster crawl, no faster indexing.
- Cause: The content type isn’t one of the two Google supports. The
Indexing API “can only be used to crawl pages with either
JobPostingorBroadcastEventembedded in aVideoObject.” Submissions outside that scope aren’t a documented, supported signal. - Fix: This isn’t a bug to fix — it’s the wrong tool. For general pages, use a sitemap, internal links, and (for occasional one-offs) “Request indexing” in Search Console’s URL Inspection tool instead. » (Tradução) (Síntese localizada do trecho cento e trinta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### “I’m hitting the quota limit” » (Tradução) (Síntese localizada do trecho cento e trinta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Symptom: Submissions start failing or getting throttled — either around 200/day, or in shorter bursts even under 200/day.
- Cause: Google actually enforces three separate default quotas: 200 publish
(
URL_UPDATED/URL_DELETED) requests per day, 180 status (getMetadata) requests per minute, and 380 requests per minute across all endpoints combined. A burst of status checks can throttle you on the per-minute limits well before you hit the daily 200. Going beyond any of these “requires additional approval for usage and resource provisioning,” and Google notes the granted quota “may increase or decrease based on the document quality.” - Fix: If you’re legitimately publishing/updating that many
JobPostingorBroadcastEventpages a day, request a quota increase through Google Cloud — don’t create extra service accounts or projects to work around it, since that’s explicitly named as the kind of abuse that gets access revoked. » (Tradução) (Síntese localizada do trecho cento e trinta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Checklists » (Tradução) (Síntese localizada do trecho cento e quarenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Before you touch the Indexing API » (Tradução) (Síntese localizada do trecho cento e quarenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- [ ] Confirm the pages you want to submit actually carry JobPosting
structured data, or BroadcastEvent embedded in a VideoObject — the only
two content types Google supports.
- If neither applies, stop here. Use sitemaps, internal links, content quality, and occasional GSC “Request indexing” instead — not the API.
- Decide whether your submission volume will realistically fit inside the default ~200/day quota, or whether you’ll need to request an increase. » (Tradução) (Síntese localizada do trecho cento e quarenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Setting it up » (Tradução) (Síntese localizada do trecho cento e quarenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- [ ] Create (or choose) a Google Cloud project and enable the Indexing API in it.
- Create a service account and download its JSON key file; store it securely (never commit it to a public repo).
- Verify your site in Search Console if it isn’t already.
- Add the service account’s email as a delegated site owner in Search Console.
- Confirm you can exchange the service-account key for an OAuth token
with scope
https://www.googleapis.com/auth/indexing(typically via a Google API client library rather than hand-rolled JWT signing). » (Tradução) (Síntese localizada do trecho cento e quarenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Submitting a notification » (Tradução) (Síntese localizada do trecho cento e quarenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- [ ] Pick the right method: URL_UPDATED for a new or changed supported page,
URL_DELETED after the page is gone or noindexed.
- POST the URL with the correct
typefield tohttps://indexing.googleapis.com/v3/urlNotifications:publish. - Treat a
200response as receipt confirmation only — not proof the page was indexed or removed. - Follow up in Search Console (URL Inspection or Coverage) if you need to confirm actual indexing status. » (Tradução) (Síntese localizada do trecho cento e quarenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Staying inside the guidelines » (Tradução) (Síntese localizada do trecho cento e quarenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- [ ] Only submit JobPosting/BroadcastEvent pages through this API — nothing
else.
- Don’t create multiple service accounts or projects just to exceed the quota; request a legitimate increase instead.
- If you’re not sure whether a page qualifies, treat that as “it doesn’t” and use sitemaps/internal links/Request indexing for it instead. » (Tradução) (Síntese localizada do trecho cento e quarenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Quiz » (Tradução) (Síntese localizada do trecho cento e cinquenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Five questions to check what actually stuck about the Indexing API. » (Tradução) (Síntese localizada do trecho cento e cinquenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
Registro de alterações
Atualizado em 18 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.