--- title: "429 Too Many Requests — what it means and how to fix it" description: "You have sent more requests than the service allows in a given period. What causes an HTTP 429, what to try as a visitor, and what to check if it is your own site." url: https://atoneplace.net/error/429/ site: "At One Place" --- # 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 1. Wait — the limit resets on a timer, and the page usually tells you roughly how long 2. Stop refreshing; each retry can extend the block on some systems 3. If you are on a shared or corporate network, someone else on the same IP may have triggered it 4. Turn off a VPN, since heavily used VPN exit addresses hit rate limits constantly ## If it's your site 1. Honour `Retry-After` rather than retrying immediately, and use exponential backoff with jitter when it is absent 2. Cache responses so repeated identical requests do not consume budget 3. Batch requests where the API supports it, and remove polling in favour of webhooks 4. On the server side, always send `Retry-After`; a 429 without it forces clients to guess and usually guess wrong 5. 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](https://atoneplace.net/error/404/) - [403 Forbidden](https://atoneplace.net/error/403/) - [401 Unauthorized](https://atoneplace.net/error/401/) - [400 Bad Request](https://atoneplace.net/error/400/) - [413 Content Too Large](https://atoneplace.net/error/413/) - [422 Unprocessable Content](https://atoneplace.net/error/422/) - [405 Method Not Allowed](https://atoneplace.net/error/405/) - [409 Conflict](https://atoneplace.net/error/409/) - [415 Unsupported Media Type](https://atoneplace.net/error/415/) - [408 Request Timeout](https://atoneplace.net/error/408/) - [410 Gone](https://atoneplace.net/error/410/) - [451 Unavailable For Legal Reasons](https://atoneplace.net/error/451/) ## Sources - Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA (https://www.iana.org/assignments/http-status-codes/) - RFC 9110: HTTP Semantics — IETF (https://www.rfc-editor.org/rfc/rfc9110.html)