IndexNow (instant URL submission protocol)
IndexNow is an open protocol that lets a site tell participating search engines that a URL was added, updated or deleted, with a single HTTP request authenticated by a key file on your host. Submissions are shared between all participating engines, which include Bing, Yandex, Naver, Seznam.cz and Yep. Google does not participate; for Google, sitemaps and normal crawling remain the way in.
How it looks
A single URL is submitted with a GET request to any participating endpoint, as described in the IndexNow documentation:
https://api.indexnow.org/indexnow?url=https://www.example.com/product.html&key=your-key
https://www.bing.com/indexnow?url=https://www.example.com/product.html&key=your-key
A batch goes as a POST with a JSON body to /indexnow on the chosen host:
POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
{"host": "www.example.com", "key": "your-key", "urlList": ["https://www.example.com/url1", "https://www.example.com/url2"]}
With curl:
curl -X POST "https://api.indexnow.org/indexnow" -H "Content-Type: application/json" -d '{"host":"www.example.com","key":"your-key","urlList":["https://www.example.com/url1"]}'
The key file
Ownership is proven with a text file on your own host. Per the documentation, the key must be 8 to 128 hexadecimal characters (a-z, A-Z, 0-9 and dashes), and you host a UTF-8 text file named {your-key}.txt containing the key at the root of the site, for example https://www.example.com/your-key.txt. The engine fetches that file once to verify the host and reuses the key until you change it. A key file can also live elsewhere on the host, passed as keyLocation, but then it only covers URLs under that path.
The response codes, from the same documentation:
| Code | Meaning |
|---|---|
| 200 | URL submitted successfully |
| 202 | URL received, key validation pending (common on the first request) |
| 400 | Invalid format |
| 403 | Key not valid: file not found or key not in the file |
| 422 | URLs do not belong to the host, or the key does not match the schema |
| 429 | Too many requests, treated as potential spam |
A 200 or 202 only means the engine received the URL. It is not a promise of crawling or indexing.
Which engines participate
The IndexNow FAQ lists the participating endpoints: a global endpoint at api.indexnow.org, Bing, Naver, Seznam.cz, Yandex, Yep and an Amazon endpoint, and notes that a submission to any one of them is shared across all IndexNow-enabled engines; the documentation makes that sharing a requirement for joining. Bing's own IndexNow page describes it as a free, open protocol with built-in support in many CMSs and CDNs.
Google is not on that list. Google's page on asking Google to recrawl does not mention IndexNow; the documented routes are the URL Inspection tool for a few URLs and sitemaps for many. A claim that IndexNow speeds up Google indexing has no basis in Google's documentation.
How it differs from sitemaps and the Indexing API
| Mechanism | Scope | Who reads it |
|---|---|---|
| IndexNow | Individual URLs that just changed; up to 10,000 per request | Bing, Yandex, Naver, Seznam.cz, Yep |
| XML sitemap | Complete inventory of indexable URLs with lastmod | Google, Bing and other engines |
| Google Indexing API | Only pages with JobPosting or BroadcastEvent structured data |
The IndexNow FAQ says the protocol is for recent additions, updates and deletions, not for submitting every URL at once (a full-site submission is acceptable after a migration), and recommends using sitemaps alongside it for complete, long-term discovery. How sitemaps work is in the entry on the XML sitemap.
Google's Indexing API quickstart states that the API can only be used to crawl pages with either JobPosting or BroadcastEvent embedded in a VideoObject. It is not a general-purpose submission channel.
When it helps
- Shops and classifieds where prices, stock and listings change daily and Bing traffic matters.
- News and publishing sites that need a story in Bing or Yandex within minutes.
- Markets where Yandex, Naver or Seznam.cz have a meaningful share.
- Deletions and redirects: the FAQ says submitting removed or redirected URLs helps engines reflect the new structure faster.
It does not help with Google. If your problem is pages waiting in Discovered - currently not indexed, IndexNow changes nothing; that is a sitemap, internal linking, server response and content quality question.
Common mistakes
| Mistake | Effect |
|---|---|
| Expecting faster Google indexing | None; Google does not participate |
| Key file returning 404 or served as HTML | Submissions fail with 403 |
| Submitting the whole site every day | Risk of 429 and the signal loses meaning |
| Submitting URLs from a different host than the key covers | 422; use a root key file per host |
| Firing a submission on every save, including drafts | Noise; the FAQ recommends detecting real changes |
| Dropping the sitemap after adopting IndexNow | Engines lose the full inventory; Google loses its main input |
How to check it
Confirm the key file first:
curl -s https://www.example.com/your-key.txt
It must return 200 and print only the key. Then submit a URL and read the status code:
curl -s -o /dev/null -w "%{http_code}\n" "https://api.indexnow.org/indexnow?url=https://www.example.com/page/&key=your-key"
Expect 200 or 202. There is nothing to check in Google Search Console, because Google does not receive the submissions. Before submitting, make sure the URL is indexable at all, meaning it returns 200 and carries no blocking directive from the meta robots tag: the indexability checker reports status code, noindex, canonical and robots.txt for up to 10 URLs.
Why monitor it
IndexRise does not send or monitor IndexNow submissions yet. The nearest checks are the ones that make a submission worth sending: the nightly status code of each monitored URL, noindex and canonical changes, and sitemap health. If your IndexNow integration fires on content changes, the events in IndexRise show what those changes did to indexability the next morning.
Frequently asked questions
Does Google support IndexNow?
No. Google is not among the participating engines listed on indexnow.org and Google's own documentation does not mention the protocol. Submitting to IndexNow has no effect on Google crawling or indexing.
Which search engines use IndexNow?
The IndexNow site lists endpoints for Bing, Naver, Seznam.cz, Yandex, Yep and Amazon, plus a global endpoint at api.indexnow.org. A submission to any one of them is shared with the others.
Does a 200 response mean the page is indexed?
No. The protocol documentation says a 200 only confirms that the engine received the URL. Whether it is crawled and indexed is still the engine's decision.
How many URLs can I send at once?
Up to 10,000 per POST request, according to the IndexNow documentation. For one URL a simple GET request with url and key parameters is enough.
Do I still need a sitemap if I use IndexNow?
Yes. The IndexNow FAQ says to use both: IndexNow for recent additions, updates and deletions, sitemaps for the complete inventory and long-term discovery.
Is IndexNow the same as Google's Indexing API?
No. Google's Indexing API is limited to pages with JobPosting or BroadcastEvent structured data and only talks to Google. IndexNow is for any URL and talks to Bing, Yandex and the other participants.
Updated: 2026-10-20