Contact

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

Flow of changed URLs sent in one IndexNow ping, verified by a key file and shared with several search engines

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

  1. Generate a key of 8 to 128 characters using letters, digits and dashes.
  2. Host a UTF-8 text file named <key>.txt containing the key at the root of the host. You can place it in a subfolder and pass its URL as keyLocation, but then the key only covers URLs under that folder, which is why the root is recommended.
  3. 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/"
  ]
}
ResponseMeaning
200URLs received
202Received; key validation pending
400Malformed request
403Key invalid or key file not found
422URLs don't belong to the host, or the key doesn't match the schema
429Too 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.

Related terms

← Back to the glossary