Skip to main content

Quotas and rate limits

This page is the single source of truth

These numbers appear in several places — the pricing page, the MCP connector guide, error messages. They are documented here; anywhere else should link to this page rather than restate them, because a second copy is a copy that drifts.

Burst limit — everyone

30 requests per 60 seconds. This applies to every caller on every tier, authenticated or not. It is DDoS protection and key-sharing detection, not a commercial limit.

Exceeding it returns 429 with Retry-After: 60.

Daily limits

CallerCalls per dayNotes
Anonymous (no key)50 per IPvalidate and dsl-reference only
Free tier key25Counted per user, not per key
Pro tier keyunlimitedBurst limit still applies
Enterprise keyunlimitedBurst limit still applies

Anonymous access exists so an agent or a script can try the API before anyone signs up. It covers the endpoints that do not need a key — see Overview.

Rotating does not reset your daily quota

The free-tier counter is keyed to your user account, not to the key. Rotating a key gives you a new secret, not a new day's allowance.

Keys per account

TierActive keys
Free1
Pro1
Enterprise5

"Active" means not revoked. An expired-but-not-revoked key still occupies its slot — rotate and extend it, or revoke it first.

Response headers

Every rate-limited response carries its budget, so a well-behaved client never has to guess:

HeaderMeaning
X-RateLimit-LimitThe applicable limit
X-RateLimit-RemainingCalls left in the current window
X-RateLimit-ResetISO-8601 instant when the window resets
Retry-AfterSeconds to wait — present on 429
X-API-Key-TierThe tier the request was served under

Anonymous responses additionally carry X-Upgrade-URL and X-Upgrade-Hint.

Behaviour under load

The limiter fails open. If its backing store is briefly unreachable, requests are allowed and a warning is logged, rather than the API going down because the thing counting requests went down.

On a horizontally-scaled deployment without a shared store, each replica counts independently — so effective limits multiply by the replica count. The hosted service uses a shared store; this only matters if you self-host.

Other limits

Uploading your own NodeSet2 files (BYOM) is bounded separately, and deliberately not by tier:

LimitValue
Largest single NodeSet2.xml25 MB
Dependencies per model20
Total uploaded per user200 MB

Signed dependency download URLs live for 5 minutes.