Rate Limit Headers
Every response includes rate limit information:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum number of requests allowed per 60-second window |
X-RateLimit-Remaining | Number of requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp (seconds) when the current window resets |
Example response headers
Rate Limit Exceeded
When you exceed the rate limit, the API returns a429 status code:
Handling Rate Limits
Best Practices
Respect the headers
Respect the headers
Always check
X-RateLimit-Remaining before making requests. If it’s low, space out your calls.Use exponential backoff
Use exponential backoff
If you receive a
429, wait for the time indicated by X-RateLimit-Reset. If the header is missing, use exponential backoff starting at 1 second.Batch when possible
Batch when possible
Use the batch keyword endpoint (
POST /api/v1/keywords/difficulty) to check up to 10 keywords in a single request instead of making 10 separate calls.Parallelize carefully
Parallelize carefully
If you’re making many requests, track remaining quota across all concurrent requests to avoid bursting over the limit.
