What is IndexNow?
Definition
IndexNow is an open protocol that lets a website notify participating search engines the moment a URL is added, updated or deleted. The site proves ownership with a key file and submits changed URLs in a simple HTTP request, and a notification sent to one engine is shared with the others. Microsoft Bing, Yandex, Naver, Seznam.cz and Yep support it; Google does not participate.
Also known as: IndexNow protocol, IndexNow API

Push instead of waiting to be crawled
Normally a search engine only learns that a page changed when it next crawls it, and when that happens depends on the site's size, popularity and server capacity. IndexNow flips the model: the site announces the change as soon as it happens, so the engine can spend its crawling on URLs that actually changed instead of re-checking pages that did not.
Its most distinctive rule is sharing. Engines that join IndexNow agree to pass every submitted URL on to all other participants automatically, so one submission is enough. The global endpoint api.indexnow.org exists for exactly this purpose.
Who takes part
The indexnow.org homepage lists Microsoft Bing, Naver, Seznam.cz, Yandex and Yep as participating engines, and the site's machine-readable engine list also includes endpoints for the Internet Archive and Amazon's crawler. Google is not on the list; for Google, change signals still come from your XML sitemap, an accurate lastmod value and Search Console. On the platform side, Cloudflare and Wix support IndexNow, as do WordPress plugins such as Yoast, Rank Math, AIOSEO and SEOPress, so many sites can enable it without writing code.
Setting it up
- Generate a key of 8 to 128 characters using letters, digits and dashes.
- Host a UTF-8 text file named
<key>.txtcontaining the key at the root of the host. You can place it in a subfolder and pass its URL askeyLocation, but then the key only covers URLs under that folder, which is why the root is recommended. - Send a GET request for a single URL, or a POST with a JSON body for a batch of up to 10,000 URLs.
POST /indexnow HTTP/1.1
Host: api.indexnow.org
Content-Type: application/json; charset=utf-8
{
"host": "www.example.com",
"key": "3f9c2b7e41d84a0b",
"urlList": [
"https://www.example.com/products/coffee-grinder/",
"https://www.example.com/blog/brewing-guide/"
]
}| Response | Meaning |
|---|---|
| 200 | URLs received |
| 202 | Received; key validation pending |
| 400 | Malformed request |
| 403 | Key invalid or key file not found |
| 422 | URLs don't belong to the host, or the key doesn't match the schema |
| 429 | Too many requests (potential spam) |
A 200 only confirms receipt. The full specification is on the IndexNow documentation page.
What to submit, and what it won't do
Submit URLs that were added, updated or deleted. Reporting removed pages that now return 404 or 410, and old URLs that now redirect, helps engines clean up their index sooner. Do not submit unchanged URLs, resubmit the same URL many times a day without a meaningful change, or push the whole site daily; that defeats the purpose and can earn a 429.
Two limits are worth stating plainly. A submission does not guarantee indexing: each engine still applies its own crawl quota and quality assessment. And IndexNow does not replace a sitemap. The sitemap is the full inventory of URLs you want discovered; IndexNow is a fast announcement of what just changed. Used together they cover both needs.

