Rate Limits
Rate limits are configured per API key based on your account plan. Exceeding limits returns HTTP 429 with details about your current usage.
Limits by Plan
| Plan | Monthly Requests | API Keys | Overage |
|---|---|---|---|
| Sandbox (Free) | 50 | 1 | Blocked until next month |
| Developer ($20/mo) | 2,000 | 5 | $0.015/request |
| Professional ($99/mo) | 20,000 | Unlimited | $0.008/request |
Need higher limits? View pricing or contact us for Enterprise.
Rate Limit Headers
Every API response includes headers indicating your current usage:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests per period |
| X-RateLimit-Remaining | Requests remaining in current period |
| X-RateLimit-Reset | Unix timestamp when the limit resets |
Handling HTTP 429
When you exceed your rate limit, the API returns HTTP 429 with a JSON body:
{
"error": "RATE_LIMIT_EXCEEDED",
"message": "Monthly quota exceeded. Upgrade your plan or wait until the next billing period.",
"limit": 50,
"used": 50,
"resetAt": "2026-04-01T00:00:00Z"
}Best practice: check the X-RateLimit-Remaining header proactively and implement exponential backoff when approaching limits.