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.

PlanPer minutePer month
Free301,000
Developer300100,000
Unlimited1,000Unlimited (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.