IndexNow: what it is, which engines use it, and how to set it up
IndexNow tells Bing, Yandex and other participating engines a URL changed. Google does not use it. Set it up with one key file and one POST request.
LLaunchScaler·Published ·8 min read
IndexNow is an open protocol for telling search engines that a URL on your site was added, updated or deleted, so they can recrawl it instead of waiting to find the change. Bing, Yandex and five other engines participate; Google does not. Setting it up takes one key file on your site and one POST request each time content changes, or a single switch if your CMS or CDN supports it.
Below: which engines read it, the exact file and request, the response codes, and when to ping.
What is IndexNow and how does it work?
IndexNow is a push notification for crawlers. When a page changes, your site sends its URL and a key to one participating engine's endpoint. The engine checks the key against a text file on your site to confirm you own the host, then shares the URL with every other participating engine. Participants must pass each verified URL on within 10 seconds.
The protocol only says "this URL changed." What happens next is up to each engine. IndexNow.org's FAQ is clear that the engine still "evaluates whether it should crawl the URL based on its crawl quota, scheduling logic, and quality signals," and that "submitting a URL does not guarantee immediate indexing." Every submitted URL also counts toward your crawl quota with that engine.
Bing is the main reason to set it up. Its URL Submission help calls IndexNow "strongly recommended" and says its own manual and API submission methods may be deprecated as IndexNow adoption grows. The Bing indexing guide covers the rest of Bing setup, including why Bing's index matters for Microsoft Copilot.
Which search engines use IndexNow?
IndexNow.org publishes the participant list as a JSON file at https://www.indexnow.org/searchengines.json. Checked in September 2026, it names seven: Bing, Yandex, Seznam.cz, Naver, Yep, the Internet Archive and Amazonbot. A URL sent to any one of their endpoints is shared with the rest.
Participant
Endpoint listed by IndexNow.org
Questions, answered
What people ask about this
01
What is IndexNow?
IndexNow is an open protocol that lets a website notify participating search engines when a URL is added, updated or deleted. You send the URL once, and the engine that receives it shares it with every other participating engine.
In the participant list; no public endpoint in the FAQ
Send each submission to one endpoint only. The shared api.indexnow.org endpoint is the simplest choice, and it is what Bing's own WordPress plugin uses.
Does Google use IndexNow?
No. Google is not in IndexNow's participant list, and Google's documentation on asking for a recrawl names two methods only: the URL Inspection tool for a few URLs, and a sitemap for many. IndexNow pings do nothing for Google Search.
For Google, the equivalents are:
A sitemap with accurate <lastmod> dates, submitted in Search Console and named in robots.txt. The sitemap submission guide covers it.
Request indexing in URL Inspection for a handful of key URLs, subject to a daily quota. The Request indexing guide covers the limits.
Not the Indexing API. Google's quickstart says it "can only be used to crawl pages with either JobPosting or BroadcastEvent embedded in a VideoObject." The Indexing API guide explains why using it for ordinary pages does not work.
How do you create and host the IndexNow key?
Generate a key of 8 to 128 characters using only letters, numbers and dashes (a UUID works), save it in a UTF-8 text file named after the key, and put that file at the root of your host, so https://example.com/<key>.txt returns the key and nothing else.
Generate a key, for example with uuidgen | tr -d '-' | tr 'A-Z' 'a-z', which gives 32 lowercase hex characters.
Create a file named <key>.txt whose only content is the key.
Upload it to the site root, publicly readable with no login.
Open https://example.com/<key>.txt in a private window and confirm it shows just the key.
Two details trip people up. Each subdomain is a separate host, so blog.example.com needs its own key file. And if you cannot write to the root, IndexNow.org allows a key file elsewhere on the host, passed as keyLocation in each request, but then the key only covers URLs under that file's folder, and the documentation "strongly" recommends the root.
In a Next.js App Router project, a file in public/ is served from the root, so public/<key>.txt becomes https://example.com/<key>.txt.
How do you submit URLs with the IndexNow API?
Send a POST request with a JSON body to https://api.indexnow.org/indexnow, giving your host, your key and a urlList of up to 10,000 URLs on that host. A single URL can also go as a GET request with url and key parameters.
URLs received. It says nothing about whether they will be indexed.
202 Accepted
Received; key validation still pending. Common on the first request.
400 Bad Request
Invalid format.
403 Forbidden
Key not valid: file not found, or the file does not contain the key.
422 Unprocessable Entity
A URL does not belong to the host, or the key does not match the protocol's format.
429 Too Many Requests
Too many submissions; back off, honouring any Retry-After header.
IndexNow does not publish rate limits, since each engine sets its own. Keep each request at or under 10,000 URLs.
When should you send an IndexNow ping?
Ping when content really changes: a page is published, its text, price or availability changes, it is redirected, or it is deleted and returns 404 or 410. Don't ping for cosmetic changes, don't resubmit unchanged URLs, and don't replay your whole site on a schedule. IndexNow.org asks you to wait at least 5 minutes before resubmitting the same URL.
The rules from IndexNow.org's FAQ, in practice:
Hook submission to your publish, update and delete events, not to a cron job that sends everything.
Include redirected and deleted URLs, so engines drop the old ones.
Skip pages you don't want indexed. Bing's WordPress plugin, for example, checks for a noindex meta tag or X-Robots-Tag header before submitting.
Don't back-submit changes made before you set IndexNow up; let the sitemap's lastmod cover those.
After a migration or redesign where every URL changed, submitting all of them once is acceptable.
Log each request and its status code so a run of 403s or 429s is noticed.
For user-generated pages, the FAQ suggests throttling by volume, for example submitting after each of the first 20 reviews, then every 5th up to 100 and every 10th up to 1,000.
Can Cloudflare or a CMS send IndexNow for you?
Yes, and for most sites that is the better setup, because it fires on every change without code. Cloudflare's Crawler Hints sends IndexNow notifications from its cache, and many CMSs, including WordPress, Shopify, Wix, Drupal and Joomla, support IndexNow natively or through plugins, generating and hosting the key for you.
Option
What it does
Cloudflare Crawler Hints
Enable it on the Caching Configuration page, on any plan. It treats a cache MISS as a sign content probably changed and sends the URL to IndexNow, and it does not report responses with a 4xx or higher status.
WordPress IndexNow plugin (by the Bing Webmaster team)
Generates and hosts the key, submits created, updated and deleted posts to api.indexnow.org, and skips pages with noindex.
Other CMSs
IndexNow.org lists Shopify, Wix, GoDaddy, Duda, Drupal, Joomla, PrestaShop, Shopware, OpenCart, Typo3, Umbraco and others as supporting it.
Cloudflare's docs note that Crawler Hints is a site-wide setting, so pages you don't want indexed still need a noindex meta tag or X-Robots-Tag header. To see what arrived, open the IndexNow report in Bing Webmaster Tools: it shows URLs submitted by source, crawl and index status per URL, and a list of important URLs Bing indexed in the last 7 days that did not come through IndexNow.
How do you check that IndexNow is working?
Test the key file, send one real URL, and then confirm the engine recorded it. A 200 or 202 on your first request only means the endpoint received the URL; Bing Webmaster Tools is where you see whether it was crawled and indexed.
Open https://example.com/<key>.txt in a private window. It must return the key and nothing else, with a 200 status.
Submit one URL you just changed and read the status code. A 403 means the engine could not find the key in that file; a 422 usually means the URL's host does not match the host you sent, such as www.example.com URLs submitted under example.com.
In Bing Webmaster Tools, open the IndexNow report. The Submitted URLs list shows each URL with its submission time and source (self-submission, Cloudflare or a plugin), and View shows crawl status, index status and first indexed time.
Check the report's list of important URLs indexed in the last 7 days that did not come through IndexNow. Pages showing up there are changes your integration missed.
Does IndexNow replace a sitemap?
No. IndexNow.org recommends using both: IndexNow for URLs that just changed, and a sitemap as the complete inventory that search engines, including Google, can read at any time. A sitemap also catches pages that rarely change and pages deep in the site that no ping will ever mention.
Check what engines see when they arrive
A ping only brings a crawler to the page; the page still has to be crawlable and indexable when it gets there. Run the free scan on LaunchScaler with just your address and no account. It runs 156 checks across 6 of its 7 categories at no cost, including robots.txt rules that block the page, noindex in the meta tag or X-Robots-Tag header, a missing sitemap, sitemap entries without lastmod, and soft 404 pages that return 200.
No. Google is not in IndexNow's list of participating search engines, and Google's own recrawl documentation names only the URL Inspection tool and sitemaps. Use Search Console for Google.
03
Which search engines support IndexNow?
IndexNow.org's participant list, checked in September 2026, names Bing, Yandex, Seznam.cz, Naver, Yep, the Internet Archive and Amazonbot.
04
How do I get an IndexNow API key?
You make one yourself: any string of 8 to 128 letters, numbers and dashes, such as a UUID. Save it at the root of your site in a UTF-8 file named after the key with a .txt extension, containing only the key.
05
How many URLs can I submit with IndexNow?
Up to 10,000 URLs per POST request. IndexNow does not publish daily limits, because each engine sets its own, and a 429 response means you are sending too many.
06
Is IndexNow worth it for a small site?
Yes, if it is automatic. IndexNow.org recommends it for small sites too, and a plugin or Cloudflare setting costs nothing to maintain. It does not replace a sitemap and it does nothing for Google.
Most 404s in Search Console are harmless. Fix the ones your sitemap or own pages link to, and 301 URLs with backlinks to their closest equivalent page.