Rate limits
Each API key can make 60 requests a minute, and each IP address 120. Every response carries headers that say how much of the limit is left.
ReferenceUpdated 1 min read
On this page
The Brand API limits how fast each key and each IP address can call it, so one busy integration cannot slow the API down for everyone else.
Limits#
| Limit | Requests per minute |
|---|---|
| Per API key | 60 |
| Per IP address | 120 |
The IP limit is checked first, before the key, so it also covers requests with a bad key. Both windows are one minute long.
Rate limit headers#
Responses carry the state of the limit:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed in the window. |
X-RateLimit-Remaining | Requests left in the window. |
X-RateLimit-Reset | When the window resets, as an ISO 8601 timestamp. |
Retry-After | On a 429 only: seconds to wait before trying again. |
On an authenticated request the headers describe your key's limit.
Stay under the limit#
- Page with
per_page=100. It is the same data in a quarter of the requests. - Sync on a schedule rather than on demand, and store what you read.
- Run one sync at a time per key. Parallel workers on one key share its 60 requests.
- On a
429, wait forRetry-Afterand then back off exponentially. See Errors for a retry loop.
Related
- ErrorsThe Brand API uses conventional HTTP status codes. 2xx means success, 4xx means something in the request needs to change, and 5xx means retry later.
- Pagination and requestsEvery response shares one JSON envelope. List endpoints page with page and per_page, query parameters are strict, and every date is ISO 8601 in UTC.
Was this page helpful?