IndexNow: Setup, API Example and Real Limits
IndexNow is a free, open protocol that lets a website tell search engines instantly when a URL is added, updated or deleted. You send one request with the URL and a key to any participating endpoint, and it is shared with every engine in the network: Bing, Yandex, Naver, Seznam.cz, Yep and Amazon. Google does not take part.
This page is for site owners and developers deciding whether to set it up and how. It covers the key file, a working API call, the plugins that do it for you, what we run on this site, and what the protocol will never do.
On this page
- What is IndexNow?
- Which search engines use IndexNow?
- How to set up IndexNow in three steps
- The API call, with a real example
- How we run IndexNow on this site
- What IndexNow does not do
- IndexNow plugins and CMS support
- Who should bother with IndexNow?
- Where IndexNow fits in an AI search setup
What is IndexNow?
IndexNow is a push notification for crawlers. Instead of a search engine discovering a change days later through a scheduled crawl, your site tells it the moment the change happens. The IndexNow FAQ puts the problem plainly: crawler discovery “can be slow, taking days or even weeks.”
The protocol is deliberately small. There is a key that proves you own the host, a text file that publishes the key, and an HTTP request that lists changed URLs. Nothing else: no account, no dashboard, no fee.
Microsoft Bing and Yandex announced it in October 2021. When Cloudflare added support through Crawler Hints, it explained the motive in numbers: after a year of watching how often search crawlers revisit pages that had not changed, it estimated that 53% of that crawler traffic was wasted. A push signal is cheaper for everyone than polling.
Bing, the protocol’s main backer, now treats it as a first-class discovery signal. Its webmaster guidelines list IndexNow first among the ways Bing discovers URLs, ahead of XML sitemaps and links, and ask sites to notify it when URLs are added, updated or removed so Copilot and grounding results do not cite outdated pages. Adoption is large: in August 2022 Bing reported more than 16 million websites publishing over 1.2 billion URLs per day and credited the protocol with 7% of all new URLs clicked in its web results, and by December 2024 it counted over 3.5 billion URLs submitted per day.
Which search engines use IndexNow?
Six engines accept submissions today, and a URL sent to any one of them is shared with the rest. The protocol’s FAQ lists these endpoints alongside the global api.indexnow.org address:
| Engine | Endpoint |
|---|---|
| Global (any engine) | https://api.indexnow.org/indexnow |
| Microsoft Bing | https://www.bing.com/indexnow |
| Yandex | https://yandex.com/indexnow |
| Naver | https://searchadvisor.naver.com/indexnow |
| Seznam.cz | https://search.seznam.cz/indexnow |
| Yep | https://indexnow.yep.com/indexnow |
| Amazon | https://indexnow.amazonbot.amazon/indexnow |
The sharing is a condition of membership. The search engine documentation says participating engines “MUST also agree to share URLs received by its /indexnow endpoint with other search engines participating in the protocol in a timely manner.” So you pick one endpoint and stop there. Sending the same URL to all six is wasted effort.
Google is not on the list. That shapes the value: for Google you still depend on sitemaps, internal links and Search Console. The diagram shows how one ping travels.
Scroll the diagram sideways to see all of it.
How to set up IndexNow in three steps
If your CMS or CDN supports the protocol, turn it on and skip this section. If not, manual setup takes three steps, all from the IndexNow documentation:
- Generate a key. The key must be 8 to 128 characters, using only lowercase and uppercase letters, digits and dashes. A UUID or a random hex string works.
- Host the key file. Save a UTF-8 text file named
{your-key}.txtwhose only content is the key, and publish it at your site root, for examplehttps://example.com/7b3877a610d2421e90e3109e54f9cd0b.txt. You can host it elsewhere on the same host and pass its address askeyLocation, but then the key only covers URLs under that folder. The documentation “strongly” recommends the root. - Submit URLs when they change. Send a GET request for one URL or a JSON POST for many. Engines fetch the key file to verify ownership the first time and reuse it until you change the key.
To rotate a key later, replace the file and start submitting with the new key. Engines re-verify automatically on the next submission.
The API call, with a real example
A batch submission is one POST with four fields. This is the shape from the documentation, with placeholder values:
POST /indexnow HTTP/1.1
Host: api.indexnow.org
Content-Type: application/json; charset=utf-8
{
"host": "www.example.com",
"key": "7b3877a610d2421e90e3109e54f9cd0b",
"keyLocation": "https://www.example.com/7b3877a610d2421e90e3109e54f9cd0b.txt",
"urlList": [
"https://www.example.com/url1",
"https://www.example.com/folder/url2"
]
}
One POST can carry up to 10,000 URLs. For a single URL, a GET is enough: https://api.indexnow.org/indexnow?url=https://www.example.com/product.html&key=YOUR_KEY. Read the response code before you assume anything worked:
| Code | Meaning | What to do |
|---|---|---|
| 200 | URL submitted successfully | Nothing. It means “received,” not “indexed.” |
| 202 | Received, key validation pending | Wait; the engine has not fetched your key file yet. |
| 400 | Bad request | Check the JSON and URL encoding. |
| 403 | Key not valid | The key file is missing or does not contain the key. |
| 422 | URLs do not belong to the host, or key does not match the schema | Remove off-host URLs; check the key characters. |
| 429 | Too many requests | You are submitting too often; slow down. |
The figure below annotates each part of the request.
Scroll the diagram sideways to see all of it.
How we run IndexNow on this site
This site is a static Astro build, so there is no CMS plugin to switch on. We use a short Node script, scripts/submit-indexnow.mjs, run by hand after each deploy. It does four things in order:
- Reads the live sitemap index, not the local build folder, so it submits what is actually deployed. Astro’s sitemap integration writes
sitemap-index.xml, and the script follows it to every URL. - Refuses off-host URLs. If any URL is not on
ambeltek.com, it stops before sending. That prevents the 422 error and avoids submitting a staging address by mistake. - Checks the key file is live and contains the exact key. If the file is missing or wrong, the script exits and tells you to deploy it first. That is the 403 case caught locally.
- Posts the batch to
api.indexnow.orgwithhost,key,keyLocationandurlList, prints the status, and treats 200 and 202 as success.
Every run is logged in submissions/SUBMISSION-LOG.md with the date, URL count and response. The log exists so a later audit can tell “submitted” from “staged.” The chart shows the four runs logged so far.
Scroll the diagram sideways to see all of it.
An honest caveat about our own setup: it submits the whole sitemap each time, which suits a site our size: the latest build’s sitemap lists 189 pages. Bing’s guidelines prefer “streaming submissions” of individual changes over batches, and the protocol’s FAQ says every submitted URL counts toward your crawl quota. On a site with thousands of pages, submit only what changed. The script’s details are specific to how this site is built, which we describe in our Astro SEO write-up.
What IndexNow does not do
The protocol speeds up discovery. It does not change what a search engine thinks of the page. The FAQ is explicit: “Submitting a URL does not guarantee immediate indexing.” After a ping, each engine still checks crawl quota, scheduling and quality before it fetches anything. Four things people expect and do not get:
- Google coverage. Google is not a participant. Nothing you submit this way reaches it.
- Rankings. A thin page crawled faster is still a thin page. Bing’s guidelines warn that “thin, ad heavy, or affiliate-only URLs may lose ranking eligibility.”
- Free crawl capacity. Submitted URLs count toward your crawl quota. Pinging unchanged pages spends it for nothing. Our crawl budget guide explains why that matters on larger sites.
- Unlimited throughput. Each engine sets its own daily threshold per site and does not publish it. A 429 means you hit it.
For user-generated content, the FAQ suggests submitting incrementally: each of the first 20 reviews on a page, then every fifth up to 100, then every tenth up to 1,000. That pattern is a good model for any high-churn page.
IndexNow plugins and CMS support
Most sites never need to write code for this. Bing’s IndexNow getting started page lists platforms where it is built in (Wix, Duda, GoDaddy, XenForo) and plugins for the rest. The main options:
| Platform | How to enable |
|---|---|
| WordPress | The official IndexNow plugin, or the built-in setting in Yoast, Rank Math, AIOSEO or SEOPress |
| Shopify | Third-party app (InstaIndex is listed by Bing) |
| Wix, Duda, GoDaddy | Built in; nothing to do |
| Drupal, Joomla, TYPO3, Umbraco | Community modules and extensions |
| Cloudflare | Turn on Crawler Hints in your account |
| Static or custom sites | A deploy script like ours, or a CMS webhook |
The official WordPress plugin is maintained by Microsoft, lists more than 100,000 active installations, generates and hosts the key for you, and checks the rendered HTML for a noindex robots tag before submitting, so pages you have excluded from search are not pushed. SEO plugins that bundle the feature work too; just do not run two of them at once.
Pick one mechanism. Running a plugin and a CDN integration together sends duplicate pings for the same change. If you are on WordPress, our WordPress SEO guide covers where this fits among the other settings.
Who should bother with IndexNow?
Almost every site should switch it on when it costs one click, and only some sites should spend developer time on it. A quick way to decide:
- Worth building: sites that change often and where staleness costs money or trust. Ecommerce with price and stock changes, job boards, event listings, news, marketplaces with user reviews, and any business whose prices or hours get quoted by AI assistants.
- Worth a toggle, not a project: brochure sites and blogs that publish a few times a month. If your CMS or CDN has it, enable it. If not, a sitemap that updates on publish is enough.
- Not worth it: sites whose audience is almost entirely reached through Google, with no interest in Bing, Copilot or the smaller engines. The protocol does nothing for Google.
One more consideration pushes small sites toward yes. A new domain can sit unindexed in Bing for a long time; our own first submission, 63 pages on September 1, 2026, was logged while Bing had 0 pages of the site indexed. A push signal is the cheapest way to get a new site in front of the crawler at all.
Where IndexNow fits in an AI search setup
Instant indexing matters more for AI answers than for classic rankings, because the cost of a stale page is higher. When Copilot or another assistant grounds an answer on an outdated version of your pricing page, the error gets repeated with your name on it. Bing’s guidelines tie IndexNow directly to reducing “outdated or incorrect URL references in Copilot responses and grounding results.”
A sensible order of work:
- Verify your site in Bing Webmaster Tools, where you can confirm IndexNow submissions are arriving.
- Enable it through your CMS, CDN or a deploy script. Submit changed URLs only.
- Keep the XML sitemap accurate, since Google still depends on it.
- Watch the AI Performance report in Bing to see which updated pages start earning citations.
This is one small part of being findable and current in AI answers. The rest, from Bing SEO to how assistants pick sources, is what our GEO service works on.
Frequently asked questions
What does IndexNow do?
IndexNow lets a website tell search engines the moment a URL is added, updated or deleted, instead of waiting for a crawler to notice. You send the URL and a key to one participating endpoint, and the notification is shared with every other engine in the protocol.
Is IndexNow free?
Yes. It is a free, open protocol. There is no account, fee or API quota you pay for. Each participating search engine sets its own daily submission limits per site, and those limits are not published.
Does Google support IndexNow?
No. Google is not among the participating engines listed on indexnow.org. For Google you still rely on XML sitemaps, internal links and the URL Inspection tool in Search Console.
How to use Bing IndexNow?
Generate a key, host it as a UTF-8 text file named after the key at your site root, then send changed URLs to https://www.bing.com/indexnow or the global api.indexnow.org endpoint. If your CMS or CDN already supports the protocol, you only need to switch it on.
Does IndexNow guarantee indexing?
No. A 200 response only means the engine received your URL. Each engine still decides whether to crawl and index it based on its crawl quota, scheduling and quality checks. The protocol makes discovery faster; it does not make weak pages rank.
Does IndexNow use up crawl budget?
Yes. The official FAQ says every submitted URL counts toward your site's crawl quota. Submit real changes only, not every page on every deploy, or you spend crawl capacity on pages that did not change.