What is IndexNow?
IndexNow is an open protocol created by Microsoft (Bing) and Yandex. When you publish or update a page, you send a simple HTTP request to IndexNow, and all participating search engines get notified immediately. No waiting for crawlers to discover your changes.
IndexNow Supports:
- Bing
- Yandex
- Seznam.cz
- Naver
Does NOT Support:
- Google (uses its own Indexing API)
- DuckDuckGo (uses Bing's index)
For Google indexing, see our Google Indexing API guide.
Step 1: Generate Your API Key
IndexNow uses a simple key-based authentication. Generate any string of 8-128 hex characters:
# Generate a random key
python3 -c "import uuid; print(uuid.uuid4().hex)"
# Example output: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Save this key — you'll need it for the API call and the verification file.
Step 2: Host the Key File
Create a text file named {your-key}.txt containing just the key, and host it at your domain root:
# File: https://example.com/a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6.txt
a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Bing will check this file to verify you own the domain. The file must be accessible via HTTPS.
Step 3: Submit URLs
Send a POST request to the IndexNow endpoint with your URLs:
Python
import requests
KEY = "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"
HOST = "example.com"
response = requests.post(
"https://api.indexnow.org/IndexNow",
json={
"host": HOST,
"key": KEY,
"keyLocation": f"https://{HOST}/{KEY}.txt",
"urlList": [
f"https://{HOST}/blog/new-post",
f"https://{HOST}/blog/updated-post",
]
},
headers={"Content-Type": "application/json"}
)
print(f"Status: {response.status_code}")
# 200 = OK, 202 = AcceptedNode.js
const KEY = "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6";
const HOST = "example.com";
const res = await fetch("https://api.indexnow.org/IndexNow", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
host: HOST,
key: KEY,
keyLocation: `https://${HOST}/${KEY}.txt`,
urlList: [
`https://${HOST}/blog/new-post`,
`https://${HOST}/blog/updated-post`,
]
})
});
console.log("Status:", res.status);cURL
curl -X POST "https://api.indexnow.org/IndexNow" \
-H "Content-Type: application/json" \
-d '{
"host": "example.com",
"key": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"urlList": ["https://example.com/new-page"]
}'IndexNow vs Google Indexing API
| Feature | IndexNow | Google Indexing API |
|---|---|---|
| Supported engines | Bing, Yandex, Seznam, Naver | Google only |
| Setup time | 5 minutes | 30-60 minutes |
| Authentication | Simple key file | Service account + OAuth |
| Daily limit | 10,000 URLs/day | 200 URLs/day |
| Coding required | Minimal (1 HTTP call) | Yes (auth + batch logic) |
| Page types | Any page | JobPosting only (officially) |
| Cost | Free | Free |
Best approach: Use both. IndexNow for Bing/Yandex, Google Indexing API for Google. Or use IndexFlow which handles both plus 3 more channels automatically.
Common Mistakes
- Key file not accessible: Must be at exact URL
https://domain.com/key.txt - Using HTTP instead of HTTPS: IndexNow requires HTTPS for both the API call and key file
- Submitting unchanged pages: Only submit genuinely new or updated URLs
- Expecting Google indexing: IndexNow does NOT notify Google — you need the Google Indexing API separately
- Bulk spam: Submitting thousands of low-quality URLs will get your key blocked
Skip the Setup — Use IndexFlow
IndexFlow handles IndexNow + Google Indexing API + Bing API + Crawl Network + Ping Services automatically. No API keys, no code, no key files. Just paste URLs and click submit.
Related: Convert Website to App | Modbus Simulator
FAQ
Does IndexNow work with Google?
No. Google has not joined the IndexNow protocol. For Google, use the Google Indexing API or a multi-channel tool like IndexFlow that handles both.
How many URLs can I submit per day?
IndexNow allows up to 10,000 URLs per day per key. For higher volumes, you can use multiple keys on different subdomains.
Is IndexNow free?
Yes, completely free. There are no costs associated with using the IndexNow API.
How fast does Bing index after IndexNow submission?
Typically within minutes to hours. Bing processes IndexNow submissions very quickly compared to natural crawling which can take days or weeks.