What is IndexNow?
IndexNow is an open protocol backed by Microsoft Bing, Yandex, Naver, Seznam.cz, and other major search engines. It lets website owners notify search engines the moment a page is published, updated, or removed, and a single API call to the shared global endpoint distributes the ping to every participating engine at once so you no longer depend on crawlers discovering the change on their own schedule.1 The protocol is well-established across major platforms, including WordPress, Shopify, Joomla, and Drupal, where native integrations, plugins, or extensions handle the submission flow automatically. For sites that manage their own infrastructure, CapyToolkit's IndexNow URL Submitter handles submissions through a browser interface with no backend configuration required, so you can submit URLs without touching your server or CMS.2
Why faster indexing matters for your site
Without IndexNow, search engines discover new or updated pages by crawling your site on their own schedule. That schedule is unpredictable. A new product page, a corrected price, or a deleted post can sit undiscovered for days or even weeks. In competitive search categories, that delay gives other sites a window to rank ahead of your updated content.
IndexNow shifts the dynamic: instead of waiting for a crawler, you push a direct notification, and search engines treat IndexNow pings as a crawl priority signal so submitted URLs are typically revisited much faster than unnotified ones. Crawl budget is the other side of the equation. Search engines allocate a finite number of crawl requests per site per day, and without IndexNow much of that budget can be spent re-checking pages that have not changed. With IndexNow, you direct crawl activity toward pages that actually need attention, which reduces unnecessary crawl load and helps important pages cycle through indexing faster.3
The sites that benefit most are e-commerce stores updating inventory and prices daily, news and media sites publishing time-sensitive articles, SaaS product pages tracking feature releases, and any site that adds or modifies content in bulk. If you publish time-sensitive material such as limited-time offers or event announcements, the gap between publishing and indexing is often the difference between capturing traffic and missing it entirely.
The shared key model
Each IndexNow submission includes an API key and a pointer to a
verification file stored at your domain root.1 The verification file is a plain text file named after the key (for example,
capytoolkit.txt) containing only the key value.2 Search engines
fetch that file to confirm you control the domain before accepting URL submissions.
Place it once and it stays in place for all future submissions.
Switching to a private key
This tool uses a shared CapyToolkit key by default. To use it, download the verification file and upload it to your domain root, where the file is named after the key value. If you prefer your own key, replace the value in the key field, then create a plain .txt file named after your key containing the key value, and upload it to your domain root.
When and what to submit
Submit whenever content changes in a way a visitor or search engine would care about: a new blog post goes live, a product description is rewritten, a price or availability changes, or a page is permanently removed. Submitting deleted URLs is particularly useful because it signals search engines to stop indexing that page quickly, which helps with discontinued products, outdated event pages, and any content you have taken down.3
Avoid resubmitting pages that have not changed, since repeated pings for
static content may be treated as noise and some engines may reduce how
much weight they give to future submissions from your domain. Quality of
submissions matters more than volume, so focus on pages where the content
has genuinely changed since the last ping. For large sites, the sitemap
input is the most efficient path: paste your sitemap URL, let the tool
crawl and extract all URLs, then submit them in batches of 50 with a
five-second delay between batches that respects IndexNow rate limits and
avoids 429 responses. If your site runs behind Cloudflare with Crawler
Hints enabled, IndexNow notifications may already fire automatically when
content changes, so confirm what is already being submitted before
layering manual runs on top.4
Bulk URL Submission to Search Engines
When a migration, a catalogue launch or a large content update changes hundreds or thousands of pages at once, submitting them one by one wastes requests and runs into rate limits. IndexNow accepts up to 10,000 URLs in a single request. The guide below explains why batching matters, the rate-limit math for each engine, a step-by-step bulk workflow, how to build a clean URL list and how to confirm the engines crawled what you sent.
For large URL sets, bulk submission is the fastest way to push search engines at once. IndexNow's batch endpoint accepts up to 10,000 URLs in a single POST request, making it practical for site migrations, catalogue launches, and mass content publishes without individual per-URL API calls. Because the protocol distributes the batch to all participating engines simultaneously1, one request reaches Bing, Yandex, Naver, Seznam.cz, and Yep in the same operation.
Understanding rate limits before submitting a large batch prevents silent failure. Bing rate-limits at roughly 600 URLs per minute per host; submitting 10,000 URLs in a single burst may produce 429 responses for the excess. The practical approach batches URLs into groups of 500-1,000 with brief pauses between requests, which stays within each engine's rate-limit ceiling while still processing thousands of URLs in under 30 minutes.
Why batching matters
Search engine crawl budgets are finite. Submitting every URL on a large site simultaneously may exceed the crawl budget Bing or Yandex allocates to your domain per day, causing some URLs to be received but not fetched until the next crawl window. Batch sizing should account for this budget as well as the API rate limit. For sites with strong crawl histories, Bing accepts up to 10,000 URL submissions per day across all submission methods including IndexNow2. New domains start with a lower ceiling that grows as submission quality builds.
Priority order for large URL sets
Batching by priority improves results: submit your most commercially important or most recently changed URLs first, so the highest-value content enters the crawl queue ahead of older or lower-traffic pages. Without a priority sort, a bulk submission of 5,000 URLs treats a minor archive page the same as a new product launch, which means the engine's crawl budget for that batch may be consumed by low-value pages before it reaches the content that actually drives revenue or traffic. Sorting your submission list by business impact before batching ensures the first URLs the engine processes are the ones where fastest indexing matters most.
Rate-limit math per engine
Bing's IndexNow rate limit is approximately 600 URL submissions per minute per host (approximate, based on community-reported 429 responses). At 500 URLs per batch with a 5-second pause between batches, you can avoid Bing's 429 rate limit while still processing thousands of URLs per hour. Over an hour, that allows approximately 360,000 URLs without hitting 429 errors. Yandex and other participating engines apply their own crawl quotas independently, so very large batches may hit one engine's limit while succeeding with others.
The IndexNow protocol itself accepts batches of up to 10,000 URLs per request, so the engine-side rate limits are the binding constraint, not the protocol3. This distinction matters when planning large submission runs: the protocol can handle a 10,000-URL payload in a single call, but Bing will reject anything above roughly 600 URLs per minute, which means a 10,000-URL batch needs to be split into smaller chunks with pauses between them to avoid triggering the 429 rate-limit response that drops the entire batch.
Step-by-step bulk workflow
Start by generating a clean URL list: export canonical URLs from your CMS, sitemap, or analytics tool. Remove duplicate URLs, non-canonical URLs with query parameters, and any URLs that currently return errors. Validate the list against your robots.txt to exclude disallowed paths. Then paste the filtered list into a bulk submission tool in batches, respecting the rate-limit math above.
After submitting, monitor Bing Webmaster Tools' "Submitted URLs" report for acceptance confirmation4. Furthermore, spot-check a sample of submitted URLs by searching site:yourdomain.com/path in Bing within 24 hours to verify index inclusion for the highest-priority pages. For very large batches, consider submitting during off-peak hours when search engine crawl queues are less congested, which can improve the time between submission and actual crawl for the first URLs in your batch.
Generating a clean URL list for bulk submission
A bulk submission list is only as good as the URL quality it contains. Starting with a raw export from your CMS or sitemap typically includes non-canonical URLs (those with tracking parameters, session IDs, or variant query strings), pagination pages that do not need priority indexing, and URLs that currently return errors because of recent deletions or incomplete migration steps. Filtering this raw list before submitting prevents wasted crawl budget and avoids degrading your domain's submission quality signal with participating engines.
The practical filtering steps are: remove any URL containing tracking parameters (utm_, fbclid, gclid, ref=), remove pagination paths (/page/2/, ?page=3), check each URL's current HTTP status and remove any returning 4xx or 5xx, and validate each URL against your robots.txt to exclude disallowed paths. Running this filter on a large URL export typically reduces the submission-worthy list by removing a substantial portion of non-canonical and duplicate entries.
Exporting canonical URLs from common CMS platforms
WordPress exports canonical URLs via WP-CLI with the post_status publish option, CSV formatting, and ID plus post_name fields, followed by constructing the full URL from your site's permalink structure5. Drupal generates a canonical URL list from a Views page configured to output paths for published nodes. Shopify exports product URLs via the admin CSV export, filtering to canonical product paths without variant query strings.
Whatever export method you use, deduplicate the result before submission, because each platform's export can include the same canonical URL more than once across content types and feeds. A simple sort-and-unique pass on the final list removes those duplicates and keeps the batch lean, which matters when you are paying attention to the 10,000-URL daily ceiling on Bing. After dedup, a quick spot-check against the live sitemap confirms the export did not miss any published path that the filtering step might have accidentally dropped.
Monitoring bulk submission outcomes and confirming priority crawl
After a bulk submission, Bing Webmaster Tools' URL Submission report provides the most direct confirmation of what was processed. Navigate to Crawl → URL Submission in Bing Webmaster Tools and filter by submission type to see IndexNow-sourced entries. Each submitted URL shows a crawl status (Submitted, Crawled, or Indexed) and a timestamp, allowing you to confirm that Bingbot fetched the priority batch within the expected window.
For very large bulk submissions (thousands of URLs), spot-checking a sample is more efficient than reviewing every entry. Select 20–30 URLs from different priority tiers in your submission list and check each in Bing Webmaster Tools' URL Inspection report individually. The crawl status for this sample gives a reliable signal about the overall batch processing; if the sample shows consistent Crawled or Indexed status within 24 hours, the full batch processed correctly.
Handling 429 responses in bulk submission batches
A 429 Too Many Requests response means the engine rejected the entire batch due to rate limits. None of the URLs from that rejected request entered the crawl queue; you must resubmit the full batch in smaller chunks. After receiving a 429, wait at least 60 seconds before retrying, reduce your batch size to 500 URLs or fewer, and add a 5-second pause between each batch. This approach keeps per-minute submission rates safely below Bing's approximately 600-URL-per-minute ceiling3.
Use bulk submission for site migrations, catalogue launches, and mass updates where individual per-URL submission is impractical. Batch at 500-1,000 URLs per request with pauses between batches to stay within rate limits. Submit only canonical, publicly accessible URLs.
Submit 5,000 product URLs after a catalogue migration
Export canonical product URLs from your new CMS. Filter to remove variants and duplicates. Submit in batches of 500 with 5-second pauses. At this rate, 5,000 URLs take approximately 50 seconds of submission time (plus crawl latency which varies).
Debug a bulk submission that returns 429 errors
Submitting 2,000 URLs in one request; receiving `429 Too Many Requests`
Split into 500-URL batches with 5-second pauses between each; all batches return `200` or `202`.
A `429` response means the engine received the request but rejected it for rate limits. No URLs from that request entered the crawl queue; resubmit the full batch in smaller chunks.
- 1.
IndexNow, "Documentation | IndexNow.org," indexnow.org, accessed June 2026. https://www.indexnow.org/documentation.html
- 2.
Bing, "Bingbot Series: Get your content indexed fast by now submitting up to 10,000 URLs per day to Bing," bing.com, January 2019. https://blogs.bing.com/webmaster/january-2019/bingbot-Series-Get-your-content-indexed-fast-by-now-submitting-up-to-10,000-URLs-per-day-to-Bing
- 3.
IndexNow, "FAQ," indexnow.org, accessed June 2026. https://www.indexnow.org/faq
- 4.
Bing, "Optimize your Impact with IndexNow Insights," bing.com, March 2024. https://blogs.bing.com/webmaster/March-2024/Optimize-your-Impact-with-IndexNow-Insights
- 5.
WordPress Developer Resources, "wp post list," developer.wordpress.org, accessed June 2026. https://developer.wordpress.org/cli/commands/post/list/
The IndexNow protocol accepts up to 10,000 URLs per POST request. Engine-side rate limits are more restrictive; Bing limits at roughly 600 URLs per minute per host (approximate). Submit in batches of 500-1,000 URLs with brief pauses to stay safely under the engine rate limits.
It consumes crawl budget. IndexNow submissions enter a priority queue, but each fetched URL counts against the per-day crawl allocation your domain receives. Submitting only changed or new URLs, not unchanged pages, keeps the crawl budget focused on content that needs refreshing.
Google does not provide a free bulk URL submission API for standard web pages. Your best options are: ensure your sitemap is up to date and submitted in Search Console, and use internal linking so Googlebot discovers new pages from existing indexed content. The Google Indexing API accepts bulk submissions but is restricted to job postings and livestream pages.
Not necessarily immediately. IndexNow signals a crawl priority; whether the engine indexes after crawling depends on content quality, domain trust, and crawl budget. Engines may fetch submitted URLs but delay indexing if quality signals are weak or if the crawl budget is exhausted.
CapyToolkit's IndexNow submitter is designed for individual and small-batch submissions directly in the browser. For large-scale bulk submissions (thousands of URLs), the IndexNow API accepts programmatic POST requests with a JSON URL list, which scripts or server-side tools handle more reliably than browser-based tools.
Search engines reached
Submitting to the shared global endpoint at
api.indexnow.org notifies all currently participating search engines in a single API call,
including Bing, Yandex, Naver, Seznam.cz, Amazon, and Yep.5 You do not need
to send separate submissions to each engine because the IndexNow protocol
distributes the ping automatically to every participant in the shared
network, which keeps your submission workflow simple regardless of how
many engines are participating at any given time.
How engine participation works
Participating engines process IndexNow notifications independently, so indexing speed may vary by engine and by the crawl priority each one assigns to your domain. Some engines apply IndexNow pings immediately to their crawl queue for faster processing, while others batch incoming notifications and process them during periodic crawl windows depending on their internal scheduling and crawl budget constraints.
The protocol does not guarantee instant indexing, but it does guarantee that every participating engine receives the same notification at the same time, which is a significant advantage over waiting for organic discovery. Once the notification arrives, each engine applies its own quality signals and crawl budget rules, so the time between submission and actual indexing depends on factors outside the protocol itself.5
Rate limits, response codes, and submission strategy
IndexNow accepts up to 10,000 URLs per submission call and permits
multiple calls per day per host. The shared global endpoint at
api.indexnow.org imposes rate limits that vary by engine and are not
published as fixed numbers, but production behaviour shows that batches of
50 URLs with a five-second pause between batches stays comfortably within
normal limits.6 This tool applies
that pacing automatically.
Reading IndexNow response codes
Reading the response codes tells you what actually happened with each
batch. A 200 response confirms the URLs were received and queued for
crawling. A 202 means the submission was accepted but not yet processed;
this is normal for first-time or high-volume submissions and does not
require resubmission. A 400 Bad Request usually signals a malformed URL in
the batch or an incorrect host field: check that your URLs are absolute,
use HTTPS where your site does, and share the same root domain as your
verification file. A 403 Forbidden means key validation failed, which
points to the verification file being missing, containing the wrong
content, or unreachable at the expected path on your server.6
For ongoing submission workflows, aligning your IndexNow calls with your CMS publish events gives the best results. A post published at 09:00 should trigger a submission at 09:00, not at the next scheduled batch run at midnight. The protocol is designed for real-time notification; submitting stale URLs hours after a change reduces the practical benefit over waiting for an organic crawl. Reserve sitemap-based bulk submissions for site migrations, domain moves, or the initial setup after placing your verification file for the first time. CapyToolkit's IndexNow Submitter handles sitemap parsing, URL deduplication, and batch pacing in one session, so you can run a full site submission without scripting or server access.
IndexNow Submission Limits and Response Codes
- URLs per submission call Up to 10,000
- This tool's batch size / pause 50 URLs, 5s pause between batches
- 200 / 202 Received and queued / accepted, not yet processed
- 400 / 403 Malformed URL or host mismatch / key verification failed
Submit your own URLs above and check the response code for each batch against these meanings.
- 1.
IndexNow, "Documentation," indexnow.org, accessed June 2026. https://www.indexnow.org/documentation
- 2.
Microsoft Bing, "How to add IndexNow to your website," bing.com, accessed June 2026. https://www.bing.com/indexnow/getstarted
- 3.
Microsoft Bing, "Why IndexNow," bing.com, accessed June 2026. https://www.bing.com/indexnow
- 4.
Cloudflare, "Crawler Hints," developers.cloudflare.com, accessed September 2026. https://developers.cloudflare.com/cache/advanced-configuration/crawler-hints/
- 5.
IndexNow, "searchengines.json," indexnow.org, accessed June 2026. https://www.indexnow.org/searchengines.json
- 6.
Yandex, "IndexNow API request reference," yandex.com, accessed June 2026. https://yandex.com/support/webmaster/en/indexnow/reference