IndexNow is an open protocol that lets a site notify participating search engines that a URL has changed. It is supported by Bing, Yandex, Seznam and Naver. It is simple, and it is routinely over-interpreted.
How it works
You generate a key and publish it as a text file at your site root. You then POST a list of changed URLs along with that key. The engine fetches your key file to confirm you control the host, and queues the URLs for consideration.
There is no account and no secret. The key is public by design; it proves host control and nothing else.
Response codes
200— submitted successfully202— accepted, key validation still pending400— invalid format403— key not valid, usually a missing or mismatched key file422— the URLs do not belong to the declared host429— rate limited
A 403 after a period of working normally usually means the key file stopped being served — a redeploy removed it, or a CDN began serving a cached 404 for that path.
Three different events
These are constantly conflated, and keeping them separate is the whole discipline:
- Submission — the engine received your request. This is what a
200confirms. - Crawl — the engine fetched the URL. Observable in your access log.
- Indexing — the engine stored it and may serve it in results. Observable only through that engine’s own tools, and only partially.
A successful submission does not promise a crawl. A crawl does not promise indexing. Any claim that submission “gets you indexed” is skipping two steps that are not in your control.
Measuring it honestly
You can measure the interval between a submission and the next crawl of that URL. That interval is a timeline, not a demonstrated effect: crawlers also visit on their own schedule. Establishing that the submission caused the crawl requires a control group of comparable URLs that were not submitted, observed over the same window.