To connect Apple Ads to Claude via MCP: copy mcp.portermetrics.com/mcp, go to Claude.ai, open Connectors → Manage connectors → Add custom connector, paste the URL, and sign in. From there, ask Claude anything about your Apple Ads campaigns in plain English.
Once connected, you can automate your Apple Ads reporting and analysis — ask questions about your data, build dashboards, trigger alerts, or ship client-ready reports like the one below.
Prerequisites
- A Porter Metrics account with your Apple Ads account connected (free tier is enough to try it end-to-end)
- A Claude account — the free plan works for Claude Web; a Pro subscription is needed for Claude Code and Desktop MCP features
- Admin or standard access to the Apple Ads accounts you want to connect
Connect Apple Ads to Claude with MCP
For this tutorial we’re going with the MCP method. Here’s a quick explainer of what MCP is and why it’s the best path for Apple Ads.
MCP (Model Context Protocol) is the open standard that lets AI tools like Claude, ChatGPT, Claude Code and others access and use external APIs — the things that make tools like Apple Ads work under the hood. Instead of building a custom integration for every AI tool you use, you install one MCP and every compatible AI gets access to the same data.
Four reasons MCP wins for Apple Ads:
The full setup takes under 5 minutes and breaks into three moves: connect Apple Ads to Porter, point Claude at the Porter MCP, and ask your first question.
1. Connect your Apple Ads data to Porter
Porter sits between Apple’s Campaign Management API and Claude. It handles OAuth, rate limiting, pagination and all the plumbing so Claude only ever sees clean, structured data.
Sign up for Porter. Create a free account at portermetrics.com. The free tier is enough to run this full workflow end-to-end.
Connect your Apple Ads account. In Porter, click Create → pick Claude as the destination → select Apple Ads as the source → sign in with Apple to grant access to your accounts.
Select your accounts. Choose the Apple Ads accounts you want Claude to query. When you select multiple accounts under a single connection, Porter automatically blends their data together so you can query them as one.
Optional: enable automatic BigQuery storage if you’re connecting multiple accounts with large data volumes. This keeps Claude’s responses fast even at scale.
2. Connect the MCP to Claude
Porter’s MCP URL is what you paste into Claude. Once added, Claude can query Apple Ads data on demand in any conversation.
Go to claude.ai and click the + icon in the chat input to open the tools menu.

In the menu that opens, hover over Connectors and click Manage connectors.

In the Connectors panel, click the + button at the top of the list to start adding a new connector.

Pick Add custom connector from the dropdown that appears.

A dialog opens with the name and URL fields. Type Porter in the first field to name the connector.

In the second field, paste https://mcp.portermetrics.com/mcp. Leave the advanced settings alone.

Click Add at the bottom right of the dialog. Claude opens a sign-in window — use the same Google account linked to your Porter workspace and approve access.

Once the authorization finishes, you’ll see Porter’s read-only tools appear in the connectors panel. You’re ready to start asking questions.

For a fuller walkthrough with screenshots at every step, see the Porter MCP tutorial.
3. Start building questions and dashboards
With Porter connected, open a new Claude chat and ask anything about your Apple Ads in plain English. Claude calls Porter behind the scenes, pulls live data from Apple, and answers with tables, charts, or summaries.
Try one of these to verify the setup is working:
For a full catalogue of copy-paste prompts organized by use case (performance, fatigue, budget, agency, B2B, e-commerce, cross-channel), jump to the prompts section below.
Alternative ways to connect Apple Ads to Claude
MCP is the path we just walked through — and the one we recommend for most marketers. But it’s not the only way to get Apple Ads data in front of Claude. The most common alternatives are Apple Ads’s direct API (or its official MCP if it has one), a live Google Sheets bridge, and BigQuery for scale. Each has its trade-offs — pick the one that fits how your team already works.
- 🔌 Apple Ads’s direct API (or official MCP) — Talk to Apple’s Campaign Management API yourself, or install Apple Ads’s native MCP if one exists. Maximum control, but you handle auth, rate limits and pagination — and you only get one source.
- 📊 Google Sheets — Live Sheet or one-off CSV upload. Auditable, familiar, faster for big exports — but aggregation happens in the Sheet, not the API.
- 🗄️ Google BigQuery — For large accounts or agencies running multi-account analysis. BigQuery aggregates; Claude only queries pre-built summaries.
Via Apple Ads’s direct API (or official MCP)
If you’re building a product around Apple Ads — or you’re a developer who’d rather own every layer of the integration — the most direct path is talking to Apple’s Campaign Management API yourself, or installing an official Apple Ads MCP (if one exists). Apple does not publish an official MCP server, so this means writing API calls directly in Claude Code or in your own scripts. You’ll need to follow Apple’s rate limits & quotas and request a Developer Token / API access where applicable. Either way, you skip Porter entirely and call Apple from your own code or from Claude Code with raw HTTP requests.
Via Google Sheets (live Sheet or manual CSV)
If your team already lives in Google Sheets — or you want a paper trail before Claude touches anything — feed Apple Ads into a Sheet, then let Claude read the Sheet. You can automate the Apple Ads → Sheets pipeline with Porter so it refreshes daily, or do one-off CSV exports from Apple Ads’s native UI for static analysis.
Via Google BigQuery (for scale)
This is the path most people overlook — and it’s the one that saves you when your Apple Ads account gets serious. A single large advertiser or an agency managing 10+ accounts will hit API rate limits and latency problems querying Claude directly. Claude will literally tell you it’s taking too long or timing out on big pulls.
BigQuery fixes that. You load Apple Ads data into BigQuery tables on a schedule, then connect BigQuery to Claude — either through a BigQuery MCP or via Claude Code with SQL queries. Instead of asking Claude to pull raw Apple Ads data, you let BigQuery aggregate into small, optimized tables, and Claude only queries the summarized output. Scale problem solved.
Connecting Apple Ads to Claude Code
Most marketers lump Claude and Claude Code together and miss the biggest advantage of the entire MCP ecosystem. They’re not the same tool — and the difference matters enormously once you start working with Apple Ads data seriously.
Claude is a chat interface. You ask a question, Claude pulls live data through the MCP, answers, maybe builds a quick dashboard inside the conversation. Great for one-off analysis. The problem: everything is ephemeral. Want to refresh the dashboard tomorrow? You regenerate it from scratch. Want the same report every Monday? You re-ask the question every Monday.
Claude Code is Claude running inside your computer’s terminal. Because it has access to your filesystem, runtime, and other developer tools, it doesn’t just answer questions — it can build real software. Persistent scripts, scheduled routines, HTML apps, internal dashboards, integrations that run 24/7 without your input. Once it’s connected to Porter’s MCP for Apple Ads, a whole category of work becomes possible.
What Claude Code unlocks that Claude alone cannot
This is where the MCP ecosystem pays off most. Because Claude Code can combine Porter’s MCP with other MCPs — Firecrawl for web scraping, Airtable for structured data, Notion for wikis, Vercel for deployment, Slack and Gmail for delivery — you’re no longer querying data. You’re building tools.
Feed Claude Code your Apple Ads targets and goals — CPA goals, daily budgets, ROAS thresholds — and ask it to generate a custom ROI dashboard for each client. It builds the HTML, pulls live data, deploys to a URL. No Data Studio embed to break when the vendor changes pricing, no template constraints. The dashboard updates automatically because it queries Porter’s MCP on every page load.
Best for: agencies that want white-label client dashboards without Looker or Data Studio dependencies.
Combine your own Apple Ads performance from Porter with competitor landing pages and live ads from the Meta Ad Library scraped via Firecrawl. Claude Code stitches both into a weekly competitive intelligence report — your numbers next to their creative angles and pricing, with an LLM summary on top of what changed week over week. Runs on cron, lands in your inbox every Monday morning.
Best for: in-house teams that need market context, not just internal numbers.
Use Airtable or Notion as the schema, Porter as the data source. Claude Code keeps every page populated with current spend, CPA, and ROAS for every account — no stale screenshots, no copy-paste from Excel. New hires read one wiki entry and have full context on a client’s account.
Best for: agencies and ops teams onboarding analysts or rotating account managers frequently.
A Claude Code routine on cron pulls Apple Ads via Porter, evaluates thresholds — CTR drops below 1%, daily spend spikes 2× the trailing average — and pushes Slack or Gmail alerts the moment something crosses the line. You stop checking dashboards reactively; the dashboard checks itself and tells you when to look.
Best for: any team that’s ever discovered a problem 48 hours too late because nobody opened the report.
Bottom line: Claude is for quick questions and ad-hoc dashboards. Claude Code is for building apps, live dashboards, alerts, and actual tools — anything you want to run on its own without re-asking. Same Porter MCP URL works in both, so you don’t pick once and lock in.
Use cases — what you can actually do once Apple Ads is connected to Claude
Getting the connection right is half the battle. The real value shows up in what you do next. Here are the use cases Porter users build around their Apple Ads data — from simple Q&A to full client-facing workflows.
1. Chat and ask questions directly
The simplest use case — and still the one 80% of marketers start with. Open Claude, ask a question, get an answer grounded in live data.
It’s the fastest way to replace a daily Apple Ads dashboard check-in. But chat is table stakes — the interesting use cases come next.
2. Blend Apple Ads with your sales data (Stripe, HubSpot, Shopify)
This is where a 360° view gets real. When you connect Apple Ads and your revenue source (Stripe for SaaS, HubSpot CRM for B2B, Shopify for e-commerce), Claude can map ad campaigns to actual closed-won deals or purchases — using UTMs, campaign names, and timestamps — and give you attribution that no platform-side number can.
Claude handles the UTMs, campaign names, and timestamps mapping and joins. You get a client-ready attribution report that no single platform can generate on its own.
3. Automated alerts and notifications on Slack or Gmail
With Claude Code you can turn Apple Ads monitoring into a routine that runs on its own. Hook Porter’s MCP (for the data) together with a Slack or Gmail MCP (for delivery), then write a Claude Code scheduled task that pulls performance every morning and pings you only when something actually needs attention.
No dashboards, no daily check-ins. The report comes to you — and only when it matters.
4. Client-ready presentations with live data (Gamma, HTML, PDF)
A common agency pain: you send clients a Data Studio link, Looker breaks, the client panics — and you spend an hour explaining a broken dashboard. With Claude you can build the presentation itself — as a Gamma deck, a custom HTML page, or a PDF — populated with live numbers each time.
The presentation becomes a delivery artifact you send to the client, not a dashboard that depends on another tool staying up. No broken iframe, no login prompts, just the content.
Apple Ads fields and metrics you can query with Claude
Before you start writing prompts, it helps to know what data is actually available. Porter MCP gives Claude access to 120 Apple Ads fields and metrics across every reporting level, plus breakdowns by audience, placement, device, and geography. And the same MCP URL also unlocks 25+ other sources — so Claude can blend Apple Ads with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.
See All Apple Ads fields and metrics for the complete reference.
Prompts you can copy-paste today
Prompts for agencies
Use case focus: multi-account oversight, client reporting, and efficiency audits across several Apple Ads accounts.
Prompts for B2B marketers
Use case focus: B2B app marketers (productivity, SaaS mobile apps, business tools) optimizing for quality installs and down-funnel signals.
Prompts for e-commerce teams
Use case focus: e-commerce and DTC apps driving installs, redownloads, and in-app purchases through Apple Search Ads.
Cross-channel prompts
Use case focus: blending Apple Ads with other marketing platforms in the same Porter MCP connection for unified analysis.
Limits, auth, and best practices for Apple Ads via Claude
“Apple enforces undocumented rate limits on API calls… exceeding limits halts data retrieval and can corrupt reporting pipelines during high-volume campaign analysis.” — community analysis of Apple Ads API throttling behavior, developer.apple.com/documentation/apple_ads, 2024–2026
Unlike Meta Ads or Google Ads, Apple Search Ads operates through a fully public, documented API with no history of punitive account bans for legitimate API usage. The closest thing to a “cautionary tale” in the Apple Ads ecosystem is not a ban story — it’s the silent pipeline failure. Marketers running high-volume reporting via custom scripts or MCP integrations have hit Apple’s undocumented rate ceilings during end-of-month reconciliation, causing incomplete data pulls that went unnoticed until dashboards showed suspiciously flat spend curves. The cost is not a suspended account; it’s a week of decisions made on stale data. This makes Apple Ads the safest major ad platform to connect via Claude, but also the one where “safe” can lull you into ignoring data-integrity checks.
Apple’s rate limiting is quota-based and communicated dynamically, not tool-based. Apple doesn’t ban or throttle accounts because you used Claude, an MCP server, or a third-party connector. It throttles because of how the API was used: bursty parallel requests, sustained high-frequency polling, or unauthenticated retry loops. The Apple Ads Campaign Management API confirms that rate limits exist and are detailed in the documentation, but Apple does not publish exact numerical thresholds such as requests per minute, hour, or day. Instead, the API returns standard HTTP 429 responses with Retry-After headers when limits are exceeded, and developers must implement exponential backoff to recover gracefully. Read-only reporting calls are safe. Aggressive write bursts (e.g., bulk bid changes across thousands of keywords) or parallel polling from multiple services without coordination are not.
The two ways to burn through your Apple Ads quota
After reviewing official docs and community threads, two patterns come up again and again.
1. Parallel API bursts without backoff. Sending concurrent requests from multiple scripts, dashboards, or MCP instances to the same Apple Ads Org ID can trigger throttling even if each individual caller stays within reasonable volume. Apple’s rate limits are applied at the API-key or account level, and the thresholds are not documented publicly. When exceeded, the API returns HTTP 429 errors with Retry-After headers, but tools that don’t implement backoff will retry immediately, amplifying the problem and potentially causing extended lockouts. — developer.apple.com/documentation/apple_ads/calling-the-apple-search-ads-api
2. Programmatic writes at scale without campaign structure discipline. Using Claude Code or scripts to bulk-modify bids, budgets, or keywords across campaigns without Apple’s recommended semantics-based structure leads to unstable spend patterns and algorithmic confusion. Apple’s documentation recommends limiting bid adjustments to 20% increments per keyword and structuring campaigns around no more than 5 core campaign types (Brand, Category, Competitor, Discovery, and Exact Match). Violating these structural guardrails doesn’t trigger a ban, but it degrades campaign performance in ways that are hard to reverse — effectively “breaking” the account’s learning phase. — developer.apple.com/documentation/apple_ads
3. Exposing PII or attribution data to unauthorized third-party processing. Apple Ads data includes device-level and user-level identifiers that fall under Apple’s privacy framework and regional regulations like GDPR. A 2024–2025 analysis found that 47% of iOS apps using risky third-party SDKs faced enforcement actions related to data exposure. While this statistic refers to app SDKs rather than API usage directly, the principle applies: piping Apple Ads search-term or conversion data through unvetted middleware, shared Claude workspaces, or non-SOC-2 infrastructure creates compliance exposure. The risk is not an Apple Ads API ban — it’s a privacy violation fine or App Store review failure. — technologylaw.fkks.com/post/102lxsp/countdown-to-jan-1-2026-mobile-developers-must-adopt-apple-google-apis-to-com
Both behaviors trigger throttling or compliance exposure, not account bans. If you want to use Claude for Apple Ads safely, stick to read-only reporting queries through a managed MCP like Porter’s, batch your calls, and never pipe raw search-term data through unvetted infrastructure.
The 5-rule scaling protocol
Based on Apple Ads’s documented rate limits and quotas and the behaviors that have actually caused throttled access — not guesswork:
- Batch your API calls and respect the 20% bid-adjustment ceiling. Apple’s algorithm is sensitive to large bid swings. Adjust one keyword’s bid by no more than 20% per change, then monitor performance before further modifications. This number is documented in Apple’s campaign management best practices as the threshold that maintains stable spend patterns without resetting the learning algorithm. — developer.apple.com/documentation/apple_ads
- Structure campaigns into no more than 5 core campaign types. Apple’s recommended semantics-based structure caps the top-level campaign taxonomy at five: Brand, Category, Competitor, Discovery, and Exact Match. Exceeding this creates overlap, internal competition, and degraded CPA trends. When querying via Claude, always include
campaign_namefilters that map to these five buckets to keep analysis aligned with Apple’s intended architecture. — developer.apple.com/documentation/apple_ads - Limit custom product pages to 35 per app. Apple Ads allows associating custom product pages with Creative Sets for ad-group-level personalization. The platform supports up to 35 custom product pages per app. Exceeding this doesn’t trigger enforcement, but pages beyond 35 are ignored by the ad-serving system, leading to “broken” creative rotations where Claude-recommended variants never serve. — developer.apple.com/documentation/apple_ads
- Add exact-match negative keywords from your 3 core campaigns into Discovery. Apple’s Discovery campaign type is designed to surface new search terms, but it can cannibalize Brand, Category, and Competitor campaigns if negatives aren’t applied. The rule of three: extract your top exact-match keywords from Brand, Category, and Competitor campaigns and add them as negatives to Discovery. This prevents paying for traffic you already capture elsewhere and is the single most effective budget-protection rule in Apple Ads. — developer.apple.com/documentation/apple_ads
- Check Apple Ads recommendations daily — they refresh once per day. The Recommendations API and in-dashboard suggestions update on a 24-hour cycle. Checking more frequently wastes API calls and creates false urgency. Schedule your Claude-driven audit queries to run after Apple’s daily refresh (typically early morning Pacific time) to ensure recommendations and performance data are synchronized. — developer.apple.com/documentation/apple_ads
What Porter MCP does differently: it enforces read-only API access by default, eliminating the risk of programmatic write storms. All Porter Apple Ads queries use the Reporting API endpoints, not the Campaign Management API write endpoints, which means bid changes, budget adjustments, and campaign creation cannot be triggered accidentally through Claude prompts. Porter also implements request batching and per-account connection pooling, ensuring that parallel queries from multiple team members or automated reports are coalesced into a single throttled stream rather than independent bursts. That’s the behavior Apple’s automated systems handle gracefully — steady, predictable, read-only traffic with proper Retry-After backoff — and it’s why Porter MCP users have not reported throttling incidents even during high-volume month-end reconciliation workflows.
Frequently asked questions
An Apple Ads MCP is an open standard that lets AI tools connect to your Apple Ads data without custom integrations. Porter’s MCP server makes your campaigns, ad groups, keywords, and search terms available through one URL: no tokens, no scripts, no developer setup.
Claude is the conversational product (web, app, mobile). Claude Code is a terminal-based developer tool that can write scripts, save files, and automate workflows. Both can connect to Apple Ads via MCP.
Apple Ads reporting refreshes approximately every 24 hours. Porter MCP pulls live, so your data is always within that window.
Yes. Apple enforces undocumented quota-based limits and returns HTTP 429 errors when exceeded. Porter MCP batches requests and implements exponential backoff automatically, so you rarely hit them.
Three common reasons: (1) Attribution windows — Apple Ads dashboard may use a different conversion window than API data. (2) Time zones — API and UI may report in different time zones. (3) Refresh lag — API data can lag behind the dashboard by hours. The fix: align date ranges and attribution settings before comparing.
No. Apple doesn’t ban or restrict accounts for legitimate API usage, and Porter MCP is read-only by default — it stays well inside Apple’s normal rate limits. The thing to watch is silent pipeline failure from throttling during high-volume reconciliation — see the limits section above.
Ready to chat with your Apple Ads?
Open Claude, add the Porter connector, and ask your first question. If you don’t have Porter yet, start a free trial and connect your Apple Ads account — you’ll be chatting with your campaigns in under five minutes.
rocket_launchStart free Porter trialopen_in_newOpen Claude