Limits
Rate limits are tracked per API key. Every response includes the current rate limit status:
When rate limited
You’ll receive a429 Too Many Requests response:
reset Unix timestamp before making more requests.
Pagination limits
Best practices
Use webhooks instead of polling
Instead of callingGET /rankings/keywords every 5 minutes to check for changes, subscribe to the keywords.updated webhook and only fetch data when positions actually update.
Batch your requests
When syncing multiple data types for a project, fetch them in parallel:Cache responses
Store API responses in your database and serve your UI from the cache. Only re-fetch when:- A webhook event signals new data is available
- The user manually requests a refresh
- A scheduled sync interval passes (e.g., daily for backlinks which don’t have webhooks yet)
Use pagination efficiently
For large datasets, uselimit and offset to page through results: