/

/

IndexNow

IndexNow

IndexNow

IndexNow is an open protocol that lets a website notify search engines the moment a URL is added, updated, or deleted, instead of waiting to be crawled.

Category

SEO

Also known as

IndexNow protocol; index now

IndexNow is an open protocol that lets a website tell search engines the moment a URL is added, updated, or deleted, instead of waiting days or weeks to be recrawled. One submission to any participating engine is shared with all of them. Per the official registry (indexnow.org/searchengines.json, checked July 2026), the participants are Bing, Yandex, Seznam, Naver, Yep, the Internet Archive, and Amazon's crawler. Google does not participate.

How it works

You prove ownership by hosting a key file (8 to 128 hexadecimal characters) at your site root, then send URLs by GET for a single URL or POST for a batch of up to 10,000. Submitting to one participating endpoint propagates to all of them, so one clean request per run is enough.

The response codes

Per the official protocol documentation (indexnow.org, checked July 2026):

Code

Meaning

What it tells you

200

OK

Submission received. Received, not indexed: engines still decide on crawling.

202

Accepted

URLs received, key validation still pending. Normal on a fresh setup.

400

Bad request

Malformed request. Check the JSON shape and URL encoding.

403

Forbidden

Key problem: file not found, or the key is not in the file.

422

Unprocessable Entity

URLs do not belong to the host, or the key does not match the protocol schema.

429

Too Many Requests

Rate limited as potential spam. Often IP reputation, not your volume.

Two codes deserve special respect. A 200 only means the engine received the list, nothing more. And a 429 can hit you at one request per day if you submit from a shared IP pool, because the limit tracks the IP's total behavior, not yours.

In practice

asteroad.com runs IndexNow on every publish. The original Cloudflare Worker setup drew daily 429s from shared egress IPs and silently dropped ten days of URLs before the alerting caught it; the production setup now submits from GitHub Actions with a pending queue that retries failures and a second, authenticated channel through the Bing URL Submission API. If you are setting this up, start with the GitHub Actions manual and treat any non-200 as a signal to check, not a reason to resubmit blindly.