LIMIT_AMOUNT / LIMIT_PERIOD.
Limits
We enforce two types of rate limits:Request Limits
| Interval | Limit |
|---|---|
| Per minute | 100 |
| Per day | 4000 |
Complexity Limits
Some endpoints consume more resources than others. We track this with “complexity tokens” that are consumed based on the endpoint:| Interval | Limit |
|---|---|
| Per minute | 200 |
| Per day | 8000 |
| Endpoint | Complexity |
|---|---|
| Most endpoints | 1 |
/v2/mem-it | 40 |
Response Headers
Every response includes headers indicating your current rate limit status. We show the most constrained bucket (minute or day) for each limit type:| Header | Description |
|---|---|
X-RateLimit-Bucket | Which time window is most constrained (minute or day) |
X-RateLimit-Limit | Maximum requests allowed in that window |
X-RateLimit-Remaining | Requests remaining in that window |
X-RateLimit-Reset | Seconds until tokens replenish |
X-Complexity-Bucket | Which time window is most constrained (minute or day) |
X-Complexity-Limit | Maximum complexity tokens allowed in that window |
X-Complexity-Remaining | Complexity tokens remaining in that window |
X-Complexity-Reset | Seconds until complexity tokens replenish |
Handling Rate Limit Errors
When rate limits are exceeded, the API will return a429 status code. We also return a Retry-After header with the number of seconds to wait before the next request will be allowed.