Skip to content

IndexNow Submission

IndexNow Submission for Bing and Six More Engines

Pasting URLs into Bing Webmaster Tools by hand gets old across many sites. SearchAnalysis.io handles IndexNow submission for every URL you add, once it verifies your key file. It notifies Bing through the IndexNow protocol, and participating engines share the URLs they receive. Each Bing IndexNow ping then shows as Processing, because IndexNow does not confirm indexing.

Join the waitlist See the product overview

Invite-only today. Pricing is announced at launch.

IndexNowexample.com
// 1. Key file verified on your domain GET https://example.com/4f2a9c1e7b3d5a8f0e6c2b9d1a7f3e5c.txt 200 OK · contents match // 2. Notify on every submitted URL POST https://www.bing.com/indexnow 200 URL submitted successfully
Bing
receives
Bing
Yandex
Seznam
Naver
Yep
Internet Archive
AmazonBot

Participating engines share URLs with each other. Google is not a participant.

Definition

What IndexNow Is

IndexNow is a protocol that lets a site notify participating search engines about URLs, up to 10,000 URLs in one HTTP POST. The site proves it controls the host with a key of 8 to 128 characters, hosted as a UTF-8 text file at the site root. Participating engines include Bing, Yandex, Seznam, Naver, Yep, Internet Archive and AmazonBot. Google is not on the list.

Engines share the URLs they receive with the other participants, so a notification sent to Bing reaches the rest of the list. Each POST gets an HTTP response code: 200 for submitted, 202 for received with key validation pending, and four error codes. IndexNow has no step that confirms indexing.

7engines

On the participant listIndexNow lists 7 participating engines that share the URLs they receive.

10,000URLs

Per IndexNow POSTAn IndexNow POST carries up to 10,000 URLs in one request.

10,000a day

Budget per propertySearchAnalysis.io budgets 10,000 IndexNow URLs a day for each property.

Old way, new way

Three Ways to Submit URLs to Bing

Three routes get your URLs to Bing. Here is what each one asks of you.

IndexNow Submission in SearchAnalysis.io

SearchAnalysis.io
  • SearchAnalysis.io generates a 32-character hex key for the site.
  • It fetches your key file and verifies the contents before the first send.
  • Every submitted URL gets a BING row beside its two Google rows.
  • Accepted shows as Processing, inside 10,000 URLs a day per property.

What is inside

Inside the IndexNow Workflow

Five parts carry a URL from your list to Bing and on to Google.

32-Character IndexNow Key

Generates a 32-character hex key per site, well inside the 8 to 128 character rule.

Hexadecimal

32-Character IndexNow Key

IndexNow Key File Verification

Fetches your hosted key file and checks that its contents match before any notification goes out.

Before the first send

IndexNow Key File Verification

Bing IndexNow Notification

Notifies Bing for every submitted URL on its own BING status row.

Accepted shows Processing

Bing IndexNow Notification

IndexNow Daily Budget

Budgets 10,000 IndexNow URLs a day per property, apart from Google's quota.

10,000 a day

IndexNow Daily Budget

Google Channels on the Same Submission

Pairs each Bing notification with a Google Indexing API notification and URL Inspection checks.

Two Google rows per URL

Google Channels on the Same Submission

How it works

How SearchAnalysis.io Sends IndexNow Notifications

Five steps take a site from no key to notifications on every URL.

  1. Add Your Site

    Add the site, and SearchAnalysis.io generates a 32-character hex key for it.

  2. Host the Key File

    Save the key as a UTF-8 text file named after the key, so it loads at https://yourdomain/{key}.txt.

  3. Pass Verification

    SearchAnalysis.io fetches the file and checks that the contents match. Notifications start only after they do.

  4. Submit URLs

    Paste, upload a CSV, import a sitemap, or use the REST API or MCP tools. Each URL gets a BING row.

  5. Read the Status

    Accepted notifications show as Processing. Indexed status comes from the Google rows, confirmed by URL Inspection.

IndexNow key verificationexample.com
Key generated32 hex characters
File hosted at the site root/{key}.txt
Contents match the keyverified
IndexNow enabled for the sitenotifying
Inspection schedule for one URLSearch Console URL Inspection
0 minSent to Indexing API and IndexNow
+10 minFirst URL Inspection
+15 minSecond inspection
+1 hThird inspection
+6 hFourth inspection
+24 hDaily, up to 6 checks
7 daysRecheck after Indexed
IndexNow key length8 to 128 charactersSearchAnalysis.io generates 32
URLs per IndexNow POSTUp to 10,000IndexNow protocol limit
First Google inspectionAbout 10 minutesAfter submission, same URL

Why it matters

Why Teams Send IndexNow Through SearchAnalysis.io

IndexNow submission advantages here are a key checked before the first send, one submission for Bing and Google, and a status you can read per URL.

Catch Key File Problems During Setup

SearchAnalysis.io verifies the hosted file before it notifies anyone. The submission REST API then reports the BING state per URL.

Submission REST API

Submit Once for Bing and Google

Every URL gets a BING row plus two Google rows. Google Indexing API submission runs on its own quota.

Google Indexing API submission

Send New Sitemap URLs Automatically

With auto-submit on, sitemap monitoring sends newly discovered URLs out as a batch.

Sitemap monitoring

Indexed status comes from the Google index checker, which inspects each URL through Search Console.

URL Inspection / sc-domain:example.comLive
https://example.com/pricingIndexed
verdict
PASS
coverageState
Submitted and indexed
robotsTxtState
ALLOWED
indexingState
INDEXING_ALLOWED
pageFetchState
SUCCESSFUL
googleCanonical
https://example.com/pricing
crawledAs
MOBILE
lastCrawlTime
2026-10-06T14:12:09Z
Check historynewest first
Oct 06 14:20IndexedSubmitted and indexed
Sep 29 14:18IndexedSubmitted and indexed
Sep 15 20:02IndexedSubmitted and indexed
Sep 15 14:02ProcessingDiscovered, currently not indexed
Sep 15 13:17ProcessingURL is unknown to Google

Picture publishing 40 new pages, pasting the list once, and watching 40 BING rows move from Queued to Processing beside their Google rows.

What we publish about limits

Where IndexNow Stops

Search engines decide what they crawl and index. Nobody can guarantee indexing, and IndexNow does not report it.

IndexNow Does Not Confirm Indexing

A 200 or 202 reports the submission. SearchAnalysis.io shows an accepted notification as Processing, never Indexed.

Google Is Not a Participant

Google is not on the IndexNow list. Google gets its own Indexing API notification and URL Inspection checks.

The Key File Has to Match

IndexNow answers 403 for a key that is not valid and 422 for a key mismatch. SearchAnalysis.io checks the file before it sends.

Reference

IndexNow Protocol Details

Every rule below comes from the IndexNow documentation at indexnow.org, verified October 6, 2026, or from how SearchAnalysis.io behaves around it.

(Select a protocol rule to read more)

IndexNow Key Rules

PROTOCOL RULEKEY

An IndexNow key is the string that ties a notification to your host. The protocol allows 8 to 128 characters, drawn from lowercase letters a to z, uppercase letters A to Z, the digits 0 to 9 and the dash. Anything outside that set or that length is not a valid key.

Key length8 to 128 charactersa-z, A-Z, 0-9 and dashes

Valid and Invalid Keys

Key exampleValidWhy
a1b2c3d4Yes8 characters, letters and digits
site-key-2026YesLetters, digits and dashes
abc123NoUnder 8 characters
key_with_underscoreNoThe underscore is outside the allowed set
key with spacesNoSpaces are outside the allowed set

The Key SearchAnalysis.io Generates

SearchAnalysis.io generates a 32-character hex key for each site. Hex characters are the digits 0 to 9 and the letters a to f, so the key sits inside the allowed set and length. You never have to invent one or check it against the rules.

The key and its file go together. The file is named after the key and holds the key as its content. Change one without the other and engines answer with a 403 for a key that is not valid or a 422 for a key mismatch.

The IndexNow key belongs to the Bing side of a submission. The Google side uses Google OAuth instead, through Google Indexing API submission.

IndexNow Key File Hosting at the Site Root

PROTOCOL RULEKEY FILE

IndexNow expects the key hosted as a UTF-8 text file named {key}.txt at the site root. The file holds the key itself. An engine that receives a notification checks the key against that file, which is why a 202 response reads "received, key validation pending".

Address:  https://yourdomain/0123456789abcdef0123456789abcdef.txt
Content:  0123456789abcdef0123456789abcdef

File Rules

  • File name: the key followed by .txt.
  • Location: the site root, so the address is https://yourdomain/{key}.txt.
  • Encoding: UTF-8 text.
  • Content: the key, matching the file name exactly.

Keeping the File in Place

The file has to stay reachable for as long as you send notifications. A redesign, a host migration or a cleanup of old files can remove it without anyone noticing. When the key no longer checks out, engines answer 403, the code for a key that is not valid.

Add the file to whatever your team treats as permanent: the repository, the deploy folder or the server's web root. Note the key in your site documentation so the next person who touches the root knows the file belongs there.

To see what a fetch of the key file address returns, run it through the free indexability checker. It reports the HTTP status and follows up to 5 redirects, with a 10-second timeout. Test the exact address that engines will request, on the live domain.

IndexNow Request Format and Batching

PROTOCOL RULEREQUESTS

An IndexNow request is an HTTP POST to a participating engine's /indexnow endpoint. It carries the list of URLs and the key that ties them to your host. One POST holds up to 10,000 URLs, so a large site can send a full sitemap section in a single request.

URLs per POSTUp to 10,000IndexNow protocol limit

Rules Every Request Has to Meet

  1. Every URL belongs to the host the key is hosted on. URLs from another host draw a 422.
  2. The key in the request matches the hosted file. A mismatch draws a 422, and a key that is not valid draws a 403.
  3. The request is well formed. An invalid format draws a 400.
  4. The sender stays under the engine's rate limit. Too many requests draw a 429.

Batching in SearchAnalysis.io

A SearchAnalysis.io batch holds up to 10,000 URLs, the same ceiling as one IndexNow POST. SearchAnalysis.io budgets 10,000 IndexNow URLs a day per property. URLs outside the site's domain are filtered out before sending and show as Dropped, so they never reach an engine as a 422.

A URL already tracked on your account inside 30 days is skipped and reported instead of resent. Batches created through the submission REST API accept an Idempotency-Key header, and a retry with the same key returns the original batch instead of creating a duplicate.

IndexNow Response Codes

PROTOCOL RULERESPONSES

IndexNow response codes tell you what an engine did with a POST. The protocol documents six of them. Two report success, and four report a problem you can fix.

CodeMeaningWhat it tells you
200SubmittedThe engine took the URLs.
202Received, key validation pendingThe engine has the URLs and has not finished checking your key.
400Invalid formatThe request was not built the way the protocol expects.
403Key not validThe engine could not accept the key; check the hosted file.
422URLs don't belong to the host, or key mismatchCheck that every URL is on the key's host and that the key matches the file.
429Too many requestsSlow the sending pace before the next request.

What 200 and 202 Mean in SearchAnalysis.io

A 200 means submitted and a 202 means received. Neither code reports crawling or indexing. SearchAnalysis.io shows an accepted notification as Processing on the BING row, the label for a URL an engine accepted.

What the Error Codes Mean for You

An error that needs a person shows as Failed, with the error text on the row. The four error codes point at three areas: the request format, the key and the URL hosts, and the pace of requests. SearchAnalysis.io handles part of that before sending: it verifies the key file and drops URLs outside the site's domain.

The monitor in the SearchAnalysis.io product lists every URL with its per-channel statuses, filters by state, exports to CSV and supports bulk retry once the cause is fixed.

IndexNow Engine Sharing

PROTOCOL RULEENGINES

IndexNow engine sharing means one notification reaches more than the engine you send it to. The participating engines list at indexnow.org states that each engine will "share URLs received by its /indexnow endpoint with other search engines participating in the protocol".

What Sharing Changes for You

  • You send to one engine's endpoint, and the participating engines pass the URLs among themselves.
  • You host one key file at your site root, and it serves every notification.
  • Your SearchAnalysis.io budget is 10,000 URLs a day per property.
  • You keep one record of what was sent and when, on one BING row per URL.

Why SearchAnalysis.io Sends to Bing

SearchAnalysis.io sends IndexNow notifications to Bing and records the result on the BING row. Sharing carries the URLs on to the other participants. There is one BING row per URL and no separate row for each participating engine, because the response comes from the engine that received the POST.

The BING row sits next to two Google rows on every submitted URL. Those rows run on Google's own limits, so a long Google Indexing API queue never holds up a Bing notification.

New URLs reach IndexNow the same way whatever their source. With auto-submit turned on, sitemap monitoring scans every 6 hours and sends newly discovered URLs as a batch with the source "scheduled scan".

Search Engines That Support IndexNow

PROTOCOL RULEENGINES

Search engines that support IndexNow are listed in the protocol's participating engines file, indexnow.org/searchengines.json. As verified on October 6, 2026, the list names seven participants, and a notification to any one of them is shared with the rest.

ParticipantIndexNow status
BingParticipating
YandexParticipating
SeznamParticipating
NaverParticipating
YepParticipating
Internet ArchiveParticipating
AmazonBotParticipating
GoogleNot a participant

Google and IndexNow

Google is not on the list, so an IndexNow notification does not reach Google. SearchAnalysis.io sends Google its own URL_UPDATED notification through Google Indexing API submission and confirms the result through Search Console URL Inspection. That gives every URL a path to both Bing and Google from one submission.

Checking the Current List

The protocol's own file is the source to check for the current participants. The list above matches that file as it read on October 6, 2026. If you need to know whether a particular engine receives your URLs, read searchengines.json at indexnow.org.

Each participant gets the same URL list through sharing, so SearchAnalysis.io sends once and records one BING result per URL. The budget of 10,000 IndexNow URLs a day per property applies to that single send.

For Google, the answer lives in Search Console. The Google index checker inspects each URL there and turns it Indexed only on a PASS verdict.

What IndexNow Does Not Do

PROTOCOL RULELIMITS

IndexNow notifies participating engines about URLs, and its job ends there. It reports no crawl date, no coverage state and no canonical choice. For Google, SearchAnalysis.io stores the coverageState, the robotsTxtState and the Google-selected canonical from every URL Inspection. Two gaps matter for anyone who tracks index status across many sites.

No Index Confirmation

A 200 means the URLs were submitted, and a 202 means they were received with key validation pending. Neither code says whether a page was crawled or indexed. SearchAnalysis.io shows an accepted IndexNow notification as Processing and never as Indexed. Green means verified, and only the Search Console URL Inspection row can turn green.

No Google Coverage

Google is not a participating engine, so IndexNow never reports on Google. SearchAnalysis.io covers Google on separate rows: a URL_UPDATED notification to the Google Indexing API, and URL Inspection checks that start about 10 minutes after submission and follow a ladder of up to 6 checks over about 3 days.

What Does Confirm Google Indexing

  • A URL Inspection verdict of PASS.
  • A coverageState that says indexed.
  • A recheck every 7 days after that, through deindex monitoring, which marks a dropped URL amber Not indexed.

Search engines decide what they crawl and index, and nobody can guarantee indexing. SearchAnalysis.io reports what each engine returned and what Search Console confirmed, and nothing beyond that.

Setup

IndexNow Setup in SearchAnalysis.io

Four steps connect a site to IndexNow. SearchAnalysis.io handles the key and the check, and you host one file.

(Select a setup step to read more)

Generating the IndexNow Key

STEP 1KEY

Generating the IndexNow key is the first setup step, and SearchAnalysis.io does it for you. When you add a site, the product creates a 32-character hex key. Hex keys use the digits 0 to 9 and the letters a to f, which fits the protocol's rule of 8 to 128 characters from a-z, A-Z, 0-9 and dashes.

What You Get

  • The key itself, 32 characters long.
  • The file name to use: the key followed by .txt.
  • The address the file has to load from: https://yourdomain/{key}.txt.
  • A verification check that runs against that address.

Why a Generated Key Helps

A generated key removes two mistakes from setup: a key outside the allowed length or character set, and a key typed differently in two places. You copy one value into one file. That same key then covers every IndexNow notification for the site.

Keys for IndexNow are separate from the bearer API keys you create in Settings for the SearchAnalysis.io REST API. The IndexNow key shows search engines that you control the host. A bearer API key lets your scripts, CI jobs and AI agents submit URLs to SearchAnalysis.io, and the remote MCP server takes the same bearer key.

Keep the key with the site's other records. If someone rebuilds the site later, the file has to come back with the same name and content.

Hosting the IndexNow Key File on Common Platforms

STEP 2HOSTING

Hosting the IndexNow key file means placing {key}.txt at your site root so it loads at https://yourdomain/{key}.txt as plain UTF-8 text containing only the key. Where you put it depends on how the site is built.

Site typeWhere the file goes
Static site or site generatorThe folder your build publishes, unchanged, at the web root
Self-hosted CMSThe web root on the server, uploaded over SFTP or your host's file manager
Framework appA static file folder served from the root, or a route that returns the key as plain text
Hosted website builderA root file upload or custom file setting, if the builder offers one
Site behind a CDNThe origin's web root, with the CDN serving the file as it is

Checks After You Upload

  1. Open https://yourdomain/{key}.txt in a browser.
  2. Confirm the page shows the key and nothing else: no markup, no page template, no extra lines of text.
  3. Confirm the address stays on your domain and does not send you to a different page.
  4. Run the verification in SearchAnalysis.io.

If your platform offers no way to place a file at the root, a route that returns the key as plain text at the same address does the same job. What matters to the check is the address and the content.

For one more look at the address, the free indexability checker reports the HTTP status a fetch returns and follows up to 5 redirects.

IndexNow Verification Failures and What They Mean

STEP 3VERIFICATION

IndexNow verification in SearchAnalysis.io has one job: fetch https://yourdomain/{key}.txt and confirm that the contents match the key. A failure lands on one side of that check or the other, and no IndexNow notification is sent until it passes. Fix the cause, then run the check again.

The File Could Not Be Fetched

  • The file is not at the site root, or its name differs from the key.
  • The server returned an error status in place of the file.
  • A login wall, firewall rule or maintenance page answered in place of the file.
  • The site you added uses a different domain from the one hosting the file.

The Contents Did Not Match

  • The file holds an old key from an earlier setup.
  • Markup, a page template or extra text wraps the key.
  • The key was copied with a character missing or added.

Errors After Verification

CodeWhat it means after setup
403The engine could not accept the key. Check that the file is still in place.
422URLs don't belong to the host, or the key does not match. Check the file and the URL list.

URLs outside the site's domain are dropped before sending, and the monitor shows each one as Dropped with the reason. If you are stuck after these checks, the SearchAnalysis.io contact page reaches the team behind the product.

After IndexNow Verification Passes

STEP 4SENDING

After IndexNow verification passes, SearchAnalysis.io notifies on every URL you submit for that site. Each URL gets a BING row next to its two Google rows, and each row moves through the same status labels.

BING                   Queued > Sending > Processing
GOOGLE_INDEXING        Queued > Sending > Processing
GOOGLE_SEARCH_CONSOLE  Queued > Sending > Processing > Indexed

Budget and Sources

  • SearchAnalysis.io budgets 10,000 IndexNow URLs a day per property.
  • Submissions come from a single URL, a bulk paste, a CSV upload, a sitemap import, the REST API or MCP tool calls.
  • With auto-submit turned on, sitemap monitoring sends newly discovered URLs as a batch with the source "scheduled scan".
  • A URL tracked on your account inside 30 days is skipped and reported instead of resent.

What Processing Means Here

An accepted IndexNow notification shows as Processing and stays that way, because IndexNow does not confirm indexing. Indexed status comes from the Google index checker, which inspects the URL through Search Console about 10 minutes after submission and keeps inspecting on a ladder of up to 6 checks.

Every submission becomes a batch with its own page, listing 100 URLs per page with each URL's per-channel state. The REST API returns the same state from GET /api/v1/submissions/{batchId}, and the MCP tool check_submission gives it to an AI agent through the remote MCP server.

FAQ

Questions About IndexNow

IndexNow Basics

What is IndexNow?

IndexNow is a protocol that lets a site notify participating search engines about URLs, up to 10,000 per POST. The site proves it controls the host with a key file at its root. Engines share the URLs they receive with the other participants.

Which search engines support IndexNow?

The search engines that support IndexNow are Bing, Yandex, Seznam, Naver and Yep, alongside Internet Archive and AmazonBot. The list lives at indexnow.org/searchengines.json, and Google is not on it.

Does Google support IndexNow?

Google does not support IndexNow and is not on the participating engines list. SearchAnalysis.io reaches Google through the Indexing API and confirms indexing with Search Console URL Inspection.

Early access

Get Early Access to IndexNow Submission

SearchAnalysis.io is invite-only today. Join the waitlist and invites go out from the list.

Invite-only. One email when your invite is ready.

Picture one paste sending your new pages to Bing and Google, with every status row telling you what each engine returned.

Waitlist members getwritten commitments

An Invite Before Public Launch

You get in before the public launch.

Launch Pricing Locked

Your launch price stays locked for as long as you stay subscribed. The price is announced at launch.

An Extended Free Trial

Its length is announced at launch.

Included in SearchAnalysis.ioshipped

Generated, Verified IndexNow Key

A 32-character hex key, checked against your hosted file before the first send.

IndexNow on Every Submitted URL

Up to 10,000 URLs a day per property, each on its own BING row.

Google Rows on the Same URL

Google Indexing API submission and URL Inspection confirmation.