Skip to content
← All guides
IndexNowIndexingBing

IndexNow explained: how it works, who supports it, and the Google question

IndexNow lets you ping Bing, Yandex, Naver, Seznam.cz, Yep and Amazon when a URL changes. Setup, GET and POST examples, response codes, and what is known about Google.

Bulk Indexer · September 30, 2026 · 12 min read

IndexNow is a free, open-source protocol that lets a website tell participating search engines the moment a URL is added, updated or deleted, instead of waiting for a crawler to notice. Microsoft Bing and Yandex announced it on October 18, 2021. The official FAQ now lists six search engines plus a shared global endpoint, and a single POST request can carry up to 10,000 URLs.

Most people arrive here with one question: does it work for Google? Google is not on the participant list. A Google spokesperson said in November 2021 that the company would test the protocol, and we found no announcement since then that Google adopted it. The sourcing is below, because most articles get this part wrong in one direction or the other.

What is IndexNow?

IndexNow is a ping protocol: you send a search engine a URL plus a key that proves you control the site, and the engine treats that as a signal the page changed. Bing describes it as free and open source. The launch post on the Bing Webmaster blog framed the goal as efficiency. If a site says which URLs changed, the engine can crawl those first and skip exploratory crawls that only check whether anything is new.

An IndexNow ping carries no page content and has no say over ranking. It tells the engine where to look. The engine decides whether to crawl, when, and whether the page earns a place in the index.

Who created IndexNow, and when?

Microsoft Bing and Yandex created IndexNow, and Bing announced it on its Webmaster blog on October 18, 2021. Since then the IndexNow FAQ has added endpoints for Naver, Seznam.cz, Yep and Amazon. The official pages don't say when each engine joined.

IndexNow is shared plumbing. According to the IndexNow documentation and FAQ, a URL you submit to one participating engine is shared with all the other participating engines. You ping once, not once per engine.

How does IndexNow work?

IndexNow works in five steps, and only the first two involve any setup:

  1. You generate a key: 8 to 128 characters of letters, numbers and dashes.
  2. You host that key in a UTF-8 text file on your domain, normally at the root, named after the key and containing the key.
  3. When a URL is added, updated or deleted, you send it to any participating endpoint: a GET request for one URL, or a POST request with a JSON body for up to 10,000.
  4. The engine fetches your key file to confirm you control the host. On your very first request you may get a 202 response while that check runs.
  5. The engine shares the submission with the other participants, and each one decides whether and when to crawl.

A sitemap is pull: you publish a list and the crawler reads it on its own schedule. IndexNow is push: you tell the engine the instant something changes. For a news site or a store with fast-moving inventory, that difference is the whole point. For a ten-page brochure site that changes twice a year, it barely registers, though the setup is so light that we'd still switch it on.

Which search engines support IndexNow?

Six search engines have IndexNow endpoints listed in the official FAQ: Bing, Yandex, Naver, Seznam.cz, Yep and Amazon. There is also a global endpoint run by IndexNow itself. The hosts are:

  • IndexNow global: api.indexnow.org
  • Amazon: indexnow.amazonbot.amazon
  • Bing: www.bing.com
  • Naver: searchadvisor.naver.com
  • Seznam.cz: search.seznam.cz
  • Yandex: yandex.com
  • Yep: indexnow.yep.com

Since submissions are shared, it makes little difference which endpoint you use; the examples below use the global one. And if an engine isn't on the list, don't assume it receives your pings. No primary source we read confirms participation, or refusal, for any engine outside it.

Does Google support IndexNow?

Google is not a listed IndexNow participant, and we found no announcement that it has adopted the protocol; the most recent Google statement on IndexNow we could verify is from November 9, 2021, when Google said it would test it.

The public record as of September 2026 has four parts.

  • The official pages are silent. The IndexNow documentation, the IndexNow FAQ, bing.com/indexnow and Bing's get-started guide never mention Google. That is silence, not a refusal. Google is absent from the participant list, and that's all the pages say.
  • Google said it would test. On November 9, 2021, a Google spokesperson told Search Engine Land that Google was encouraged by efforts to make crawling more efficient and that “we will be testing the potential benefits of this protocol.” The statement came wrapped in comments about sustainability. Sources: Barry Schwartz's Search Engine Land report and Roger Montti's Search Engine Journal report, both published that day.
  • The same report adds context. Search Engine Land wrote that at launch it had been told Google was asked to participate and did not. It also asked Google whether a google.com/IndexNow endpoint would work; the article records no answer.
  • Nothing since. Our searches through September 2026 turned up no Google announcement adopting or rejecting IndexNow. Wikipedia's IndexNow entry, a secondary source, says Google had not officially adopted it as of 2022.

Three things remain unknown outside Google: whether the 2021 test ran, what it found, and where Google stands today. So be skeptical of any article, whichever way it leans, that says Google “will never” support IndexNow or that it “now” does. Ask for the Google source. We couldn't find one for either claim.

The practical call is simpler. Plan as if IndexNow pings do not reach Google. For Google, the documented routes are an XML sitemap in Search Console (covered in how to submit a website to Google) and the URL Inspection tool for individual pages (covered in how to submit a URL to Google). Google does run its own push channel, the Indexing API, but its quickstart limits it to job posting and livestream video pages. Our Google Indexing API guide covers it.

How do you submit URLs with IndexNow?

You submit URLs to IndexNow with an HTTP GET request for a single URL or an HTTP POST request with a JSON body for up to 10,000 URLs, after hosting a key file that proves you control the host.

Create and host your key

Your IndexNow key must be 8 to 128 characters long, using only lowercase letters, uppercase letters, numbers and dashes. One quirk: the documentation also calls these “hexadecimal characters” in the same breath as allowing any letter. A random hexadecimal string, like the example key below, satisfies both readings, so use one.

Save the key in a UTF-8 text file named after the key, containing the key, at the root of your site:

https://www.example.com/f7d77736477b4ed99b7d727df9b74867.txt

File contents:
f7d77736477b4ed99b7d727df9b74867

You can host the file somewhere other than the root, but then you must pass its location in every request with keyLocation, and the location limits what the key covers. A key file at http://example.com/catalog/key12457EDd.txt authorizes URLs under /catalog/ only, not /help/ or anything else. Unless your CMS forces it, stick with the root.

Submit one URL with GET

The documented format is https://<searchengine>/indexnow?url=url-changed&key=your-key. The documentation says the URL must be URL-escaped and encoded per RFC 3986, so encode it:

curl -i "https://api.indexnow.org/indexnow?url=https%3A%2F%2Fwww.example.com%2Fproduct.html&key=f7d77736477b4ed99b7d727df9b74867"

If your key file isn't at the root, add the location:

curl -i "https://api.indexnow.org/indexnow?url=https%3A%2F%2Fwww.example.com%2Fcatalog%2Fitem.html&key=f7d77736477b4ed99b7d727df9b74867&keyLocation=https%3A%2F%2Fwww.example.com%2Fcatalog%2Ff7d77736477b4ed99b7d727df9b74867.txt"

Submit up to 10,000 URLs with POST

For anything more than a handful, POST a JSON body. This is the request shape from the IndexNow documentation:

POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: api.indexnow.org

{
  "host": "www.example.com",
  "key": "f7d77736477b4ed99b7d727df9b74867",
  "keyLocation": "https://www.example.com/f7d77736477b4ed99b7d727df9b74867.txt",
  "urlList": [
    "https://www.example.com/url1",
    "https://www.example.com/folder/url2",
    "https://www.example.com/url3"
  ]
}

And the same request with curl:

curl -i -X POST "https://api.indexnow.org/indexnow" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d '{
    "host": "www.example.com",
    "key": "f7d77736477b4ed99b7d727df9b74867",
    "keyLocation": "https://www.example.com/f7d77736477b4ed99b7d727df9b74867.txt",
    "urlList": [
      "https://www.example.com/url1",
      "https://www.example.com/folder/url2",
      "https://www.example.com/url3"
    ]
  }'

Three rules to respect. Every URL in urlList must belong to the host you declared, though the documentation allows mixing http and https URLs. (The keyLocation field is only required when the key file isn't at the root; Bing's example includes it anyway.) Keep each request at or under 10,000 URLs, because the FAQ warns that bigger payloads may fail or return a 422. And don't hammer the same URL: the FAQ says to wait at least 5 minutes between updates before resubmitting, and, in its answer on 429 errors, at least 10 minutes unless the page changed significantly. The FAQ gives both figures in different answers, so treat 10 minutes as the safe floor.

What do the IndexNow response codes mean?

An IndexNow response code tells you whether the engine received and accepted your request, not whether the page will be indexed. Per the documentation, a 200 only means the URL was received.

CodeMeaning (per the IndexNow documentation)What to do
200OK: URL submitted successfullyNothing. Receipt confirmed, indexing still up to the engine.
202Accepted: URL received, key validation pendingNormal on a first request. Make sure the key file loads in a browser.
400Bad request: invalid formatCheck URL encoding on GET, or JSON syntax on POST.
403Forbidden: key not valid (file not found, or found without the key in it)Fetch the key file yourself and compare it with the key you sent.
422Unprocessable Entity: URLs don't belong to the host, or the key doesn't match the schemaRemove off-host URLs, check key length and characters, split lists over 10,000.
429Too Many Requests: potential spamSlow down. Wait at least 10 minutes before resubmitting.

Bing's get-started page lists the same codes minus 202. Treat the indexnow.org documentation as the fuller reference.

Does an IndexNow submission guarantee indexing?

No. The IndexNow FAQ says submitting a URL does not guarantee immediate indexing, and Bing's get-started guide says IndexNow does not guarantee pages will be crawled or indexed at all. Neither source makes any claim about ranking.

There is also a cost that's easy to miss. Per both the FAQ and Bing, every URL you submit counts toward your site's crawl quota. The upside, in their framing, is that you are telling the engine which URLs you consider important. The downside is obvious: ping junk and you spend quota on junk.

So clean the list before you send it. Resolve redirects and submit the final URL. Drop anything that returns a 404, carries a noindex tag or header, or is blocked in robots.txt. If you'd rather not script those checks, Bulk Indexer runs the same ones on every URL you give it, and URLs that fail aren't charged (how it works has the details).

To confirm receipt on the Bing side, Bing's guide points you to Bing Webmaster Tools, which shows whether your URLs were received. For how quickly a crawl follows a ping, your own server logs are the only honest answer, so log the timestamp of each ping and compare it with the first Bingbot request for that URL.

How do you add IndexNow to WordPress, Shopify or Cloudflare?

On most major platforms you add IndexNow with a plugin, a built-in setting or a CDN toggle, without touching a key file. Bing's get-started guide and the IndexNow FAQ list these:

  • WordPress: Microsoft's official IndexNow plugin, or the IndexNow support in Yoast, Rank Math, AIOSEO and SEOPress.
  • Shopify: native support, plus apps such as InstaIndex.
  • Wix Studio, Duda, GoDaddy, XenForo and Milestone: native support with no setup, per Bing.
  • Joomla!: extensions such as Aimy Sitemap PRO and JSitemap.
  • Bitrix24: ReIndex and TurboIndex.
  • Drupal, PrestaShop, MODX, Shopware, OpenCart, Typo3 and Umbraco: named extensions on Bing's page.
  • Cloudflare: the feature is called Crawler Hints, and you enable it in your Cloudflare dashboard.

Our advice is to pick one integration per site. If your SEO plugin and your CDN both send pings for the same URLs, you get duplicate requests and a harder time working out which one returned the 429. Hand-rolled GET and POST calls make sense for custom stacks and headless builds, and not much else.

How does IndexNow compare with sitemaps and Google's tools?

IndexNow is a push signal to the engines on its participant list, while an XML sitemap, Google's URL Inspection tool and Google's Indexing API are the routes Google documents for its own crawler. They don't compete. Most sites should run IndexNow and a sitemap side by side.

MethodWho receives itWhat it coversVolumeGuarantees indexing?
IndexNowBing, Yandex, Naver, Seznam.cz, Yep, Amazon (Google not listed)Any URL on a host where your key file livesUp to 10,000 URLs per POST; per-site daily limits not disclosedNo
XML sitemapGoogle, submitted in Search ConsoleEvery URL you list50,000 URLs or 50MB uncompressed per sitemapNo. Google calls a sitemap “merely a hint”
Google URL InspectionGoogleIndividual URLs on a property where you are an owner or full userA quota applies; Google's recrawl page doesn't state the numberNo. Google says a crawl request doesn't guarantee inclusion, and crawling can take a few days to a few weeks
Google Indexing APIGoogleOnly pages with JobPosting, or BroadcastEvent embedded in a VideoObjectDefault quota of 200 for onboarding and testingNot promised in Google's quickstart

Google sources: Google's sitemap documentation, Ask Google to recrawl your URLs and the Indexing API quickstart. Google's recrawl page adds that asking for the same URL repeatedly won't get it crawled any faster, the Google-side cousin of IndexNow's resubmission spacing.

The IndexNow volume cell says “not disclosed” for a reason. The FAQ says exact limits aren't published because each engine sets its own daily threshold per site. Any specific number you read elsewhere is someone's observation.

Can you use IndexNow for backlinks or pages you don't own?

No. IndexNow only accepts URLs on the host where your key file lives, and the documentation says URLs that don't belong to the host get a 422. You can't place a key file on a site you don't control, so a backlink on someone else's blog, forum or directory is outside what IndexNow can submit for you. Getting third-party pages discovered is a different problem, and our guide on how to index backlinks covers it.

Frequently asked questions about IndexNow

Is IndexNow free?

Yes. Bing describes IndexNow as a free, open-source protocol, and neither the documentation nor the FAQ mentions any fee for submitting URLs.

Should I submit every URL, or only new and changed ones?

Submit only URLs that were added, updated or deleted. That is what the protocol was built for, and every submitted URL counts toward your crawl quota, so pinging unchanged pages spends quota for nothing.

How long should I wait before resubmitting the same URL?

The IndexNow FAQ gives two figures: at least 5 minutes between updates in its general guidance, and at least 10 minutes after a 429 unless the page changed significantly. Waiting 10 minutes satisfies both.

Can I use IndexNow without a plugin?

Yes. Host a key file on your domain and send a GET or POST request to any participating endpoint, as in the curl examples above. Plugins only automate those two steps.

Does IndexNow replace XML sitemaps or Google Search Console?

No. Google is not a listed IndexNow participant, so your sitemap and Search Console remain the documented routes into Google. IndexNow adds a direct change signal for the engines that are listed.

What happens if I send more than 10,000 URLs in one request?

The IndexNow FAQ says the request may fail or return a 422 Unprocessable Entity. Split large lists into batches of 10,000 or fewer.

Does IndexNow work with subdomains and multilingual sites?

Yes, with care. The FAQ treats each subdomain as a separate host that needs its own key file (so shop.example.com and blog.example.com each need one), and it says to submit each language version of a page as its own URL.

What should you do next?

Set up IndexNow through your CMS or CDN, keep your sitemap in Search Console for Google, and ping only URLs that changed. That covers the engines on the list without pretending it covers the one that isn't.

If you have a batch of URLs you want submitted and tracked without building anything, Bulk Indexer submits your links through multiple indexing channels, checks every URL first and gives you a per-URL status report. The $1 trial includes 50 credits. No one can guarantee a search engine will index a page, including us, so start with a small package and judge the results yourself. See pricing.

Keep reading