Rate limits & quotas
Two limits apply to every key: a per-minute rate limit (burst protection) and a monthly quota (plan volume). Both are enforced atomically, and both are fully observable.
| Plan | Per minute | Per month |
|---|---|---|
| Free | 30 | 1,000 |
| Developer | 300 | 100,000 |
| Unlimited | 1,000 | Unlimited (fair use) |
When you hit a limit
Rate-limited requests return 429 with a Retry-Afterheader and don't count against your monthly quota:
HTTP/1.1 429 Too Many Requests
Retry-After: 23
{
"success": false,
"error": { "code": "rate_limited", "message": "…", "status": 429 }
}Monitoring with /quota
The quota endpoint is free to call (it never consumes quota) and keeps working even when your quota is exhausted:
GET /api/v1/quota
{
"success": true,
"data": {
"plan": "developer",
"monthly_used": 41250,
"monthly_limit": 100000,
"rate_limit_per_minute": 300,
"snapshot_granularity": "5min",
"historical_days": 365,
"resets_at": "2026-08-01T00:00:00.000Z"
}
}Need more headroom? Compare plans.