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.