Skip to main content
Each API key may make 300 requests per minute. The budget is per key, and two keys never share a bucket, so one busy integration can never starve another.

Knowing where you stand

Every response on /v1/* carries the standard RateLimit headers, a 304 Not Modified included, so you can slow down before you are refused rather than after:
remaining is what is left in the current window. reset is the seconds until it refills. /health and /openapi.json are unmetered and carry none of these headers.

Being refused

Over budget, the API answers 429:
Wait for reset seconds and retry. A request refused for a bad key costs nothing against the budget, because the budget is keyed to the key itself.

Staying under it

Caching is worth doing, but it does not stretch this budget. Responses on /v1/* carry an ETag, and sending If-None-Match gets you a 304 Not Modified for anything you already hold, saving the bandwidth and the parsing. It does not save a request: a conditional request is counted before the 304 is produced, so it costs exactly as much of the 300-per-minute budget as a full 200 would. To stay under the limit, make fewer requests. Poll less often, or ask for a wider page with a larger limit instead of paging through many small ones.