Both are counted per organization, not per API key. Splitting traffic across keys does not raise either limit.
Rollout status. Organization-level burst limits and the
X-RateLimit-*,
X-Quota-*, and X-LLM-Stats-Plan headers are planned. Today, requests are
limited per client and per route (/v1/models and /v1/rankings 60/min,
/v1/scores 120/min, /v1/updates 30/min) and return 429 with
Retry-After when exceeded. Those route limits remain in place as an abuse
backstop after launch and are not the product quota. See the
changelog.Burst limits by plan
The counter increments on every authenticated request, including
304, 4xx, and 5xx responses. Requests rejected before authentication (missing or invalid key) are limited per client IP instead.
Response headers
Once plan enforcement ships, every authenticated/stats/v1/* response — including error responses — carries these headers. Until then they are absent (see the rollout status above).
Headers reflect the state after the current request was counted. A
response with
X-Quota-Remaining: 0 succeeded; the next data request will
return 429.X-Quota-Limit: unlimited and X-Quota-Remaining: unlimited; X-Quota-Used still reports today’s count.
Header values are read from a fast counter and may lag the exact number by a few requests under heavy parallelism. Treat them as guidance, not a ledger.
Handle 429 responses
A429 carries the standard error envelope and tells you which limit you hit.
- Read
error.limit_type. - For
burst, sleep forRetry-Afterseconds (add a little jitter) and retry. Bound the retries. - For
daily_quota, stop making data requests untilreset_at. Retrying sooner returns the same error. Surface the condition to whoever can upgrade the plan. - Never retry in a tight loop:
429responses still count toward the burst limit.
Idempotency-Key
SendIdempotency-Key (up to 128 characters) on requests you might retry after a client-side timeout. Repeated requests with the same key from the same organization and API key on the same UTC day reserve one unit of daily quota, not one per attempt. The key does not affect the burst counter or the response body.
Caching headers
Data routes return standard HTTP caching headers. Using them is the cheapest way to save quota, because a304 costs nothing.
ETag and Last-Modified ship with plan enforcement. Until then, data
routes return 200 with Cache-Control only.Check your quota
GET /v1/account is a meta route (exempt from the daily quota) that returns your plan and current usage.
plan.daily_quota is the base quota for your plan; usage.limit includes any verified-attribution bonus. usage.limit, usage.remaining, and plan.daily_quota are null for unlimited Commercial plans. usage.reset_at is the Unix timestamp of the next 00:00:00 UTC.
/v1/account is planned and ships with plan enforcement. Until then, view
usage in the developer console.