Error fix
How to fix “429 Too Many Requests”
The client sent too many requests in a window—rate limits, quotas, or abuse protection.
Updated Apr 20, 2026
Tools that help with this
Fastest fix
Start here first. Step 1 fixes most cases—then work down the list.
- Honor Retry-After headers and exponential backoff with caps.
- Batch requests or cache idempotent reads.
- Raise limits with your provider if legitimately needed.
Why this works
These steps work because it clears stale cached state that can cause the same request to fail repeatedly.
What this means
The server is asking you to slow down. Retry-After may indicate when to try again.
Common causes
Client bursts
Tight loops, missing backoff, or parallel workers without jitter.
Shared quotas
API keys hitting daily caps across environments.
Step-by-step fix
Backoff and batch
- Honor Retry-After headers and exponential backoff with caps.
- Batch requests or cache idempotent reads.
- Raise limits with your provider if legitimately needed.
Related
Also see: 429 — browse the HTTP status hub.
FAQ
- 429 in tests?
- Mock external APIs or throttle test concurrency.
- CDN 429?
- Check edge rate limits separate from origin limits.
- GraphQL 429?
- Complexity limits and cost-based throttling may apply per query.
Fix related issues
Still stuck? Try these related fixes next.
- Kubernetes CrashLoopBackOffThe container exits repeatedly—check logs, probes, and resource limits.
- Heroku H10 — app crashedThe web process exited; Heroku serves an error page. Logs show the real exception.
- Netlify — page not foundThe deploy exists but no asset matches the path—often SPA routing or a missing file in publish dir.
- Vercel — deployment not foundThe deployment URL or project alias does not exist or was removed.
- Cloudflare 525 — SSL handshake failedCloudflare could not complete TLS with your origin—cert mismatch, wrong port, or TLS version.
Edit your error
Tweak the message and run again—we'll match an existing fix or generate a new page.
Original error message
429 Too Many Requests
