Rate limits
Each team has a request allowance per minute that follows what the team pays for:
| What the team has | Requests a minute |
|---|---|
| Free credits only | 30 |
| Any paid pack | 300 |
| Starter monthly plan | 120 |
| Builder monthly plan | 300 |
| Pro monthly plan | 600 |
| Scale monthly plan | 1,200 |
| Enterprise | 3,000 |
Bursts are fine. You can spend a whole minute's allowance at once; what counts is the average over a short window. Requests we refuse do not count against you.
Headers#
Every answer includes:
x-ratelimit-limit: the requests a minute your team's tier allows.x-ratelimit-remaining: what is left right now.
When you hit the limit#
The answer is 429 rate_limited, which is retryable and free, with a retry-after header holding the exact number of seconds to wait:
{
"ok": false,
"error": { "code": "rate_limited", "message": "Too many requests for this team's plan; wait for Retry-After.", "retryable": true },
"credits_charged": 0,
"request_id": "req_0123456789abcdef01234567"
}Wait for retry-after, then continue. The retry helper already does this. Do not spread a burst over many keys: the limit is per team, not per key.
Batching#
A batch of up to 100 requests runs concurrently on our side and saves round trips, but each item still counts toward the limit.
More headroom#
Plans raise the limit; see Credits and pricing. For sustained volume above the top tier, write to [email protected].