api
rate_limiting
ai_generated
true
429 Too Many Requests — Retry-After header ignored by client
ID: api/rate-limit-retry-after-ignored
92%Fix Rate
90%Confidence
4Evidence
2023-01-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| any | active | — | — | — |
Root Cause
Client ignores Retry-After header causing progressive backoff escalation or IP ban.
genericWorkarounds
-
93% success Parse Retry-After header and sleep for the specified duration
const retryAfter = parseInt(res.headers['retry-after'], 10) || 1; await sleep(retryAfter * 1000);
Sources: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
-
90% success Implement exponential backoff with jitter
delay = min(base * 2^attempt + random_jitter, max_delay)
Sources: https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
Dead Ends
Common approaches that don't work:
-
Retry immediately in a tight loop
95% fail
Hammering a 429 endpoint causes progressive penalty escalation
-
Only add a fixed 1-second delay
70% fail
Fixed delay ignores the Retry-After value