What does HTTP 429 mean?
The client sent too many requests in a given amount of time. Rate limiting. The response may include Retry-After (seconds or a date) and headers such as RateLimit-Remaining. Bot protection and APIs use 429 heavily.
4xx Client error: The request has a problem the client can fix: wrong URL, missing credentials, bad data or too many requests.
Common causes of a 429 error
- Exceeding an API’s rate limit.
- Aggressive crawling or scraping.
- Shared IP addresses (offices, VPNs, cloud hosts) hitting a per-IP limit.
How to fix 429 Too Many Requests
- Respect
Retry-Afterand use exponential backoff. - Cache responses and batch requests.
- As a site owner, exempt verified search-engine crawlers from strict limits.
429 and SEO
Googlebot slows down when it receives 429s. Short bursts are fine; sustained 429s reduce crawling and can drop pages from the index.
Example response
HTTP/1.1 429 Too Many Requests
Retry-After: 60
RateLimit-Remaining: 0
How to return a 429 response
Node.js (Express)
res.status(429).json({ error: 'Too Many Requests' });PHP
http_response_code(429);Python (Flask)
return {'error': 'Too Many Requests'}, 429Go (net/http)
w.WriteHeader(429)nginx
return 429;
Related status codes
- 503 Service Unavailable — The server is temporarily unable to handle the request.
- 403 Forbidden — The server understood the request but refuses to authorize it.
Check which status code a URL returns with the HTTP header checker.
Questions fréquentes
What does status code 429 mean?
How do I fix a 429 error?
Retry-After and use exponential backoff. Cache responses and batch requests.