What is IndexNow and which engines use it?
IndexNow is an open protocol for telling search engines that a URL has been added, updated or deleted. You POST a JSON list of URLs plus a key that you host as a text file on your own domain, and participating engines share the submission with each other. The participants today are Microsoft Bing, Yandex, Seznam, Naver and Yep. Google does not participate.
Last updated 2026-07-28
What exactly is IndexNow?
It is a single unauthenticated HTTP POST. There is no account, no OAuth, and no dashboard — ownership is proven by hosting a key file on the domain you are submitting for, which means the whole protocol fits in about fifteen lines of code.
POST https://api.indexnow.org/indexnow
Content-Type: application/json; charset=utf-8
{
"host": "example.com",
"key": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"keyLocation": "https://example.com/a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6.txt",
"urlList": [
"https://example.com/new-page",
"https://example.com/updated-page"
]
}You can post to the shared endpoint at api.indexnow.org or to an individual engine’s endpoint such as bing.com/indexnow. It does not matter much which: participating engines forward submissions to one another, so one push reaches the network.
The protocol is deliberately about change. It is for URLs that were just created, just updated, or just removed — not for periodically re-announcing your whole site.
Which search engines actually use IndexNow?
Five: Microsoft Bing, Yandex, Seznam, Naver and Yep. Bing and Yandex were the original implementers in 2021; Seznam (the largest Czech engine), Naver (the largest Korean engine) and the privacy-focused Yep joined later. Google has tested IndexNow but has never adopted it.
| Engine | Supports IndexNow | Notes |
|---|---|---|
| Microsoft Bing | Yes | Original implementer; also feeds a number of downstream products |
| Yandex | Yes | Original implementer |
| Seznam | Yes | Dominant in the Czech Republic |
| Naver | Yes | Dominant in South Korea |
| Yep | Yes | Privacy-focused; runs its own crawl |
| No | Ran tests from 2021; never adopted. Use sitemaps and Search Console instead |
How does the key file prove ownership?
You generate a key of 8 to 128 hexadecimal characters, save it as a plain text file at the root of your site named after the key itself, and the file contains nothing but the key. An engine fetches that file to confirm that whoever is submitting controls the domain.
- 1Generate a key — any 8–128 character string of letters, numbers and dashes. A 32-character hex string is the usual choice.
- 2Save it as
<key>.txtcontaining exactly the key and nothing else — no BOM, no trailing newline drama, no HTML. - 3Upload it to your site root, so it resolves at
https://example.com/<key>.txt. - 4Include
keyLocationin your submissions if the file is anywhere other than the root.
The key location must be on the same host as the URLs you are submitting. That single rule is what prevents someone submitting URLs for a domain they do not control.
How many URLs can I submit, and how often?
The specification allows up to 10,000 URLs in a single POST, and Bing’s guidance is on the order of 10,000 URLs per day per site. That is roughly fifty times the Google Indexing API’s daily allowance, and there is no page-type restriction.
| IndexNow | Google Indexing API | |
|---|---|---|
| Engines reached | Bing, Yandex, Seznam, Naver, Yep | |
| Daily volume | ~10,000 per site (guidance) | 200 per Cloud project |
| URLs per request | Up to 10,000 | 1 |
| Page types allowed | Any | JobPosting, BroadcastEvent |
| Authentication | Key file on your domain | OAuth + Search Console ownership |
| Cost | Free | Free |
The real constraint is not volume, it is honesty about change. Submitting URLs that have not actually changed is the documented way to get your submissions deprioritised. Engines are explicit that IndexNow is a signal about new and updated content, and a site that pushes its entire sitemap every night is providing no signal at all.
What do the IndexNow response codes mean?
A 200 means the submission was accepted. A 202 also means accepted — but with key validation still pending, which is normal on your first submission. Everything else tells you something specific is wrong.
| Code | Meaning | What to do |
|---|---|---|
200 | Accepted | Nothing |
202 | Accepted, key validation pending | Normal on first use; confirm the key file is reachable |
400 | Bad request | Malformed JSON or invalid URL format |
403 | Key not valid | Key file missing, wrong contents, or not fetchable |
422 | URLs do not match the host or key | You are submitting URLs from a different domain than the key covers |
429 | Too many requests | Back off; you are submitting too aggressively |
A 403 or 422 is a configuration problem, never a problem with your pages — worth separating in your head, because the fix is on your server, not in your content.
How do I actually start using IndexNow?
Three routes: your CDN or CMS may do it for you (Cloudflare offers a toggle, and Rank Math and Yoast submit on publish for WordPress), you can script the POST yourself, or you can use a tool that watches your sitemap and submits changes automatically.
If your site is on WordPress and your publishing volume is modest, the free plugin route is genuinely the right answer and you can stop reading here. Scripting it yourself is also very reasonable — it is one HTTP request.
Where a dedicated tool earns its place is when you are on a stack with no plugin (Next.js, Astro, Hugo, Framer, a static generator), when you run several sites, or when you want Google’s Indexing API covered in the same pass. That is the gap Indexa fills — $19 once, no subscription.
For the record, here is exactly what Indexa does on the IndexNow side, so you can judge whether it matches what you would build yourself:
- Generates a 32-character hex key and helps you place the
<key>.txtfile; it does not host the file for you, because hosting it on your own domain is the entire point of the ownership proof. - Verifies the key file is reachable and contains exactly the key before submitting, and re-checks whenever you change your site URL or regenerate the key.
- Posts to the shared
api.indexnow.orgendpoint in batches of 1,000 URLs — deliberately below the 10,000 the spec allows, so a single rejected batch affects fewer URLs. - Treats both
200and202as success, and distinguishes configuration errors (400/403/422) from transient ones so it does not mark your pages as broken when the key file is the problem. - Skips URLs that are not on the same host as the key, rather than submitting them and collecting a
422. - Submits only URLs that are new or whose sitemap
lastmodactually changed.
Frequently asked questions
Does Google support IndexNow?
No. Google began testing IndexNow in 2021 but has never adopted it. For Google, discovery still runs through sitemaps, internal and external links, and Search Console.
Is IndexNow free?
Yes — the protocol is open and no participating engine charges for it. There is no account to create; hosting a small text file on your own domain is the only requirement.
Do I need a Bing Webmaster Tools account to use IndexNow?
No. The key file on your domain is the ownership proof, so submissions work with no account anywhere. A Bing Webmaster Tools account is still useful for seeing what Bing did with them.
Will IndexNow get my pages indexed?
It reliably speeds up discovery on participating engines — often from days to minutes. Whether a discovered page is then crawled and indexed remains each engine’s decision, exactly as with Google. No submission protocol guarantees indexing.
Stop hand-submitting URLs
Indexa reads your sitemaps every day and submits what changed — to Google’s Indexing API with your own Google Cloud project, and to Bing, Yandex, Seznam, Naver and Yep over IndexNow. It runs on your own computer; your credentials never leave it.
Submitting a URL is not a guarantee that it will be indexed — that decision always rests with each search engine. What a submission tool controls is the notification half: making sure every engine knows about every page the day it is published or changed.