Docs menu

Reference

Rate limits

Limits per plan on the requests of every 15 minutes, budgets that protect your Meta, TikTok and Snapchat accounts from too many calls, and a few daily caps that stop a runaway agent. Scale has twice the limits of Pro.

Per plan

Per 15 minutesProScale
REST reads (GET, and the reads sent as POST)6001,200
REST writes120240
REST confirmations (a launch plan, an action, a transfer)3060
MCP requests6001,200
Per dayProScale
Free reads (then they cost credits)5,00010,000
Files uploaded2,0004,000
Data uploaded100 GB200 GB

How they count

  • Per API key, and per account. Each key or assistant connection has its own counters, and every key and connection of the account also share one: more keys never mean more requests.
  • Per kind of request. On the REST API, reads, writes and confirmations each have their window; each operation's page says which one it counts toward.
  • Per server. The counters live in each server that answers. Under load, the ceiling you meet can be higher than these numbers, never lower: build on these numbers.
  • Plans subscribed before the October 2026 pricing keep the Pro numbers, counted per key and per connection.

Headers and 429

Every REST answer carries the rate-limit headers of the IETF draft, one entry per counter: RateLimit-Policy gives its limit (q) and window in seconds (w), RateLimit what is left (r) and the seconds before it resets (t). "read" is this key's counter, "read-account" the account's (write and confirm likewise):

Headers
RateLimit-Policy: "read"; q=600; w=900; pk=:YjNmMWE5ZTI3YzQw:
RateLimit-Policy: "read-account"; q=600; w=900; pk=:ZDQ0ODFhYzc3ZjJl:
RateLimit: "read"; r=598; t=812
RateLimit: "read-account"; r=596; t=812

Past a limit, the request answers 429 rate_limited with Retry-After (seconds). Wait that long; retrying sooner only adds to the count. On the MCP server, a 429 answers the HTTP request itself.

Meta, TikTok and Snapchat budgets

On top of the request limits, Apogee spends a budget of platform calls for your Apogee account, so that no automated traffic puts your ad accounts at risk. It is shared by every API key and every AI assistant of the account.

Per 15 minutesThe accountOne ad accountWhat counts
Meta1,800 units900 unitsA launch interview or a launch plan 15, any other Meta read or change 1, a request that never reaches Meta 0
TikTok, Snapchat (each)600 calls300 callsEach call to the platform (a read is a few: the account's currency and time zone, the names, the report)

Past a budget: 429 rate_limited with Retry-After, and nothing is sent to the platform. When Meta itself throttles an ad account, Apogee answers 429 meta_rate_limited at once and stops calling Meta for that ad account for 2 minutes (for every ad account when Meta throttles the whole Facebook connection). TikTok's and Snapchat's own throttling answers 429 platform_rate_limited.

Daily caps

Rolling 24-hour windows, the same on every plan:

CapLimitPast it
One API key or assistant connection2,000 units: a read counts 1, a change 2, Apogee's AI 5, a launch or a Bridge transfer prepared or run 10, a status poll 0429 quota_exceeded
Launches and Bridge transfers run on one ad account, through the MCP and the API25429 quota_exceeded
Reads past the free reads3 times the daily free reads in all429 daily_read_cap until midnight UTC

The units of the first line only measure a key's activity, to stop an agent that loops: they are not credits and cost nothing.

Uploads

  • Up to 50 files per request for signed upload URLs, 500 MB per file. The URLs are valid one hour.
  • Per Apogee account and day: 2,000 files and 100 GB on Pro, 4,000 files and 200 GB on Scale; past them, 429 rate_limited.

Safety limits

  • Daily budgets: a launch or an action whose daily budget is above 500 in the ad account's currency is refused (422 budget_above_cap). Set bigger budgets in the app.
  • Failed sign-ins: 300 requests per 15 minutes per address with a missing or invalid credential, before any credential is checked. A credential that worked in the last few minutes is never held back.
  • Maintenance: Apogee can pause the API and the MCP, or only what writes (503 service_disabled), and its AI features for the API and the MCP (503 ai_paused). The Apogee app keeps working.

Last updated on . The parameters, limits, credits and error codes of these pages are generated from the code of the Apogee API (contract 2026-10-06).

A question, something missing? Write to hello@apogee.ad.

Book a demo

Pick the time that suits you.

Open in a new tab

Loading the calendar…

Talk to Founder