IndexNow API request reference
You can use the API to send one or multiple site page URLs to Yandex via the IndexNow protocol.
Sending one page
GET https://yandex.com/indexnow
? url=<String>
& key=<String>
& [keyLocation=<String>]
|
Parameter |
Type |
Required |
Description |
|
|
String |
Yes |
URL of the page for which you want to send the data. Must comply with the RFC3986 standard. |
|
|
String |
Yes |
The key verifying the site management rights. When you send a request, the search engine matches this value with the file contents. |
|
|
String |
No |
Path to the file with the key if it isn't placed in the root directory of the site. |
HTTP code 200 OK
content-type: application/json
Other response codes:
|
Code |
Reason |
Description |
|
202 |
Accepted |
A new key is awaiting verification. If you're sure the key is correct, wait a little while and then submit a few other addresses. If the code changes to 200 OK, it means the key is verified and the addresses are submitted. If you still see code 202, the key hasn't yet been added to the database after verification. In this case, you need to wait longer. |
|
403 |
Invalid key |
The key couldn't be loaded or it doesn't match the URLs specified in the request. |
|
405 |
Method not allowed |
The GET and POST methods are supported. |
|
422 |
Invalid key location |
The |
|
422 |
Invalid url |
The request contains an invalid URL or the passed key isn't suitable for processing it. |
|
422 |
The key must be at least 8 characters |
The key includes less than 8 characters. |
|
422 |
Key must be no longer than 128 characters |
The key includes more than 128 characters. |
|
422 |
Key must consist of a-Z0-9 or '-' |
The key contains invalid characters. |
|
422 |
No key provided |
The |
|
422 |
No url provided |
The |
|
429 |
Too Many Requests |
The number of requests for one IP address is exceeded. |
Sending multiple pages
POST https://yandex.com/indexnow
To send information about multiple pages, use JSON format:
POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 286
Host: yandex.com{
"host": "www.example.com",
"key": "EdD8dkmdNLlxREi2LkhJjYOH2kyQbJqM3cBKT5fX",
"keyLocation": "https://www.example.com/myIndexNowKey63638.html",
"urlList": [
"https://www.example.com/url1",
"https://www.example.com/folder/url2",
"https://www.example.com/url3"
]
}
|
Parameter |
Type |
Required |
Description |
|
|
String |
Yes |
Your site URL. |
|
|
String |
Yes |
|
|
|
String |
No |
Path to the key, if it isn't placed in the root directory of the site. |
|
|
Array |
Yes |
Contains URLs of the pages (String) for which you want to send the data. You can send up to 10,000 URLs in one request. |
HTTP code 200 OK
content-type: application/json
Other response codes:
|
Code |
Reason |
Description |
|
202 |
Accepted |
A new key is awaiting verification. If you're sure the key is correct, wait a little while and then submit a few other addresses. If the code changes to 200 OK, it means the key is verified and the addresses are submitted. If you still see code 202, the key hasn't yet been added to the database after verification. In this case, you need to wait longer. |
|
400 |
Invalid params |
The parameters sent in the request body are invalid. |
|
403 |
Invalid key |
The key couldn't be loaded or it doesn't match the URLs specified in the request. |
|
405 |
Method not allowed |
The GET and POST methods are supported. |
|
422 |
Invalid key location |
The |
|
422 |
Invalid url |
The request contains an invalid URL or the passed key isn't suitable for processing it. |
|
422 |
The key must be at least 8 characters |
The key includes less than 8 characters. |
|
422 |
Key must be no longer than 128 characters |
The key includes more than 128 characters. |
|
422 |
Key must consist of a-Z0-9 or '-' |
The key contains invalid characters. |
|
422 |
No host provided |
The |
|
422 |
No key provided |
The |
|
422 |
No more than 10000 urls allowed |
The |
|
422 |
No url provided |
The |
|
422 |
Url list has to be an array |
The |
|
422 |
Url list cannot be empty |
An empty |
|
422 |
Url has to be an array of string |
The |
|
429 |
Too Many Requests |
The number of requests for one IP address is exceeded. |
Questions and answers
How often can I send requests?
There is no limit on the number of requests. You can adjust their frequency: Yandex uses algorithms that prevent sending too many requests.
Can I send the same URL multiple times a day?
We don't recommend sending the same URL too often. If needed, send it at 10-minute intervals.
If the page is updated frequently, use other ways to report this to Yandex.
Can I send pages with HTTP code 404 via the API?
Yes, you can use IndexNow to report pages with code 404 or 410.
Can I send pages with the HTTP code 301 or 302 (redirection)?
Yes, you can send URLs with information about redirects or other changes.