rate_limited: Rate limit exceeded
Havoptic API error rate_limited (HTTP 429, Rate limit exceeded): You sent more requests than your tier allows per minute, or used up the daily quota of your key. What it means and how to fix it.
| Field | Value |
|---|---|
| type | https://www.havoptic.com/docs/errors/rate_limited |
| HTTP status | 429 |
| title | Rate limit exceeded |
| Returned by | api.havoptic.com |
What it means
Two titles share this type: "Rate limit exceeded" (per-minute window) and "Daily quota exceeded" (keys only, resets 00:00 UTC).
The Retry-After header says how many seconds to wait. RateLimit-Policy and RateLimit describe the limits in effect (see Authentication & limits).
Common causes
- Polling in a tight loop. Data refreshes hourly, so polling more often than every few minutes returns the same data.
- Many workers sharing one key or one IP.
How to fix it
- Wait for
Retry-Afterseconds, then retry. The SDK does this for you withnew Havoptic({ retry: true }). - Send
If-None-Matchwith the lastETag: a 304 is cheap and you keep your cached body. - Use webhooks instead of polling for new releases and breaking changes.
- Need more? Use an API key (Developer: 120/min and 10,000/day).
Example response
{
"type": "https://www.havoptic.com/docs/errors/rate_limited",
"title": "Rate limit exceeded",
"status": 429,
"detail": "Anonymous: 60 requests per minute."
}