# Meta Marketing API (slim) > Meta's Marketing API creates and manages campaigns, ad sets, ads, creatives and audiences across Facebook, Instagram, Messenger and WhatsApp, and reports performance through Ads Insights. It is a versioned Graph API with OAuth access tokens. - Full: https://www.anchorterminal.com/tools/meta-marketing-api.md (~8,050 tokens) · this version ~1,930 tokens · JSON https://www.anchorterminal.com/tools/meta-marketing-api.json · canonical https://www.anchorterminal.com/tools/meta-marketing-api - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-08 **B · 67.7/100 · rank #201 of 722 · #2 in Advertising & campaign operations · not agent-ready · confidence medium** Assessment: Reporting, campaign, budget, audience and creative endpoints sit behind `ads_read` and `ads_management` scopes, with a `validate_only` option and sandbox ad accounts for checking a change before it spends. New apps are held to a score of 60 per ad account, with a 300-second block at the limit, and the documented requests pass the access token as a parameter. ## Facts - Kind: HTTP API · vendor: Meta Platforms, Inc. · category: Advertising & campaign operations · legal entity: Meta Platforms, Inc. · provenance 94/100 - Endpoint: `https://graph.facebook.com` (HTTP) - Auth: OAuth · pricing: Free · x402: no · licence: Proprietary service under the Meta Platform Terms. The Business SDKs and the codegen specs on GitHub carry Meta's own platform licence, which allows use only with Meta's APIs - Probe metrics: not measured yet (probes haven't run) - API: Graph API at https://graph.facebook.com/v26.0, with nodes and edges for ad accounts, campaigns, ad sets, ads, creatives, custom audiences and Ads Insights. The reference index lists 378 pages - Versions: v26.0 released 29 July 2026, v25.0 released 18 February 2026, v24.0 expired 6 October 2026. A new version about every four months, at least 90 days' overlap, and unversioned calls fail - Access: A Meta developer app with the Marketing API product. Limited access is automatic. Full access needs 500 successful calls in 15 days and an error rate under 15 per cent. Managing other businesses' ad accounts needs advanced access to `ads_read` or `ads_management` through App Review, and business verification may apply - Credentials: OAuth user access tokens (short-lived, or long-lived at about 60 days) and system user tokens that don't expire. Scopes `ads_read` and `ads_management`. `appsecret_proof` can be required on server calls - Rate limits: Per ad account score of 60 (Limited) or 9,000 (Full), decaying over 300 seconds. `ads_management` use case 300 or 100,000 calls an hour plus 40 per active ad. `ads_insights` 600 or 190,000 an hour plus 400 per active ad. 100 writes a second per app and ad account - Change limits: Ad set budget four changes an hour, account spending limit ten changes a day, 5,000 archived objects per ad account - Checking a change: `execution_options=validate_only` on writes, `status=PAUSED` on create, and sandbox ad accounts that take writes without a funding source but can't create ads or creatives - Errors: JSON error object with `code`, `error_subcode`, `error_user_title`, `error_user_msg` and `fbtrace_id`. Throttling codes 4, 17, 613 and 80000 to 80014 - Paging and sizing: Cursor paging with `before`, `after` and `limit`, field selection with `fields`, `filtering` and `level` on Insights, asynchronous report runs, batch requests and ETags - SDKs: Meta Business SDK for Python, Node.js, PHP, Ruby and Java, generated from JSON specs in facebook/facebook-business-sdk-codegen. Python `facebook-business` 26.0.2 on PyPI (21 September 2026). npm `facebook-nodejs-business-sdk` 24.0.1 (21 November 2025) - MCP server: https://mcp.facebook.com/ads, Meta-hosted, OAuth through Facebook Login for Business or a Bearer user access token, 91 documented tools. Write tools create entities paused, and `ads_activate_entity` is a separate step. Open beta per the 29 April 2026 announcement - CLI: `meta-ads` 1.2.0 on PyPI (29 September 2026), Python 3.12 or later, system user token, JSON output and `--no-input` for scripts - Status: metastatus.com, with Ads Creation and Editing API and Ads Insights API as Marketing API components, and a JSON and RSS history - Terms: Meta Platform Terms and Developer Policies, both last updated 3 February 2026. Ads API access may drop to Development access after 30 days without use - Scores: Reliability 80, Performance pending, Schema & documentation 76, Agent ergonomics 77, Security & auth 61, Payments & pricing 30, Task success pending, Maintenance & community 74, Transparency & trust 68 · total over the 7 assessed categories - Why: Reliability, Graded on the public Marketing API. · Schema & documentation, No OpenAPI document. · Agent ergonomics, Responses can be sized with `fields`, `limit`, Insights `level` and summaries. · Security & auth, OAuth 2.0 access tokens with scopes, revocable, with system users for servers and optional `appsecret_proof`. · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, Python SDK 26.0.2 on PyPI on 21 September 2026 and the `meta-ads` CLI 1.2.0 on 29 September (30). · Transparency & trust, Editorial half only. - Sources: 34, open questions: 8, both in the full twin - Capabilities: ads.reporting, ads.campaigns, ads.budgets, ads.audiences, ads.creatives - JSON: https://www.anchorterminal.com/api/v1/tools/meta-marketing-api.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/meta-marketing-api.svg` or a link to https://www.anchorterminal.com/tools/meta-marketing-api from a page on developers.facebook.com or one of its subdomains, or the README of github.com/facebook/facebook-python-business-sdk, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Put a version in every path, such as /v26.0/act_/campaigns. Unversioned Marketing API calls fail 2. Create campaigns, ad sets and ads with `status=PAUSED`, and send `execution_options=["validate_only"]` first to test a write without making it 3. Ask for `ads_read` alone when the task is reporting. `ads_management` can change budgets and activate spend 4. Read `X-Business-Use-Case-Usage` and `X-Ad-Account-Usage` after each call and wait for `estimated_time_to_regain_access` on errors 17, 613 and 80004 5. Change an ad set budget at most four times an hour and an account spending limit at most ten times a day ## Connect ```bash pip install facebook_business ``` ```bash curl -G \ -d "access_token=" \ "https://graph.facebook.com/v25.0/me/adaccounts" ``` ```bash claude mcp add --transport http --client-id meta-ads https://mcp.facebook.com/ads ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/meta-marketing-api ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Google Ads API | BB | 76.4 | ads.reporting, ads.campaigns, ads.budgets, ads.audiences, ads.creatives | https://www.anchorterminal.com/tools/google-ads-api.min.md | | LinkedIn Marketing APIs | B | 62.4 | ads.reporting, ads.campaigns, ads.budgets, ads.audiences, ads.creatives | https://www.anchorterminal.com/tools/linkedin-marketing-api.min.md | | Microsoft Advertising API | C | 60.3 | ads.reporting, ads.campaigns, ads.budgets, ads.audiences, ads.creatives | https://www.anchorterminal.com/tools/microsoft-advertising-api.min.md | | Amazon Ads API | C | 59 | ads.reporting, ads.campaigns, ads.budgets, ads.audiences, ads.creatives | https://www.anchorterminal.com/tools/amazon-ads-api.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)