Skip to main content
Each API key has a rate limit of 100 requests per minute (a 60-second sliding window). Keys scoped to narrower permissions get tier-specific limits: A key’s limit follows its most permissive scope, and keys with a custom limit keep that instead. The X-RateLimit-Limit header on every response tells you your key’s exact limit.

What happens at the limit

When you hit the limit, subsequent requests return 429 Too Many Requests with a Retry-After header (seconds until capacity frees up):

Handling 429s correctly

Don’t wait for a 429 - track the remaining counter and start backing off when it gets low (e.g. below 10).
Standard pattern: on 429, sleep for the Retry-After seconds (or for an initial delay of 1s, doubling each retry up to a cap). Retry the same request. Never retry tighter than once per second.
Cache hierarchy data for 5–10 minutes (it changes infrequently). Cache historical stats for completed date ranges indefinitely.
Prefer one large date-range query over many small ones. Use hierarchy filters (organization_id, brand_id, campaign_id) to reduce data volume per request.

Need a higher limit?

If your integration’s design genuinely requires more than 100 requests/minute per key, contact support@politicalcomms.com with details on your use case. We can issue keys with elevated limits for production integrations that demonstrate good caching and batching practices.