Eine 429-Antwort von einer AI API kann vier verschiedene Dinge bedeuten: zu viele Anfragen pro Minute, zu viele Token pro Minute, zu viele gleichzeitige Verbindungen oder ein erschöpftes Kontoguthaben. Da alle vier denselben Statuscode zurückgeben, hängt die Lösung davon ab, welches Limit tatsächlich erreicht wurde, und nicht davon, einfach nur häufiger zu versuchen.
Dieser Leitfaden erläutert die Fehlermodi, zeigt auf, welche Informationen zu aktuellen Limits verfügbar sind (und welche nicht), und stellt ein Retry- und Fallback-Muster vor, das sich in der Produktion bewährt hat.
Wichtige Erkenntnisse
- Eine
429kann ein Limit bei den Anfragen, dem Token-Budget, der Nebenläufigkeit oder dem Kontoguthaben bedeuten. Jedes Problem erfordert eine andere Lösung; pauschale Wiederholungsversuche lösen nur eines der vier Probleme. - Lesen Sie Rate-Limit-Header bei erfolgreichen Antworten aus, nicht erst nach Fehlern, und drosseln Sie die Anfragen, bevor Sie das Limit erreichen.
- Die clientseitige Token-Zählung ist eine Schätzung, keine Garantie. Abweichungen zwischen Ihrer Bibliothek und der tatsächlichen Zählung des Anbieters können den Sicherheitsspielraum kleiner machen, als Sie denken.
- Genaue RPM/TPM-Obergrenzen pro Modell und Stufe sind in den für diesen Artikel verfügbaren Daten nicht enthalten. Betrachten Sie Zahlen, die Sie anderswo sehen, als Werte, die Sie mit Ihrem eigenen Konto-Dashboard abgleichen müssen, nicht als feste Konstante.
- Resiliente Wiederholungsversuche erfordern exponentielles Backoff, Jitter, eine maximale Anzahl an Versuchen und die Beachtung des
retry-after-Headers. Führen Sie niemals blind Wiederholungsversuche für nicht-idempotente Operationen durch.
Verständnis von AI API Rate Limiting: Die vier Fehlermodi
Anfragen-Limits
Die meisten Anbieter zählen Anfragen pro Minute (RPM). Überschreiten Sie diese, erhalten Sie sofort eine 429, oft mit leerem Body. Ein Benutzer, der schnell durch Ergebnisse blättert, oder ein Cron-Job, der ohne Drosselung feuert, sind häufige Auslöser.
Token-Limits
Dies ist die Falle, die Teams am meisten unterschätzen. Anbieter setzen häufig Token pro Minute (TPM) separat von RPM durch, sodass Sie eine 429 erhalten können, obwohl Sie deutlich unter Ihrem Anfragen-Limit liegen. Modelle mit großem Kontext verschärfen dies: Laut TokenLab-Live-Preisdaten (beobachtet am 07.07.2026) unterstützen sowohl Claude Opus 4.8 als auch GPT-5.5 über 1.000.000+ Kontext-Token. Ein Aufruf, der ein großes Dokument, eine vollständige Codebasis oder einen langen Chat-Verlauf in dieses Fenster lädt, kann einen großen Teil Ihres Token-Budgets pro Minute in einer einzigen Anfrage verbrauchen, obwohl es nur „eine“ Anfrage ist. Dies ist ein Risiko für die Kapazitätsplanung basierend auf der Kontextfenstergröße, keine gemessene Anzahl pro Aufruf. Validieren Sie daher die tatsächliche Nutzung anhand Ihrer eigenen Protokolle, anstatt von einem festen Wert auszugehen.
Nebenläufigkeits-Limits (Concurrency)
Anbieter tolerieren möglicherweise Ihr durchschnittliches Volumen pro Minute, bis Sie plötzlich fünfzig Streams gleichzeitig öffnen. Nebenläufigkeits-Limits begrenzen die Anzahl der gleichzeitig laufenden Anfragen oder Verbindungen. Streaming-Antworten halten Verbindungen länger offen, was Nebenläufigkeits-Slots schneller verbraucht als kurze, einmalige Aufrufe. Coding-Agenten, die auf Claude Sonnet 5 oder Kimi K2.7 Code basieren, sowie Sprachschnittstellen, die von Gemini 3.5 Flash streamen, sind häufige Auslöser, da sie viele langlebige Verbindungen gleichzeitig offen halten.
Kontingent- oder Guthabenerschöpfung
Dies sieht in Ihrem Dashboard identisch mit einem Rate Limit aus: Aufrufe funktionieren nicht mehr. Aber die Lösung ist eine andere. Wenn Ihr Konto keine Prepaid-Guthaben mehr hat oder ein hartes tägliches Ausgabenlimit erreicht, gibt die API einen Fehler zurück, der einem Rate Limit ähnelt. Backoff bringt hier nichts. Sie müssen das Guthaben aufladen oder die Ausgabengrenze erhöhen.
Quellen-Snapshot
| Datenpunkt | Quelle | Beobachtet am |
|---|---|---|
| Modell-Kontextfenster und Token-Preise | TokenLab Live-Modell-/Preisdaten | 07.07.2026 |
| Modell-SSOT-Benennung (Claude Sonnet 5, GPT-5.5, Gemini 3.5 Flash, etc.) | TokenLab Modell-SSOT | 07.07.2026, läuft ab am 14.07.2026 |
| Offizielle RPM/TPM-Stufenlimits der Anbieter | In diesem Datensatz nicht verfügbar | Nicht verifiziert, prüfen Sie das Konto-Dashboard des Anbieters |
| Verhalten der TokenLab-Gateway-Header-Normalisierung | In diesem Datensatz nicht verfügbar | Vor der Verwendung eines einzelnen Header-Schemas in der TokenLab-API-Dokumentation prüfen |
Aktuelle Modell-Kontextfenster und Preise (TokenLab Live-Daten)
Diese Zahlen stammen direkt aus dem TokenLab-Live-Preissnapshot. Es handelt sich nicht um RPM- oder TPM-Limits; sie zeigen, warum ein einzelner Aufruf bei einem Modell mit großem Kontext überproportional stark in ein Token-Budget eingreifen kann.
| Modell | Anbieter | Kontextfenster | Input $/MTok | Output $/MTok | Quelle | Beobachtet |
|---|---|---|---|---|---|---|
| Claude Sonnet 5 | Anthropic | 1.000.000 | $2.00 | $10.00 | TokenLab Live-Preisdaten | 07.07.2026 |
| Claude Opus 4.8 | Anthropic | 1.000.000 | $5.00 | $25.00 | TokenLab Live-Preisdaten | 07.07.2026 |
| Claude Fable 5 | Anthropic | 1.000.000 | $10.00 | $50.00 | TokenLab Live-Preisdaten | 07.07.2026 |
| GPT-5.5 | OpenAI | 1.050.000 | $5.00 | $30.00 | TokenLab Live-Preisdaten | 07.07.2026 |
| GPT-5.5 Batch/Flex | OpenAI | 1.050.000 | $2.50 | $15.00 | TokenLab Live-Preisdaten | 07.07.2026 |
| Gemini 3.5 Flash | 1.048.576 | $1.50 | $9.00 | TokenLab Live-Preisdaten | 07.07.2026 | |
| GLM-5.2 | Z.ai | 1.048.576 | $0.93 | $3.00 | TokenLab Live-Preisdaten | 07.07.2026 |
| Kimi K2.7 Code | Moonshot AI | 262.144 | $0.74 | $3.50 | TokenLab Live-Preisdaten | 07.07.2026 |
| DeepSeek V4 Pro | DeepSeek | 1.048.576 | $0.44 | $0.87 | TokenLab Live-Preisdaten | 07.07.2026 |
| DeepSeek V4 Flash | DeepSeek | 1.048.576 | $0.09 | $0.18 | TokenLab Live-Preisdaten | 07.07.2026 |
| Qwen3.7 Plus | Alibaba | 1.000.000 | $0.32 | $1.28 | TokenLab Live-Preisdaten | 07.07.2026 |
| MiniMax M3 | MiniMax | 1.048.576 | $0.30 | $1.20 | TokenLab Live-Preisdaten | 07.07.2026 |
Hinweis zum Modell-SSOT: Diese Namen spiegeln das TokenLab-Modell-SSOT wider, das am 07.07.2026 beobachtet wurde und am 14.07.2026 abläuft. Benennungen und Verfügbarkeit ändern sich häufig. Bevor Sie einen Modell-String fest in Ihren Produktionscode schreiben, bestätigen Sie, dass er im TokenLab-Modellverzeichnis oder in der Modell-Rangliste noch aufgelöst wird.
Behebung von Rate-Limit-Fehlern ohne eigene Retry-Logik
Alles oben Genannte dient der Diagnose. Die Abhilfe – die Entscheidung, auf welches Modell ausgewichen werden soll, die Verfolgung der Nebenläufigkeit pro Benutzer und die Aufrechterhaltung eines aktuellen Bildes darüber, welche Modellfamilien gesund sind – ist genau das, wofür die Routing-Ebene von TokenLab entwickelt wurde. Anstatt eine Fallback-Matrix über fünf Anbieter hinweg selbst zu erstellen, leiten Sie Anfragen an TokenLab weiter und lassen das Gateway basierend auf Verfügbarkeit und Ihren Fallback-Regeln aus dem aktuellen Modellkatalog auswählen.
Ein ehrlicher Hinweis: TokenLab sitzt vor mehreren Upstream-Anbietern, und jeder Upstream-Anbieter gibt seinen eigenen Headersatz, sein eigenes Fehlerformat und seine eigene Retry-Semantik zurück. Ob das Gateway jeden Rate-Limit-Header vollständig in ein einheitliches Schema normalisiert oder einige Upstream-Header unverändert durchreicht, ist in den für diesen Artikel verfügbaren Daten nicht bestätigt. Überprüfen Sie das aktuelle Header-Verhalten in der API-Dokumentation von TokenLab, bevor Sie eine Parsing-Logik schreiben, die von einem einzigen einheitlichen Schema über alle Modelle hinweg ausgeht. Bauen Sie Ihren Header-Parser defensiv auf und prüfen Sie auf das Vorhandensein jedes Feldes, anstatt davon auszugehen, dass es existiert.
Lesen von Rate-Limit-Headern
Anbieter geben Rate-Limit-Informationen in Antwort-Headern zurück, obwohl die genauen Namen je nach Anbieter variieren. Ein gängiges Muster sieht so aus:
x-ratelimit-limit-requests: 500
x-ratelimit-remaining-requests: 499
x-ratelimit-reset-requests: 12s
retry-after: 0
Lesen Sie diese bei erfolgreichen Antworten aus, nicht erst nach einer 429. Führen Sie einen laufenden Zähler für das verbleibende Budget und verlangsamen Sie die Anfragen, wenn Sie unter einen Sicherheitsschwellenwert fallen (typischerweise 10-20 % Puffer), wobei die richtige Zahl von der Burst-Intensität Ihres Datenverkehrs abhängt und hier nicht spezifiziert werden kann.
Retry-Logik mit expliziter Fehlerbehandlung
Ein Retry-Helfer muss mehr als nur den 429-Fall behandeln. Er sollte transiente Fehler (429, 503, Timeouts) von Client-Fehlern (4xx außer 429), die bei einem erneuten Versuch niemals erfolgreich sein werden, unterscheiden und den retry-after-Header respektieren, falls vorhanden.
async function callWithRetry(fn, maxRetries = 4) {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
try {
return await fn();
} catch (err) {
const status = err.status;
// Client-Fehler außer 429 werden bei einem Retry nicht erfolgreich sein
if (status && status >= 400 && status < 500 && status !== 429) {
throw err;
}
// Abbruch nach maximalen Versuchen, unabhängig vom Fehlertyp
if (attempt === maxRetries) throw err;
// 429: retry-after beachten, falls vorhanden, sonst Backoff mit Jitter
if (status === 429) {
const retryAfter = parseRetryAfterHeader(err);
const delay = retryAfter
? retryAfter * 1000
: Math.pow(2, attempt) * 1000 + Math.random() * 1000;
await sleep(delay);
continue;
}
// 503 oder Netzwerk-Timeout: Backoff und Retry, für Observability protokollieren
if (status === 503 || err.code === 'ETIMEDOUT' || err.code === 'ECONNRESET') {
await sleep(Math.pow(2, attempt) * 1000 + Math.random() * 1000);
continue;
}
// Unbekannte 5xx: Retry mit Backoff, Versuche strikt begrenzen
if (status && status >= 500) {
await sleep(Math.pow(2, attempt) * 1000 + Math.random() * 1000);
continue;
}
throw err;
}
}
}
Verpacken Sie niemals nicht-idempotente Operationen, wie eine Zahlungsabbuchung oder einen Schreibvorgang mit Seiteneffekten, in eine naive Retry-Schleife. Bestätigen Sie die Idempotenz oder verwenden Sie einen Idempotenz-Schlüssel, bevor Sie solche Aufrufe wiederholen.
Genauigkeit der Token-Schätzung: Warum lokale Zählungen von Anbieter-Zählungen abweichen
Clientseitige Token-Zählbibliotheken approximieren den Tokenizer, den ein Modell tatsächlich verwendet. tiktoken entspricht der OpenAI-Familie sehr genau, garantiert aber nicht die exakte Übereinstimmung mit den Tokenizern von Anthropic, Google oder Open-Weight-Modellen. Unterschiede treten bei speziellen Token, Multi-Byte-Zeichen und der Formatierung von System-Prompts auf und summieren sich in langen Konversationen.
Praktische Schritte zur Reduzierung der Abweichung:
- Lesen Sie die tatsächliche Token-Nutzung aus dem Antwort-Body aus (die meisten Anbieter geben die Anzahl der Prompt- und Completion-Token an) und verwenden Sie diese, um Ihren lokalen Schätzer im Laufe der Zeit zu kalibrieren.
- Halten Sie einen Sicherheitsspielraum ein, keine harte Grenze. Wenn das TPM-Limit Ihres Anbieters nahe an Ihrer geschätzten Nutzung liegt, verzögern Sie die Anfrage oder teilen Sie sie auf, anstatt sie direkt an der Grenze zu senden.
- Wenn Ihre Prompts groß sind oder sich über Aufrufe hinweg wiederholen, lesen Sie die TokenLab-Dokumentation zum Tokenisierungsverhalten und zu Prompt-Splitting-Strategien für konkrete Möglichkeiten, Token pro Anfrage zu reduzieren, bevor Sie überhaupt ein Limit erreichen. Die Reduzierung der Token pro Aufruf ist oft eine günstigere Lösung als die Aushandlung einer höheren Stufe.
Traffic Shaping und Modell-Fallback
Exponentielles Backoff mit Jitter: Verdoppeln Sie die Wartezeit nach jedem Retry und fügen Sie zufälligen Jitter hinzu, damit gleichzeitige Clients nicht im Gleichschritt wiederholen.
Traffic Shaping pro Benutzer oder Aufgabe: Begrenzen Sie gleichzeitige Aufrufe pro Benutzer (z. B. 3 gleichzeitig, 5 Anfragen pro Sekunde Burst), damit ein intensiver Benutzer nicht Ihr kontoweites Limit ausschöpft und die Leistung für alle anderen verschlechtert.
Token-Budget-Schätzung vor dem Senden: Zählen Sie Token clientseitig. Wenn eine Anfrage Ihr verfolgtes TPM-Budget überschreiten würde, verzögern oder teilen Sie sie auf, anstatt sie zu senden und zu hoffen.
Modell-Fallback als Sicherheitsnetz: Wenn ein primäres Modell eine 429 zurückgibt, leiten Sie die Anfrage an ein alternatives Modell mit separaten Limits und vergleichbarer Leistungsfähigkeit um. Eine Coding-Aufgabe kann von Claude Sonnet 5 auf DeepSeek V4 Pro oder Kimi K2.7 Code ausweichen. Ein hochvolumiger, kostengünstiger Workload kann zwischen DeepSeek V4 Flash, Gemini 3.5 Flash und Qwen3.7 Plus wechseln, die alle im kostengünstigen Routing-Tier des aktuellen Modellkatalogs liegen.
Checkliste für den Umgang mit Rate Limits
| Kategorie | Was zu prüfen ist | Sofortmaßnahme | Langfristige Lösung |
|---|---|---|---|
| Anfragen-Limits | RPM-Header-Werte, Burst-Frequenz | Client-Anfragen drosseln, lokales Rate-Limiter hinzufügen | Benutzer-Stufen, serverseitiges Queuing |
| Token-Limits | TPM-Budget pro Modell, durchschnittliche Token pro Aufruf, gemeldete Nutzung | Token vorab zählen, große Prompts teilen, Aufrufe nahe der Grenze verzögern | Batching mit Token-Budgetierung, hochvolumige Arbeit an günstigere Modelle routen |
| Nebenläufigkeits-Limits | Maximale gleichzeitige Streams oder Verbindungen | Gleichzeitige Anfragen pro Client begrenzen, inaktive Streams schließen | Connection Pooling, gestaffelte Stream-Starts |
| Kontingent / Guthaben | Kontostand, tägliche Ausgabengrenzen | Guthaben aufladen, Ausgabengrenzen anpassen | Warnungen bei niedrigem Guthaben, automatische Prepaid-Aufladung |
Typische Limit-Bereiche: Was wir bestätigen können und was nicht
Sekundäre Suchen zu diesem Thema suchen oft nach einer Tabelle mit „typischen“ RPM/TPM-Zahlen. Wir werden keine erfinden. Veröffentlichte Stufenlimits ändern sich häufig, variieren je nach Kontohistorie und Nutzungsstufe und sind nicht Teil der für diesen Artikel verfügbaren Daten.
| Frage | Status | Verifizierungsschritt |
|---|---|---|
| Was ist ein „typisches“ RPM-Limit für ein Frontier-Modell? | In diesem Datensatz nicht bestätigt | Prüfen Sie das Konto-Dashboard Ihres Anbieters oder die Rate-Limit-Antwort-Header direkt |
| Was ist ein „typisches“ TPM-Limit für ein 1M-Kontext-Modell? | In diesem Datensatz nicht bestätigt | Protokollieren Sie die tatsächliche Nutzung anhand der Antwort-Header über eine Woche, um eine eigene Baseline zu erstellen |
| Ändert die Nutzungsstufe diese Zahlen? | Plausibel basierend auf allgemeinem Anbieterverhalten, hier nicht gebenchmarkt | Bestätigen Sie die aktuellen Stufenlimits in Ihrer Anbieter-Konsole |
| Entsprechen die aggregierten Limits von TokenLab exakt den Upstream-Anbieter-Limits? | In diesem Datensatz nicht bestätigt | Vor der Kapazitätsplanung in der API-Dokumentation von TokenLab prüfen |
Einschränkungen
- Es waren keine offiziellen RPM/TPM-Zahlen für GPT-5.5, Claude Opus 4.8, Gemini 3.5 Flash oder andere hier referenzierte Modelle verfügbar. Jede Zahl in den Preistabellen oben bezieht sich auf die Kontextfenstergröße und die Kosten pro Token, nicht auf ein Rate Limit.
- Ob das Gateway von TokenLab die Rate-Limit-Header über alle Upstream-Anbieter hinweg vollständig vereinheitlicht oder einige unverändert durchreicht, ist in diesem Datensatz nicht bestätigt. Betrachten Sie das Header-Parsing als anbieterspezifisch, bis Sie das aktuelle Gateway-Verhalten in der Dokumentation verifiziert haben.
- Die Modellnamen in diesem Artikel spiegeln das TokenLab-Modell-SSOT wider, das am 07.07.2026 beobachtet wurde und am 14.07.2026 abläuft. Bestätigen Sie die aktuelle Verfügbarkeit im Modellverzeichnis, bevor Sie Code ausliefern, der einen Modell-String hart kodiert.
- Die Genauigkeit der Token-Schätzung im Vergleich zur anbieterseitigen Zählung wurde in diesem Datensatz nicht gebenchmarkt. Kalibrieren Sie Ihren eigenen Schätzer anhand der in der Antwort gemeldeten Nutzung, anstatt einem festen Offset zu vertrauen.
FAQ
Warum erhält meine App 429-Fehler, obwohl die Anzahl der Anfragen unter dem Limit liegt? Prüfen Sie zuerst das Token-pro-Minute (TPM)-Budget. Ein einzelner großer Prompt kann das Token-Kontingent erschöpfen, während die Anzahl der Anfragen niedrig bleibt. Prüfen Sie auch die Nebenläufigkeit: Offene Streaming-Verbindungen können neue Anfragen blockieren, selbst wenn RPM und TPM in Ordnung aussehen.
Sollte ich sofort wiederholen, wenn ich eine 429 erhalte?
Nein. Warten Sie den in retry-after angegebenen Zeitraum ab oder verwenden Sie exponentielles Backoff mit Jitter, falls dieser Header fehlt. Sofortige Wiederholungsversuche riskieren einen „Thundering-Herd“-Effekt und können Ihr Sperrfenster verlängern.
Woher weiß ich, ob meine lokale Token-Zählung mit dem übereinstimmt, was der Anbieter mir tatsächlich in Rechnung stellt? Das wissen Sie nicht exakt. Clientseitige Tokenizer sind Approximationen. Lesen Sie die Token-Nutzung aus jedem Antwort-Body aus, verwenden Sie diese, um Ihren Schätzer im Laufe der Zeit zu kalibrieren, und halten Sie einen Sicherheitsspielraum ein, anstatt Anfragen direkt an Ihrer geschätzten Grenze zu senden.
Stellt TokenLab einen einheitlichen Satz von Rate-Limit-Headern über alle Modelle hinweg bereit? In den hier verfügbaren Daten nicht bestätigt. Verschiedene Upstream-Anbieter geben unterschiedliche Header-Formate zurück, und das Ausmaß der Normalisierung durch TokenLab sollte in der aktuellen API-Dokumentation geprüft werden, anstatt davon auszugehen.
Wie kann ich Rate Limits vermeiden, ohne meinen Plan upzugraden? Kombinieren Sie Token-Budgetierung, lokale Nebenläufigkeits-Limits und Modell-Fallback. Schätzen Sie Token vor dem Senden, teilen Sie lange Prompts auf und routen Sie auf ein alternatives Modell um, zum Beispiel von Claude Sonnet 5 auf DeepSeek V4 Pro, wenn Ihr primäres Limit erreicht ist.
Erste Schritte
Rate Limits sind eine Tatsache beim Bauen auf AI APIs, aber sie müssen keine Ausfälle verursachen. Das Gateway von TokenLab bietet Ihnen Zugriff auf den aktuellen Modellkatalog sowie Live-Preis- und Durchsatzdaten, sodass Sie Limits umgehen können, anstatt sie zu erraten. Wenn Sie auch Aggregator-Kompromisse bewerten, behandelt der OpenRouter-Vergleich Fallback-Verhalten und operativen Overhead ausführlicher. Holen Sie sich Ihren API-Key unter tokenlab.sh und bauen Sie Retry- und Fallback-Logik einmalig, nicht pro Anbieter.
Quellen
Preis geprüft am 2026-07-07
- TokenLab model directoryGeprüft am 2026-07-07



