Skip to main content

Rate Limits

The API uses a per-account scoring model with in-memory tracking.

Scoring model

Each API call costs points based on the operation type:
OperationCost
Read (GET, list, search)1 point
Write (POST, create, update, delete)3 points

Limits by environment

EnvironmentMax ScoreWindow
Development60 points5 minutes
Production9,000 points5 minutes
Points decay over the window period — you don’t need to wait for the full window to reset.

Rate limit response

When you exceed the limit, the API returns:
{
  "error": "Rate limit exceeded",
  "code": "RATE_LIMITED"
}
HTTP Status: 429 Too Many Requests

Retry strategy

When rate limited:
  1. Wait for the Retry-After header value (in seconds)
  2. If no header, use exponential backoff starting at 5 seconds
  3. Maximum 3 retries before failing

Upstream platform limits

Each ad platform has its own rate limits that are separate from ours:
PlatformLimitNotes
Meta Graph APIVaries by endpointBusiness Use Case rate limiting
LinkedIn Marketing API100 calls/day (dev), higher in productionPer-application limits
Google Ads API15,000 requests/day (basic)Developer token tier-based
The API handles upstream rate limits with automatic retries (3 retries with backoff). If upstream limits are exhausted, the error is passed through to you.