HTTP

429 Too Many Requests

You've sent too many requests in a short time and hit a rate limit.

What it looks like

HTTP/1.1 429 Too Many Requests
Retry-After: 30

What does "429 Too Many Requests" mean?

Returned by an API or proxy once you exceed its rate limit. The Retry-After header, when present, says how many seconds to wait; many APIs also send X-RateLimit-Remaining headers so you can see the limit coming.

What causes "429 Too Many Requests"?

  • A loop or retry storm hammering the API.
  • Shared IP exceeding a per-IP limit.
  • Missing backoff on retries.

How do I confirm the cause?

  1. Check the rate-limit headers on a successful response to learn the limit and how fast you are using it.
  2. Look for a loop, a retry without delay or a component re-rendering and re-fetching — one bug can send hundreds of requests.
  3. If requests come from a shared IP (office NAT, CI runners, serverless), other users may be spending the same quota.
  4. Check whether the limit is per API key, per user or per IP address — the API’s documentation says, and it changes the fix.

How do I fix "429 Too Many Requests"?

  • Slow down; honor the Retry-After header.
  • Add exponential backoff and caching.
  • Request a higher quota if it's a paid API.

How do I stop it happening again?

  • Cache responses that do not change often instead of fetching them on every page view.
  • Retry with exponential backoff and jitter, always honouring Retry-After.
Got a different error? Paste it into the Explain This Error tool → Identifies the family and the fix — runs locally, nothing uploaded.

Related errors