Pixel API rate limits
Each workspace can call the Pixel API up to 60 times per minute. Every key in the workspace shares that budget, and every response tells you how much of it is left.
60 requests per minute · Per workspace · Shared by all keys · Retry-After on 429
The limit
- 60 requests per minute for each workspace, on every plan.
- Shared by every key in the workspace. Creating another key doesn't add capacity.
- Every request that passes the key check counts — reads, writes,
GET /me, and requests that then fail validation or lack a scope. Requests rejected because the key is missing or invalid don't count. - The browser pixel isn't affected. Tracking from your website doesn't use this budget.
How the window works
The window is a fixed minute that starts with your first request. After 60 requests in that minute, further requests get 429 until it ends; the next request after that starts a fresh window. It isn't aligned to the clock, so read X-RateLimit-Reset rather than assuming the window ends on the minute.
In practice that's an average of one request per second. Spread scheduled jobs out instead of firing them all at once.
Response headers
Every request that passes the key check comes back with the current budget, whether it succeeded or not:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed per window: 60. |
X-RateLimit-Remaining | Requests left in the current window. |
X-RateLimit-Reset | When the current window ends, as a Unix timestamp in seconds. |
Retry-After | On 429 responses only: how many seconds to wait before sending again. |
HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1791331260
When you hit the limit
HTTP/1.1 429 Too Many Requests
Retry-After: 42
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1791331302
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 42 seconds.",
"details": {
"limit": 60,
"window": "1 minute",
"retryAfter": 42
}
}
}
Like key and permission checks, the rate limit is applied before the request reaches an endpoint, so this body has no status or meta block. See Errors.
Staying under the limit
- Watch
X-RateLimit-Remaining. Slow down as it gets low instead of waiting for a429. - On
429, waitRetry-Afterseconds — plus a little random jitter if several workers share the workspace — then retry. - Ask for more per call. Use
limit(up to 1,000 rows) and one wider date range rather than many small requests. - Cache what doesn't change. A finished month's report won't move, so there's no need to fetch it again every few minutes.
- Keep writes to business events. Each write records one item, so the API suits payments, sign-ups and offline conversions rather than high-volume streaming. Leave page tracking to the pixel.
- Coordinate your jobs. All keys in a workspace share one budget, so a busy sync can starve a reporting dashboard. Schedule them apart.
Need more?
The limit is currently the same for every workspace. If 60 requests a minute doesn't fit what you're building, email support@admaxxer.com and tell us what you're trying to do.
Frequently asked questions
Q: Is the limit per key or per workspace?
Per workspace. Every key in the workspace draws on the same 60 requests per minute.
Q: Do failed requests count?
If the request got past the key check, yes — including 400 and 403 responses. Requests rejected with 401 because the key was missing or invalid don't count.
Q: Does GET /me count toward the limit?
Yes. Every request with a valid key counts, GET /me included.
Q: Does the browser pixel count toward the limit?
No. Tracking from your website goes through a separate path and never uses this budget.
Q: When does the window reset?
One minute after the first request of the window, not on the clock minute. X-RateLimit-Reset gives the exact time as a Unix timestamp in seconds, and a 429 also includes Retry-After.
Related guides
- Pixel API overview — Base URL, first request and response format.
- Errors — Every error code and when to retry.
- Endpoints — Every endpoint, with limit and pagination parameters.
- Authentication — API keys and scopes.
- API keys guide — Step-by-step walkthrough of Settings › API Keys.
- Developer reference — The wider developer documentation for Admaxxer.