Prompt
Why are my requests being rate-limited even with backoff?
Latest observation
Sep 24, 2026
OpenAI APIWeb search: off
Backoff helps, but it doesn’t guarantee you won’t hit rate limits. Common reasons you can still be rate-limited:
- Your overall traffic is still too high: If your average request rate exceeds the API’s quota, retries just spread the pressure out—they don’t reduce it.
- Multiple workers/processes are sharing the same limit: Each instance may think it’s “being polite,” but together they can exceed the account/org limit.
- You’re hitting a burst limit, not just a per-minute limit: Even with backoff, a short spike can trigger 429s.
- Retry storms: If many requests fail at once and all retry on similar schedules, they can synchronize and keep colliding with the limit.
- You’re backing off on failures, but not on normal traffic: Backoff only reacts after a 429; it doesn’t proactively keep you under the ceiling.
- Other quota dimensions: Some APIs rate-limit by request count, tokens, concurrent requests, or endpoint-specific limits. You may be under one limit but over another.
- Insufficient jitter: If your backoff is deterministic, retries can line up and repeatedly fail.
- Long-running requests tie up concurrency: Even if request rate is modest, too many in-flight calls can trip concurrency caps.
What usually helps:
- Throttle proactively to stay below the documented limits.
- Use exponential backoff with random jitter.
- Cap concurrent requests.
- Centralize rate limiting across all workers.
- Respect
Retry-Afterheaders if the API returns them. - Reduce payload size / token usage if the limit is token-based.
If you want, paste your retry logic or describe your traffic pattern, and I can help pinpoint the likely cause.