Hourly Rate Limit
Each account is limited to 3,600 requests per hour, which is approximately 1 request per second sustained. This limit applies across all API keys on the account — if you have multiple keys, they share the same hourly budget.Rate Limit Response Headers
Every successful API key request includes headers showing your current rate limit status:
Example response headers:
Monthly Quota
Each account has a monthly API request quota that resets at the start of each billing period. The default quota depends on your plan type:Monthly Quota Response Headers
Exceeding Rate Limits
When you exceed either limit, the API returns a429 Too Many Requests response.
Hourly Limit Exceeded
Retry-After header indicates how many seconds to wait before retrying.
Monthly Quota Exceeded
Retry-After value indicates the number of seconds until the billing period resets.
Handling Rate Limits
Best Practices
-
Monitor response headers. Check
X-RateLimit-RemainingandX-Monthly-Remainingon each response to stay within limits. -
Use exponential backoff. When you receive a
429response, wait for the duration specified in theRetry-Afterheader. If you continue to receive429responses, increase the wait time exponentially:Cap the maximum wait at 5 minutes (300 seconds). - Spread requests evenly. Instead of bursting 3,600 requests in a few minutes, distribute them evenly across the hour (~1 per second).
- Cache responses. If you repeatedly fetch the same data, cache it locally instead of re-requesting it from the API.
Example: Retry Logic (pseudocode)
Failed Authentication Protection
To protect against key probing and brute-force attacks, the API monitors failed authentication attempts by IP address. If an IP address sends too many requests with invalid API keys, it will be temporarily blocked. During a block, all API key requests from that IP address receive a429 Too Many Requests response:
Retry-After header indicates when the block will expire. To avoid triggering this protection:
- Verify your API key is correct before sending many requests.
- Do not cycle through possible key values.
- If you receive repeated
401responses, stop and check your key rather than retrying immediately.
Summary
Next Steps
- Errors — understand all error responses
- Authentication — API key setup and scopes