HTTP 429 — Too Many Requests
HTTP 429
Too Many Requests
You have sent more requests than the service allows in a given period.
What 429 actually means
Rate limiting. The server is fine, the request is fine, but you have used up your allowance and it wants you to slow down. A well-implemented 429 carries a `Retry-After` header saying how long to wait, and often `X-RateLimit-*` headers describing the budget. Limits are usually applied per API key, per account or per IP address, which is why an office or a NAT-ed network can hit one collectively without any single person doing anything unusual.
Common causes
- An API client exceeding its requests-per-minute quota
- A retry loop with no backoff hammering an endpoint
- Many users behind one IP address sharing a per-IP limit
- A crawler or scraper being throttled
- Repeated failed login attempts triggering brute-force protection
If you're just trying to view the page
- Wait — the limit resets on a timer, and the page usually tells you roughly how long
- Stop refreshing; each retry can extend the block on some systems
- If you are on a shared or corporate network, someone else on the same IP may have triggered it
- Turn off a VPN, since heavily used VPN exit addresses hit rate limits constantly
If it's your site
- Honour `Retry-After` rather than retrying immediately, and use exponential backoff with jitter when it is absent
- Cache responses so repeated identical requests do not consume budget
- Batch requests where the API supports it, and remove polling in favour of webhooks
- On the server side, always send `Retry-After`; a 429 without it forces clients to guess and usually guess wrong
- Rate limit per account rather than per IP where you can, so shared networks are not penalised as one
Reference
- Status code
- 429
- Reason phrase
- Too Many Requests
- Category
- 4xx — Client Error
- Defined in
- RFC 6585 §4
Common questions
- What does HTTP 429 mean?
- You have sent more requests than the service allows in a given period. Rate limiting. The server is fine, the request is fine, but you have used up your allowance and it wants you to slow down.
- How do I fix a 429 error?
- Wait — the limit resets on a timer, and the page usually tells you roughly how long
- Is 429 a client error or a server error?
- 429 is in the 4xx range, which means client error. The request itself was the problem, so retrying it unchanged will usually return the same code.
Related pages
- 404 Not Found The server is reachable and working, but there is nothing at the address you ask
- 403 Forbidden The server understood the request and is refusing to allow it, and logging in wi
- 401 Unauthorized You need to authenticate, and either you did not or your credentials were reject
- 400 Bad Request The server could not understand the request because something about it is malfor
- 413 Content Too Large The request body is bigger than the server is willing to accept.
- 422 Unprocessable Content The request is well-formed and understood, but the data in it fails the rules.
- 405 Method Not Allowed The URL exists, but it does not accept the HTTP method you used.
- 409 Conflict The request cannot be completed because it clashes with the current state of the
- 415 Unsupported Media Type The server will not accept the format of the body you sent.
- 408 Request Timeout The server gave up waiting for the client to finish sending its request.
- 410 Gone The resource was deliberately removed and is not coming back, and there is no fo
- 451 Unavailable For Legal Reasons The content is blocked because of a legal demand — a court order, takedown notic