IndexNow URL Submitter

Submit URLs to all IndexNow-compatible search engines. Paste URLs or sitemap URLs, drop a sitemap XML file, or upload a plain .txt URL list — all inputs are combined.

ZERO UPLOAD · ALL LOCAL

Before you submit

  • Key file reachable at the root of your domain, with the key as its file name and its content
  • Canonical URLs submit the clean canonical address, without tracking parameters
  • Changed pages only submit pages you published, updated or removed; skip unchanged ones
  • Confirmation check each engine's own webmaster report, or search for the URL where there is none

What to look for

  • 24 to 48 hours (approximate)

What this page covers

  • Install path Plugins > Add New > search "IndexNow" > Install Now > Activate, official plugin by Microsoft
  • Key file location auto-generated and placed at yoursite.com/[key].txt on activation
  • Trigger event hooks into the transition_post_status action, firing on publish or trash
  • Known noindex issue the plugin submits noindex-tagged pages regardless of Yoast/Rank Math/AIOSEO settings (GitHub issue #60)

What this page covers

  • App install path Admin > Apps > App Store > search "IndexNow" > Install > Authorize permissions
  • Canonical vs variant URLs submit only the base product URL; variant query-string URLs (?variant=XXXXX) share the same canonical tag
  • Shopify Markets submit the primary-market canonical URL only; locale variants rely on hreflang, not separate submissions
  • Headless key file placement must live at the custom storefront domain root, not the myshopify.com admin domain

What this page covers

  • Plan requirement IndexNow is included automatically on Premium plans only; free plans get nothing
  • Verification check Wix Dashboard > Promoting your site > SEO > SEO Settings, no manual toggle exists
  • Coverage gap content updated via Velo backend scripts or the CMS API may not trigger the automatic publish event
  • Deleted pages not auto-submitted; requires manual submission after confirming a 301 or 410 status

What this page covers

  • 7.1 key file workaround upload to File Storage, then Settings > Advanced > URL Redirects mapping /[key].txt to the file
  • Cache clearing clear the site cache immediately after creating the redirect, since Squarespace caches redirect rules
  • 7.0 vs 7.1 differences 7.0 templates may lack the File Storage + URL Redirects combination the workaround needs
  • Third-party alternative services like IndexPlease host their own key file, bypassing Squarespace's root directory restriction entirely

What this page covers

  • External key file host S3 or GitHub Pages, since Webflow blocks root-level file uploads
  • Redirect setup Hosting > Redirects: /[key].txt to the external file URL, published as a 301
  • CDN propagation check curl -I https://yourdomain.com/[key].txt, expect 200 or 301 (404 means the redirect hasn't propagated)
  • CMS webhook automation collection_item_published event, wired to Zapier or GitHub Actions for near-real-time submission

What to look for

  • Dashboard > Speed > Optimization > Crawler Hints (free, no code)
  • 10,000
  • under 600 URLs per minute per host
  • max-age=3600, vs max-age=31536000 for static assets

Very long Cache-Control TTLs can prevent Crawler Hints from firing at all, since the CDN keeps serving the cached version until the TTL expires.

What this page covers

  • Install path composer require drupal/index_now, then Extend > Enable > Index Now > Save configuration
  • Settings location Configuration > Search and metadata > Index Now, for API key and content-type selection
  • Scheduler conflict the module fires on the pre-publish save event, not the Scheduler module's PUBLISH event, unless a custom event subscriber is added
  • Multilingual coverage gap only the default-language URL submits by default; hook_index_now_url_alter() extends coverage to translated paths

What this page covers

  • Install path System > Manage > Extensions > Install, then System > Manage > Plugins to enable WT IndexNow or Aimy IndexNow
  • Published-state filtering the plugin fires on every save by default; check state = 1 (published) to avoid pinging drafts
  • Third-party component gap J2Store, VirtueMart, and EventList dispatch their own events, invisible to the plugin without a bridge
  • Multilingual coverage only the default-language URL submits; associated translations need a custom onContentAfterSave handler

What to look for

  • up to 10,000 URLs per request
  • hours, versus weeks for unsubmitted new sites

What to look for

  • past about 15 to 20 minutes/day of manual submission at $20/month

What to look for

  • 200 or 202
  • 4xx

What to look for

  • up to 10,000 URLs per request
  • Bing, Yandex, Naver, Seznam.cz, Yep

What to look for

  • under 5 minutes across both Search Console and Bing Webmaster Tools

What to look for

  • a few minutes
  • 1 to 2 hours (approximate)

What to look for

  • 400 or 403
  • per domain (host), independent across domains

What to look for

  • October 2021, co-authored by Bing and Yandex
  • Bing, Yandex, Naver, Seznam.cz, Yep (not Google)

What to look for

  • 50,000 URLs
  • 50 MB uncompressed
  • 0.0 to 1.0 (a hint, not a hard directive)
  • articles must be within the past 2 days for Google News Top Stories

A sitemap is a scheduled crawl inventory; IndexNow is the real-time push signal for individual URLs. The two are complementary, not substitutes.

What to look for

  • past 90 days

What to look for

  • 200 OK or 202 Accepted
  • malformed JSON or a missing host, key, keyLocation, or urlList field

What to look for

  • 8 to 128 characters, lowercase alphanumeric and hyphens
  • 200 status, plain text key value
  • 404 or HTML content

What this page covers

  • URL Diagnostics tool checks crawl accessibility, YandexBot-seen HTTP status, canonical tag, and index status for one URL
  • Site diagnostics Website optimization > Site diagnostics, surfaces server errors and robots.txt blocks
  • Pages Excluded report under Site Statistics, shows pages excluded as duplicates before you waste an IndexNow submission on them
  • IndexNow participation Yandex is a participating engine, so a normal IndexNow submission reaches Yandex Robots directly

Input (URLs)

Drop a sitemap .xml or URL list .txt here

or click to browse

── or paste URLs directly below ──

INDEXNOW KEY

A shared CapyToolkit key is pre-filled. Download the verification file and upload it to your domain root so search engines can verify ownership — the file is named after the key value. To use your own key, replace the value below, then download the verification file, and upload it to your domain root.

Output (Submission results)

  1. Drop a sitemap XML file or a plain .txt file (one URL per line) onto the drop zone — or paste URLs and sitemap URLs directly into the textarea below. Both inputs are combined.
  2. If using the shared CapyToolkit key, click Download Verification File and place it at your domain root so search engines can verify ownership — the file is named after the key value.
  3. To use your own key, replace the INDEXNOW KEY value with your key string (8–128 characters), then download and upload the matching verification file to your domain root.
  4. Click Submit to IndexNow. Sitemaps are crawled first, then URLs are submitted in batches of 50. Live progress is shown for each batch.
  5. Review the results table — each batch shows the IndexNow response code. A 200 or 202 means success.

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

IndexNow submitter with three example URLs pasted in and the shared CapyToolkit key pre-filled
Three URLs pasted one per line, ready to send with the pre-filled shared key. Nothing goes out until you press Submit to IndexNow, and the key file must sit at your domain root first.

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

Before
Submitting 2,000 URLs in one request; receiving `429 Too Many Requests`
After
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.

Sources for this section
  1. 1.

    IndexNow, "Documentation | IndexNow.org," indexnow.org, accessed June 2026. https://www.indexnow.org/documentation.html

  2. 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. 3.

    IndexNow, "FAQ," indexnow.org, accessed June 2026. https://www.indexnow.org/faq

  4. 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. 5.

    WordPress Developer Resources, "wp post list," developer.wordpress.org, accessed June 2026. https://developer.wordpress.org/cli/commands/post/list/

FAQ

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

  • Up to 10,000
  • 50 URLs, 5s pause between batches
  • Received and queued / accepted, not yet processed
  • Malformed URL or host mismatch / key verification failed

Submit your own URLs above and check the response code for each batch against these meanings.

Sources
  1. 1.

    IndexNow, "Documentation," indexnow.org, accessed June 2026. https://www.indexnow.org/documentation

  2. 2.

    Microsoft Bing, "How to add IndexNow to your website," bing.com, accessed June 2026. https://www.bing.com/indexnow/getstarted

  3. 3.

    Microsoft Bing, "Why IndexNow," bing.com, accessed June 2026. https://www.bing.com/indexnow

  4. 4.

    Cloudflare, "Crawler Hints," developers.cloudflare.com, accessed September 2026. https://developers.cloudflare.com/cache/advanced-configuration/crawler-hints/

  5. 5.

    IndexNow, "searchengines.json," indexnow.org, accessed June 2026. https://www.indexnow.org/searchengines.json

  6. 6.

    Yandex, "IndexNow API request reference," yandex.com, accessed June 2026. https://yandex.com/support/webmaster/en/indexnow/reference

FAQ

IndexNow is an open protocol that lets you tell search engines about new or updated pages on your site right away, instead of waiting for their crawlers to find the changes on their own. One submission reaches all participating engines at once.

Submitting through this tool reaches Bing, Yandex, Naver, Seznam.cz, Amazon, and Yep in a single call via the shared global endpoint.

Search engines verify that you own the domain before accepting submissions. The verification file is a plain text file named after your key, placed at your domain root (for example, yourdomain.com/yourkey.txt). It only needs to be there once.

No. IndexNow ties each submission to a single host. If you paste URLs from different domains, the tool infers the host from the first URL. Each domain needs its own key file and its own submission run.

No. IndexNow tells search engines that a page exists or changed, but indexing depends on content quality, crawl budget, and each engine's own algorithm. Pages that meet quality standards are typically processed faster than if you waited for the crawler to find them.

It means the search engine received the URL but hasn't processed it yet. This is normal for first-time or high-volume submissions. CapyToolkit's IndexNow tool shows the exact response code per batch so you can see at a glance whether submissions landed.

Additional resources