Skip to main content
The API enforces rate limits to ensure fair usage and protect service stability.

Default limits

LimitValue
Requests per minute500 per IP
Rate limits are applied per IP address across all endpoints.

Rate limit headers

When you approach the limit, monitor these response headers:
HeaderDescription
X-RateLimit-LimitMaximum requests allowed per window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

Handling 429 responses

When you exceed the rate limit, the API returns a 429 Too Many Requests status. Implement exponential backoff to retry:
import time
import requests

def api_request(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)

        if response.status_code == 429:
            wait = 2 ** attempt
            print(f"Rate limited. Retrying in {wait}s...")
            time.sleep(wait)
            continue

        return response

    raise Exception("Max retries exceeded")

Best practices

  • Use pagination with page_size=100 to reduce total requests
  • Use bulk endpoints (e.g., bulk-delete) instead of individual calls
  • Cache responses when data doesn’t change frequently
  • Spread requests evenly rather than bursting