Internal endpoint for the Cron service to notify search engines about new URLs.
IndexNow submissions are automatically shared across all participating search
engines: Bing, Yandex, Naver, Seznam.cz, Yep, and Amazon.
Why IndexNow?
Without IndexNow, search engines may take days to weeks to discover new content.
With IndexNow, search engines are notified immediately when content is added,
updated, or deleted.
Request Body
The customerβs real domain (e.g. βhttps://nike.comβ). IndexNow submissions must match this host.
Array of full URLs to submit (up to 10,000 per request)
Response
βsuccessβ or βerrorβ
HTTP status code from IndexNow API
curl -X POST https://searchcompany-main.up.railway.app/api/cron/submit-indexnow \
-H "Content-Type: application/json" \
-d '{
"source_url": "https://nike.com",
"urls": [
"https://nike.com/expert-review/",
"https://nike.com/comparison/"
]
}'
{
"status": "success",
"submitted": 2,
"http_status": 200
}
IndexNow Response Codes
| Code | Meaning |
|---|
| 200 | OK - URLs submitted successfully |
| 202 | Accepted - URLs received, key validation pending |
| 400 | Bad request - Invalid format |
| 403 | Forbidden - Key not valid (check key file exists) |
| 422 | Unprocessable - URLs donβt belong to host |
| 429 | Too Many Requests - Rate limited |
Key Verification
IndexNow requires a key file at the site root to verify ownership.
This is automatically added during site creation:
https://example.searchcompany.dev/{INDEXNOW_KEY}.txt
The key file contains the key itself (from INDEXNOW_KEY env var).
Workflow
This is Phase 3 of the boosted pages workflow:
Phase 1: Generate content (parallel)
βββ create-boosted-page (ΓN) β Returns files
Phase 2: Deploy to Vercel (single deployment)
βββ deploy-to-vercel β Deploys all files
Phase 3: Submit to IndexNow (this endpoint)
βββ submit-indexnow β Notifies search engines
Documentation