Skip to content

Features

The boring parts, done properly

Anyone can fire a URL at an API. The value is in knowing which URLs to send, when to send them, and what to do when something goes wrong.

Discovery

We find your URLs the way search engines do

We read your robots.txt for declared sitemaps, then fall back to /sitemap.xml and /sitemap_index.xml. Sitemap index files are followed, nested indexes are handled, and gzipped sitemaps are decompressed. If your sitemap lists URLs on a different host than the one you verified, we filter them out — one stray URL would otherwise cause IndexNow to reject the entire batch.

  • robots.txt sitemap directives
  • Sitemap index files, nested
  • Gzipped .xml.gz sitemaps
  • Foreign-host URL filtering

Change detection

Only what actually changed gets submitted

We compare each run against the last. A URL is submitted when it is new, or when its lastmod moves forward. Crucially, we ignore lastmod values that simply get rewritten to today on every build — a very common CMS behaviour that would otherwise resubmit your entire site daily and burn through your quota for nothing. When a sitemap has no lastmod at all, we fall back to fingerprinting page content, ignoring the volatile parts like CSRF tokens and timestamps.

  • Forward-only lastmod comparison
  • Content fingerprint fallback
  • Volatile-token normalisation
  • Deltas, never full dumps

Submission

Correct batching and back-off

Submissions go to the shared IndexNow endpoint, which forwards to Bing, Yandex, Seznam.cz, Naver, Yep, Amazon in one call. We chunk under the protocol's 10,000-URL limit, enforce the minimum gap between resubmissions of the same URL, and stop cleanly on a 429 rather than hammering through — respecting the Retry-After header when the engines send one.

  • Chunked under the 10,000 limit
  • Resubmission cooldown enforced
  • Retry-After honoured
  • Optional per-engine redundant delivery

Proof

Every submission, logged verbatim

For each batch we record the endpoint, the exact HTTP status, the raw response body, and the round-trip time — alongside the list of URLs it carried. When something fails you get the real reason, translated into plain English, not a generic error. This is the difference between a service you trust and one you hope is working.

  • Raw engine responses kept
  • Per-URL submission history
  • Plain-English failure reasons
  • Full sync history per domain

Speed

Instant ping when you publish

Scheduled checks are the floor, not the ceiling. Each domain gets its own API token you can call from a WordPress hook, a deploy script or any CMS webhook. Hit it when you publish and the URL is submitted within seconds instead of waiting for the next cycle.

  • Per-domain API token
  • Single URL or bulk
  • Works with any CMS or CI
  • No account credentials needed

Setup

Guides for how your site is actually built

The one manual step is hosting the key file, and how you do that depends entirely on your platform. We wrote specific instructions for each — including the awkward ones like Shopify and Squarespace, where the root directory isn't writable and you need a template or an edge worker instead.

  • 18 platform guides
  • Copy-paste code where needed
  • Custom key location supported
  • Automatic re-checking until it passes

Stop waiting to be found

Set it up once. We keep telling the search engines about every change you make, for $12 a year.