Abfragegrenzen und Kopfzeilen richtig behandeln
Wie viele Anfragen erlaubt sind und wie Ihr System darauf reagieren sollte.
Für wen
Entwicklerinnen und Entwickler.
Voraussetzungen
Bestehender Zugang
Schritt für Schritt
- 1
Grenze kennen
Jeder Zugang hat eine Grenze je Minute; der Standard liegt bei 120 Anfragen und lässt sich je Zugang anheben. Sie gilt pro Schlüssel, nicht pro Mandant.
- 2
Kopfzeilen auswerten
Jede Antwort trägt `x-ratelimit-limit`, `x-ratelimit-remaining` und `x-ratelimit-reset`. Drosseln Sie, sobald `remaining` klein wird.
KopfzeilenHTTP/1.1 200 OK x-ratelimit-limit: 120 x-ratelimit-remaining: 118 x-ratelimit-reset: 2026-02-01T10:31:00Z - 3
Auf 429 richtig reagieren
Bei Überschreitung antwortet die Schnittstelle mit 429 und der Kopfzeile `retry-after` in Sekunden. Warten Sie diese Zeit ab und wiederholen Sie danach.
Wiederholung mit Wartezeitasync function request(url, init = {}, attempt = 0) { const response = await fetch(url, init); if (response.status === 429 && attempt < 5) { const wait = Number(response.headers.get("retry-after") ?? 2 ** attempt); await new Promise((r) => setTimeout(r, wait * 1000)); return request(url, init, attempt + 1); } return response; } - 4
Last verteilen
Große Abgleiche laufen am besten nachts, mit `limit=200` und mit einer kurzen Pause zwischen den Seiten.
Ergebnis
Ihre Integration bleibt auch bei Lastspitzen innerhalb der Grenzen und verliert keine Daten.
Häufige Stolpersteine
- Nach 429 sofort erneut anfragen: Das verlängert die Sperre.
- Grenzen im Sekundentakt ausreizen: Planen Sie Puffer für Nachbarsysteme mit demselben Schlüssel ein.