What is IndexWrangler?
IndexWrangler is a minimal web tool for submitting URLs to Bing using the IndexNow protocol. IndexNow lets you notify search engines the moment content is added, updated, or deleted, instead of waiting for crawlers to discover changes on their own.
This tool helps you with three things: generate an IndexNow key, verify that the key file is correctly hosted on your domain, and submit one or more URLs to Bing. Submissions made through any participating engine are shared across all IndexNow-enabled search engines.
How it works (4 steps)
- Generate an API key. The key proves ownership of your domain and authenticates submissions. Use the Generate button in the tool, which creates a random key for you.
-
Host your key file. Download the
<key>.txtfile and place it at the root of your site (https://yourdomain.com/<key>.txt). The file must contain only the key, UTF-8 encoded. - Submit URLs. Enter the pages that changed (one per line) and submit. The tool sends them to Bing's IndexNow endpoint.
- Verify. Use the Verify button to confirm the key file is live and readable, and use Bing Webmaster Tools to confirm URLs were received.
API key requirements
- Length: 8 to 128 characters.
- Allowed characters: lowercase
a-z, uppercaseA-Z, digits0-9, and dashes-. - The key file must be named exactly
<key>.txtand contain only the key. - Preferred location is the domain root. If you host it elsewhere on the same host, you must pass a
keyLocationwhen submitting. - Each subdomain is a separate host and needs its own key file.
Submitting URLs
A single URL can be submitted with a GET request:
https://www.bing.com/indexnow?url=url-changed&key=your-key
Multiple URLs (up to 10,000 per request) are submitted as a JSON POST, which is what this tool uses:
POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: www.bing.com
{
"host": "www.example.com",
"key": "your-key",
"keyLocation": "https://www.example.com/your-key.txt",
"urlList": [
"https://www.example.com/url1",
"https://www.example.com/url2"
]
}
- All URLs must belong to the same host as the key.
- URLs should be URL-encoded per RFC-3986 (e.g.
:→%3A,/→%2F). - Submit only changed content (added, updated, or deleted), not your entire site.
Response codes
See the dedicated status code reference for full details. In short:
- 200 OK - submitted successfully.
- 202 Accepted - received; key validation pending (common on first submission).
- 400 Bad Request - invalid format.
- 403 Forbidden - key not valid (file missing or contents don't match).
- 422 Unprocessable Entity - URLs don't belong to the host, or key doesn't match the schema.
- 429 Too Many Requests - rate limited (potential spam).
Best practices
- Notify IndexNow whenever content is added, updated, or removed.
- Wait at least 5 minutes before resubmitting the same URL, and only resubmit on meaningful changes.
- Use IndexNow for fast discovery and XML sitemaps for complete coverage; the two complement each other.
- Don't submit URLs that changed before you started using IndexNow; use sitemaps with accurate
lastmodinstead. - You can submit redirected (301/302) and deleted (404/410) URLs so engines update their index.
- Every submitted URL counts toward your crawl quota, but signals priority.
Troubleshooting
My key file isn't verifying
Confirm the file name exactly matches your key with a .txt
extension, that it sits in the domain root, that its contents are only
the key, and that it's publicly reachable at
https://yourdomain.com/<key>.txt with no login,
firewall, or IP restriction.
I got a 400 Bad Request
The request was malformed: a missing/incorrect key, an un-encoded URL, or a structural error. Verify the key matches your hosted file, encode URLs per RFC-3986, and check for stray characters or trailing commas.
I got a 403 Forbidden
The key is not valid - the key file was not found, or it exists but its contents don't match the submitted key. Re-verify the file using the tool's Verify button.
I got a 422 Unprocessable Entity
Usually the submitted URL doesn't match your verified domain, the key file is inaccessible, or you're repeatedly submitting unchanged URLs. Make sure every URL is on the same host as the key.
I got a 429 Too Many Requests
You've exceeded the engine's rate limit. Check the Retry-After
header, reduce submission frequency and batch size, and avoid duplicate
submissions.
My URL was submitted but isn't indexed
Submission does not guarantee indexing. Engines decide based on crawl quota, content quality, technical signals (404s, robots.txt, noindex), and their own algorithms. Different engines may index at different times.