Documentation

Rate Limits

Per-plan request limits and how to handle 429 responses.

Limits by plan

Rate limits are enforced per API key, on a rolling window.

PlanRequests / minuteRequests / dayAPI keys
Free55001
Developer6010,0005
Pro300Unlimited50

When you exceed a limit

Requests over the limit return 429 with the code RATE_LIMIT_EXCEEDED. The response includes a Retry-After header (seconds to wait) and an X-RateLimit-Reset header (the Unix timestamp when capacity frees up).

// Status: 429 Too Many Requests
// Headers:
//   Retry-After: 42
//   X-RateLimit-Reset: 1750000042

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Please slow down.",
    "retry_after_seconds": 42
  }
}

Handling 429s

  • Respect the Retry-After header before retrying.
  • Use exponential backoff with jitter for repeated retries.
  • Spread bursty workloads across time, or distribute across multiple keys where appropriate.
  • If you consistently hit limits, upgrade your plan for higher throughput.

Need higher limits than Pro for a production workload? Get in touch.