Rate limits
How many requests an API key may make per hour, and how to read the limit headers.
Limits apply per API key, per UTC clock hour. The tier is set on the key when it is issued.
| Tier | Requests per hour |
|---|---|
| Standard | 1,000 |
| Premium | 10,000 |
| Unlimited | 100,000 |
Every response carries the current state of the window:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed in the current hour |
X-RateLimit-Remaining | Requests left in the current hour |
X-RateLimit-Reset | Unix timestamp (seconds) when the window resets |
Once the limit is reached, requests fail with HTTP 429 until the window resets:
{
"status": "error",
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Limit: 1000 requests per hour."
}
}Staying under the limit
Read X-RateLimit-Remaining and pause before it reaches zero rather than reacting to 429s.
Use cursor pagination with a large limit instead of many small pages, and subscribe to
webhooks instead of polling for changes.
If your integration needs more than the Standard tier, contact hello@karma.life with the API key name.