HTTP 429 Too Many Requests — What It Means and How to Fix It

The HTTP 429 Too Many Requests status code indicates that the user has sent too many requests in a given amount of time ('rate limiting'). This status is intended for use with rate-limiting schemes and is often accompanied by a 'Retry-After' header indicating how long to wait before making a new request.

Last updated: 2026-06-11

RECOMMENDED

Essential Reading: Designing Data-Intensive Applications

The system design bible for software engineers. Learn to build reliable, scalable, and maintainable systems.

View on Amazon →
Status Code 429
Name Too Many Requests

Common Causes

  • Exceeding an API's defined request rate limit within a specific timeframe.
  • Automated scripts or bots making excessive requests to a server.
  • Rapid-fire user actions that trigger multiple requests in quick succession.
  • Denial-of-service (DoS) or distributed denial-of-service (DDoS) attacks.

Code Examples to Handle HTTP 429

curl -I https://httpbin.org/status/429

How to Fix It

  1. Check for a 'Retry-After' header in the response and respect the indicated waiting period before retrying the request.
  2. Implement exponential backoff or a similar retry strategy in your client application to gradually increase delay between retries.
  3. Review your application's request patterns to identify and optimize any inefficient or overly frequent API calls.
  4. If you are the server owner, review and adjust your rate-limiting policies to better accommodate legitimate traffic while still protecting resources.
💡 Example: A user's application tries to fetch data from a public API every second. After 60 requests, the API server responds with a 429 status code and a 'Retry-After: 30' header, indicating the application has exceeded the rate limit and should wait 30 seconds before trying again.
🛠️ Developer Tip: Always implement robust error handling for 429 responses, including respecting 'Retry-After' headers and using backoff strategies. This prevents your application from being permanently blocked and improves user experience.

Related Status Codes

Frequently Asked Questions

What causes HTTP 429?

HTTP 429 is caused by a client sending too many requests to a server within a specified time period, triggering the server's rate-limiting mechanism. This is often to prevent abuse, ensure fair resource usage, or protect against DoS attacks.

How do I fix HTTP 429?

To fix HTTP 429, you should first check for and respect the 'Retry-After' header if present. Implement a retry mechanism with exponential backoff, reduce the frequency of your requests, or optimize your application to make fewer, more efficient API calls. If you control the server, you might need to adjust your rate-limiting configuration.