Die API ist bewusst klein gehalten: ein Endpunkt, zwei Methoden.
Eine URL — GET
GET https://yandex.com/indexnow?url=<String>&key=<String>[&keyLocation=<String>]url und key sind erforderlich; keyLocation nur, wenn sich die Schlüsseldatei nicht im Stammverzeichnis befindet. Die URL muss RFC 3986 entsprechen.

Viele URLs — POST
POST https://yandex.com/indexnow
Content-Type: application/json; charset=utf-8
{ "host": "www.example.com",
"key": "…",
"keyLocation": "https://www.example.com/key.txt",
"urlList": [ "https://www.example.com/url1", … ] }Bis zu 10.000 URLs pro Anfrage. host, key und urlList sind erforderlich.
Antwortcodes, die beachtet werden sollten
- 200 OK — akzeptiert.
- 202 Accepted — neuer Schlüssel wartet auf Verifizierung. Kein Fehler; weiter einreichen.
- 400 — ungültige Parameter im Body.
- 403 Ungültiger Schlüssel — der Schlüssel konnte nicht geladen werden oder stimmt nicht mit den eingereichten URLs überein. Bei einem verzeichnisbezogenen Schlüssel ist dies meist eine Bereichsüberschreitung statt eines falschen Schlüssels.
- 405 — nur GET und POST werden unterstützt.
- 422 — die große Familie: ungültiger Schlüsselspeicherort, ungültige URL, Schlüssel zu kurz oder zu lang, ungültige Zeichen, fehlender Schlüssel, Host oder URL, mehr als 10.000 URLs,
urlListist kein Array oder leer. - 429 Too Many Requests — das Limit pro IP wurde überschritten.
Rate-Limiting
Yandex gibt an, dass es kein Limit für die Anzahl der Anfragen gibt und dass seine Algorithmen übermäßige Einreichungen verhindern — dokumentiert aber gleichzeitig 429. Zusammenfassend: Senden Sie Einreichungen bei Änderungen, bündeln Sie, wo möglich, und behandeln Sie 429 als Gegendruck, der einen Retry mit Backoff erfordert, statt als Fehler.
Implementierungshinweise
Unterscheiden Sie 202 von 200 in den Logs, damit ein neuer Schlüssel nicht mit einem defekten verwechselt wird; behandeln Sie 422 als permanenten Fehler, der eine Korrektur statt eines Retrys erfordert; und bündeln Sie Änderungen in einem einzigen POST, statt pro Seite ein GET abzusetzen, was bei einem stark genutzten Publishing-System normalerweise 429 auslöst.

So setzen wir das um
The three response codes to handle properly are 202, 422 and 429, and integrations routinely treat all non-200 responses as failure. That produces two bad behaviours: regenerating a valid key during its verification window, and retrying a malformed request forever. We batch into POST for anything above a handful of URLs, which also avoids most rate limiting.
Verwandte Leistungen