Generate an API key: an 8–128 character hexadecimal string (only lowercase letters, uppercase letters, numbers, and dashes)
Host the key as a plain-text file at 'https://yourdomain.com/{key}.txt' — the file content must be exactly the key string; this proves domain ownership
For single-URL submission, make a GET request to 'https://api.indexnow.org/indexnow?url={encoded-url}&key={key}'
For bulk submission (up to 10,000 URLs per request), POST a JSON body to 'https://api.indexnow.org/IndexNow' with fields 'host', 'key', 'keyLocation' (optional full URL to the key file), and 'urlList' array
Submitting to api.indexnow.org distributes the notification to all participating engines (Bing, Yandex, Seznam, Naver) in one call — no need to POST to each engine separately
Trigger IndexNow submissions from your CMS publish hook or deployment pipeline immediately after content is created, updated, or deleted
Known gotchas
IndexNow does not guarantee indexing — it is a crawl hint; participating engines will prioritize the URLs but may not crawl them immediately or at all if quality signals are low
Google does not participate in IndexNow; for Google you still need to rely on Sitemaps, the Indexing API (for eligible content types), or organic crawl discovery
All URLs in a bulk submission must belong to the same host specified in the 'host' field; submitting URLs from multiple domains in one request will result in a 400 error
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp