IP-based rate limiting
Every request is rate-limited by source IP, regardless of authentication.
These limits apply per IP address. If multiple API keys share the same IP (e.g. corporate NAT), they share this budget.
API key rate limiting
Authenticated requests are additionally rate-limited per API key. These limits are configured per key and depend on your plan.
Your actual limits may differ from the defaults above depending on your plan.
Response headers
Every response includes rate-limit headers so you can track your usage:Error responses
When a rate limit is exceeded, the API returns429 Too Many Requests with a JSON body:
Retry-After header is also set, indicating how many seconds to wait before retrying.
Possible rate-limit errors
Best practices
MonitorX-RateLimit-Remaining and X-RateLimit-Remaining-Minute headers to proactively throttle before hitting limits.
- Use exponential backoff — when you receive a
429, wait for theRetry-Afterduration before retrying. - Consolidate IPs — if you run distributed workers, be aware of the unique IP limit per key.
- Use POST multi-search — combine multiple queries into a single request where possible.