Rate Limits
How many requests you can make, what headers to watch, and what happens when you exceed the limit.
Each token is rate-limited per minute. The limit depends on your plan.
| Plan | Rate limit |
|---|---|
| Trial | No API access |
| Pro | 60 requests / minute per token |
| Studio | 300 requests / minute per token |
| Pro + Insure | 300 requests / minute per token |
Limits are per token, not per account. Two tokens on the same studio each get their own independent window. One integration burning through its budget does not affect another token.
Rate-limit headers
Every response from the API includes three rate-limit headers, whether the request succeeded or was rejected:
| Header | Value |
|---|---|
X-RateLimit-Limit | Your per-minute ceiling for this token. |
X-RateLimit-Remaining | Requests left in the current window. Never shown below 0. |
X-RateLimit-Reset | Unix timestamp (seconds) when the current window resets. |
Use X-RateLimit-Remaining to self-throttle before you hit the limit.
When you hit the limit
A request over the limit returns:
- HTTP status
429 - a
Retry-Afterheader telling you how many seconds to wait before retrying X-RateLimit-Remaining: 0
The Retry-After value is always at least 1 second.
Back off until the Retry-After window passes, then retry.
HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1700000030The rate check runs before any data query. A rejected request does not consume any query resources.
If you regularly hit the Pro limit, that's usually a sign to move to the Studio plan for the higher limit. See Membership → Plans.