Rate Limits

API calls are rate-limited on two independent buckets:

Window Limit
Hourly Plan's hourly quota
Minute 10% of the hourly quota

Both limits must be respected. The minute bucket prevents bursts that would otherwise consume an hour's quota in seconds.

Plan quotas

Plan Calls / hour Calls / minute
Starter 1,000 100
Team 2,500 250
Business 5,000 500
Enterprise Custom Custom

Per-key overrides are available for specific integration workloads — contact support.

Response headers

Every authenticated response includes:

X-RateLimit-Limit:     <current bucket's capacity>
X-RateLimit-Remaining: <tokens left>
X-RateLimit-Reset:     <unix timestamp when the bucket refills>
X-RateLimit-Scope:     ok | hour | minute

Exceeded

When you exceed either bucket, the server returns HTTP 429 Too Many Requests:

HTTP/1.1 429 Rate limit exceeded (minute)
Retry-After: 1

The response body is the plain-text error message. Wait at least Retry-After seconds before retrying. Good clients implement exponential backoff after repeated 429s.

Implementation details

Rate limiting is a leaky-token bucket per API key. Tokens refill continuously: the hourly bucket refills at hourlyLimit / 3600 tokens per second, the minute bucket at minuteLimit / 60. A burst of 100 calls on a Starter plan will drain the minute bucket immediately and must then wait ~0.6s between further calls.