Core concepts
Rate limits
Per-key request limits and 429 handling.
Each API key is limited to a number of requests per minute based on your workspace plan. Limits are counted per key in one-minute windows and are approximate, so do not rely on reaching the exact number.
| Plan | Requests per minute (per key) |
|---|---|
| Free | 120 |
| Starter | 600 |
| Pro | 1,500 |
| Enterprise | 6,000 |
Rate limit headers
When the limit is exceeded, the API responds with HTTP 429 and error "Rate limit exceeded". These headers are included on 429 responses only (successful responses do not carry them):
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests per minute for your plan. |
| X-RateLimit-Remaining | Requests left in the current window (0 on a 429). |
| X-RateLimit-Reset | Unix timestamp (seconds) when the window resets. |
| Retry-After | Seconds to wait before retrying. |
429 response
JSON
UTF-8 · LF · JSONtickos.dev
On a 429, wait Retry-After seconds before retrying. If you retry in a loop, add exponential backoff (e.g. 1s, 2s, 4s) up to a maximum delay.
Not the same as plan quotas
Plan quotas (monthly, daily or hourly email limits, storage, recipients per email) also return 429, but with error "Limit exceeded" and no rate limit headers. See Errors for details.
Need more headroom?
Upgrade your plan from Settings > Billing to raise the per-minute limit.