The MCP server mirrors the v4 resource surface, and most of its tools wrap a single v4 operation. An AI client never handles the Secret Key.
What the surface covers
Customers and users · identities · purchases · user properties · entitlements · products · remote configurations · experiments and groups · segments · analytics, cohorts and LTV · Apple Ads reports, connection status and campaign changes · exports · events · scheduled reports · integrations · project settings.Where the two surfaces differ
- Apple Ads differs between REST and MCP. REST API v4 supports up to four metrics per daily-series request; the MCP series tool accepts one metric per call. The Apple Ads report is available on all accounts (if yours gets
404from the report, series or connection reads, contact support); accounts without it receive404over REST and a “Resource not found” error through MCP. Campaign changes (pause or enable, keyword bid, campaign daily budget) use MCP tools with the separateapple_ads:writescope, campaign management must be enabled for the account, and the signed-in user must hold the Manage Apple Ads campaigns capability; a project Secret Key alone gets403control_forbidden. The report’smetric_filtersare REST only. Some Apple Ads features are dashboard only, with no REST endpoint or MCP tool: connecting, reconnecting or disconnecting Apple Ads, Update now, spend-history import, budget usage, CSV export, bulk bid changes and week or month grouping of the daily series. See Apple Ads in REST API v4 and Apple Ads via MCP. - Some v4 resources are legacy. Screens and automations remain callable for existing integrations, but the products behind them are no longer maintained. They are not a place to build something new.
Which one to use
- Your own server code, cron jobs, a warehouse sync — the REST API v4. Start at API reference and Authentication.
- An agent acting on your behalf — the MCP server, so that access is scoped to your account role and revocable. Start at For agents and MCP Server.
- Being told when something changes, instead of polling — webhooks.
Guardrails worth knowing before you wire anything up
- Destructive tools do not fire on the first call. Over MCP,
delete_*,revoke_*,detach_*,discard_*and the deprecatedregenerate_project_secretreturn a short-lived token addressed to the human operator. Completing the action requires echoing the resource id verbatim and giving a reason, which is recorded in the audit log. The Apple Ads campaign-change tools use the same confirmation for enabling and for every live bid or daily-budget change; pausing runs immediately. - Secret Keys belong on a server. Never ship one in an iOS, Android or web bundle. Rotate them in the dashboard — see Project keys.
- Rate limits are not one number. SDK requests are throttled on the client — see Rate limits. The Apple Ads report and series are rate limited on both surfaces; over REST a
429carriesRetry-After, while through MCP a refusal returns only the error message. Apple Ads campaign changes have their own per-project limits: 10 per minute, 60 per hour, and per 24 hours at most 20 enables, 20 bid increases and 10 daily-budget increases — see Apple Ads and Apple Ads via MCP. - v3 is legacy. It still answers for existing integrations and gets no new functionality. Build on v4 — start from API reference; API v3 (legacy) maps each v3 resource to its v4 counterpart.
Next steps
For agents
Connect an agent in a few minutes, and read these docs as markdown.
MCP Server
Tool list, client-by-client setup, scopes and the confirmation flow.
API reference
Base URL, authentication, pagination, errors, resource guides.
Webhooks
Get subscription events pushed to your endpoint.