IndexNow
How IntelliPlan notifies Bing, Yandex, and other participating search engines when public pages change.
IntelliPlan setup
intelliplan.tech15d38c49db0d48efa4ec2ad2635b43c9https://intelliplan.tech/15d38c49db0d48efa4ec2ad2635b43c9.txthttps://api.indexnow.org/indexnowSubmitting one URL
Issue an HTTP GET request to the search engine endpoint. url must be URL-escaped (RFC-3986). key is 8–128 hex characters (a–z, A–Z, 0–9, dashes).
GET https://api.indexnow.org/indexnow?url=url-changed&key=15d38c49db0d48efa4ec2ad2635b43c9&keyLocation=https%3A//intelliplan.tech/15d38c49db0d48efa4ec2ad2635b43c9.txt
Example — notify that the landing page was updated:
curl "https://api.indexnow.org/indexnow?url=https%3A//intelliplan.tech&key=15d38c49db0d48efa4ec2ad2635b43c9&keyLocation=https%3A//intelliplan.tech/15d38c49db0d48efa4ec2ad2635b43c9.txt"
A successful request returns HTTP 200. HTTP 200 only means the search engine received the URL.
Submitting a set of URLs
POST a JSON body to the search engine. You can submit up to 10,000 URLs per request.
POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: api.indexnow.org
{
"host": "intelliplan.tech",
"key": "15d38c49db0d48efa4ec2ad2635b43c9",
"keyLocation": "https://intelliplan.tech/15d38c49db0d48efa4ec2ad2635b43c9.txt",
"urlList": [
"https://intelliplan.tech/",
"https://intelliplan.tech/scheduler",
"https://intelliplan.tech/tutor"
]
}
IntelliPlan admin API (requires admin session):
POST /api/admin/indexnow/submit
Content-Type: application/json
{ "urls": ["https://intelliplan.tech/blog/how-to-use-canvas-with-a-study-planner"] }
Submit all sitemap URLs (default when urls is omitted):
POST /api/admin/indexnow/submit
Single URL via admin GET (mirrors IndexNow GET format):
GET /api/admin/indexnow/submit?url=https%3A//intelliplan.tech
Verifying ownership via the key
Option 1 (used by IntelliPlan)
Host a UTF-8 text key file at the root of your site. The file name is {your-key}.txt and the file content is the key itself.
https://intelliplan.tech/15d38c49db0d48efa4ec2ad2635b43c9.txt 15d38c49db0d48efa4ec2ad2635b43c9
Option 2
Host the key file elsewhere on the same host and pass keyLocation on every notification. IntelliPlan already sends keyLocation in both GET and POST submissions.
Response format
| HTTP | Response | Reason |
|---|---|---|
| 200 | OK | URL submitted successfully |
| 202 | Accepted | URL received; key validation pending |
| 400 | Bad request | Invalid format |
| 403 | Forbidden | Key not valid (missing, or not in key file) |
| 422 | Unprocessable | URL doesn't belong to host, or key format invalid |
| 429 | Too Many Requests | Rate limited — wait and retry |
Participating search engines share submitted URLs with each other automatically.