Reference

Rate limits

Successful responses (HTTP 2xx) include the rate-limit headers below. A 429 response also includes the active throttle window when a rate or quota window is exhausted. Treat the headers as part of your control loop rather than retrying blindly.

Headers

X-RateLimit-Limit

Requests allowed in the active hourly rate-limit or monthly quota window.

X-RateLimit-Remaining

Requests remaining in the active hourly rate-limit or monthly quota window.

X-RateLimit-Reset

Unix timestamp (seconds) when the active rate-limit or quota window resets.

Retry-After

Seconds until the next request is allowed on 429 responses.

Other 4xx responses may omit these headers. Read the error body code first; only retry automatically when the status and headers describe a retryable throttle window.

Monthly REST quota

Every plan with a fixed volume, Free included, has a monthly REST request quota. All API keys of an organization share it. Requests count once they pass authentication and the quota check, including 4xx validation errors; Live WebSocket traffic and History replays do not count. The window is the UTC calendar month and resets at 00:00 UTC on the 1st. Enterprise quotas are agreed per contract.

Free1,000 included requests / month
Starter1M included requests / month
Growth5M included requests / month
Pro25M included requests / month

Once the quota is used up, REST requests return 429 with rate_limit_exceeded, X-RateLimit-Limit set to the monthly quota, X-RateLimit-Remaining: 0 and X-RateLimit-Reset at the next month start. The error body also carries error.upgradeUrl, the billing page. Upgrade under Billing for a higher quota.

Quota exhaustion

Quota exhaustion returns 429. Back off until X-RateLimit-Reset (Unix seconds) before retrying. Retrying without honouring the reset header risks extending the throttle window.