Rate Limiting
The gateway enforces sliding-window rate limits per authentication method.
Per-minute limits
Set by how the request authenticates. Your credit balance does not change them.
| Auth method | Rate limit |
|---|---|
| API key | 60 req/min |
| Session | 30 req/min |
| SpendAuth | 120 req/min |
| Anonymous | 10 req/min |
Daily caps
Set by credit balance, independent of the per-minute limit above.
| Caller | Daily limit |
|---|---|
| Anonymous (no auth) | 5 req/day |
| Authenticated, zero credits | 20 req/day |
| Any credits | Unlimited |
Response headers
Every response includes rate limit headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1712793600429 responses
When rate limited:
{
"error": {
"message": "Rate limit exceeded for this API key.",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}The X-RateLimit-Reset header indicates when the window resets (Unix timestamp in seconds).