DocsReference
Limits and headers
Rates, quotas and the headers that report them.
Every keyed answer carries the per-minute rate and the period's quota, not only a 429:
| Header | Type | Meaning |
|---|---|---|
RateLimit-Limit | integer | Requests allowed a minute for this key. |
RateLimit-Remaining | integer | Requests left in the current minute. |
RateLimit-Reset | integer | Seconds until the per-minute window resets. |
X-Quota-Limit | string | Counted calls allowed this period (a day for test keys), or "unlimited". |
X-Quota-Remaining | string | Counted calls left this period, or "unlimited". |
X-Quota-Reset | string (date-time) | When the quota period resets. |
X-Overage-Used | integer | Calls past the quota this period, billed as overage. Sent only while overage is on (Scale). |
X-Overage-Limit | integer | Overage calls the account's spend cap allows this period. Sent only while overage is on (Scale). |
Retry-After | integer | Seconds to wait; sent with rate_limited only. |
Rates and quotas
- Free: 1,000 calls a month, 10 a minute per key.
- Builder: 25,000 calls a month, 60 a minute per key.
- Pro: 250,000 calls a month, 300 a minute per key.
- Scale: 2,000,000 calls a month, 1,000 a minute per key.
- Test keys: 10 a minute per key and 1,000 a day per account, outside the monthly quota.
Over the rate you get 429 rate_limited with Retry-After. Over the quota you get 429 quota_exhausted with resets_at and an upgrade link, and no Retry-After. The per-minute rate is counted per server instance, so RateLimit-Remaining is approximate.
Request bodies are limited to 64 KB. Keys go in a header; a key in the query string is refused, and should be rotated.