Rate Limits
Rate Limits
Section titled “Rate Limits”Rate limits are enforced per API key using a KV-based sliding window.
Limits by Tier
Section titled “Limits by Tier”| Tier | Requests/Minute | Daily Reads |
|---|---|---|
read_only (claimed) | 30 | 500/day |
read_write (subscriber) | 100 | Unlimited |
read_write (sponsored) | 100 | Unlimited |
| Blocked (paused) | — | — |
Response Headers
Section titled “Response Headers”Every API response includes rate limit headers:
X-RateLimit-Limit: 100X-RateLimit-Remaining: 95X-RateLimit-Reset: 1718800000| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per minute for your key |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Daily Read Limits
Section titled “Daily Read Limits”Daily read limits are tracked per API key and reset at midnight UTC.
| Tier | Daily Read Limit |
|---|---|
read_only | 500 reads/day |
read_write | Unlimited |
Rate Limited Response
Section titled “Rate Limited Response”When you exceed your rate limit, the API returns 429 Too Many Requests:
{ "error": "rate_limited", "message": "Rate limit exceeded. Try again after the reset time.", "retry_after": 45}Best Practices
Section titled “Best Practices”- Monitor headers — Check
X-RateLimit-Remainingbefore making batch requests - Use idempotency keys — Safe retries without consuming extra quota
- Batch operations — Combine multiple items into fewer requests where possible
- Upgrade tier — Move from
read_onlytoread_writefor higher limits