What 429 means
Every API limits how fast you can call it, per key or per IP. 429 means you hit that limit. The Retry-After header (seconds or a date) says when to try again, and many APIs send X-RateLimit-* headers showing your quota.
Common causes
- Too many requests per second or minute, e.g. a loop or many parallel requests.
- A daily or monthly quota is used up (free tiers especially).
- Sharing an IP (or key) with other heavy users.
How to fix it
If you're calling an API
- Wait for Retry-After before retrying, then use exponential backoff with jitter.
- Cache responses so you make fewer calls; batch requests where the API allows.
- Throttle your client (a queue or rate limiter) and watch the X-RateLimit-Remaining header.
If you run the server
- Always send Retry-After and rate-limit headers (RateLimit-Limit, RateLimit-Remaining) so clients can slow down.
Should you retry?
Yes, after the Retry-After time, with exponential backoff.
Example response
HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Too Many Requests",
"status": 429,
"detail": "You've sent too many requests in a given time: you're being rate-limited."
}Related headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Defined in: RFC 6585. 429 is a client error: change the request before retrying.
Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.