Verify your key file is accessible and returning a 200 response at the URL you will specify in the keyLocation field before sending any bulk request
Construct a JSON payload with host set to your domain, key set to your IndexNow key, keyLocation set to the full URL of your key file, and urlList as an array of up to the documented maximum URLs per request
Send a single HTTP POST to https://api.indexnow.org/indexnow (or to a specific engine's endpoint such as https://www.bing.com/indexnow) with Content-Type: application/json; charset=utf-8
Handle the HTTP response: 200 indicates all URLs were accepted, 202 indicates URLs received but not all validated yet, 400 indicates a malformed request, and 422 indicates URLs not belonging to the declared host
Integrate bulk submissions into your CMS publish hook or deployment pipeline so new and updated content is submitted automatically at publish time rather than on a scheduled crawl
Known gotchas
All URLs in a single bulk request must belong to the same host as declared in the host field and must fall within the path scope of the key file; mixing URLs from multiple domains in one request will result in a 422 rejection
IndexNow signals search engines that content has changed but does not guarantee immediate crawling or indexing; it is a priority hint, and the engine still decides when to actually fetch the URL based on its own scheduling
Submitting URLs that have not actually changed wastes your submission quota and can train search engines to deprioritize your submissions; only submit URLs when content has genuinely been created or modified
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