Skip to main content

Rate Limiting

API requests are rate-limited per API key based on your plan.

Limits by plan

PlanRequests per minute
Starter50
Growth200
Scale500
Enterprise1,000

Response headers

Every response includes rate limit headers:

HeaderDescription
X-RateLimit-LimitMaximum requests per minute for your key
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetSeconds until the window resets

Exceeding the limit

When you exceed the limit, the API returns 429:

{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}
}

The response includes an additional Retry-After header with the number of seconds to wait.

OAuth endpoint limits

The OAuth token and revocation endpoints have separate IP-based rate limits:

EndpointLimit
POST /oauth/token30 requests/minute per IP
POST /oauth/revoke60 requests/minute per IP

These limits apply regardless of plan and are based on the client's IP address.

Best practices

  • Check X-RateLimit-Remaining before sending bursts of requests
  • Use the Retry-After header to schedule retries
  • Implement exponential backoff for 429 responses
  • Use webhooks instead of polling when possible