{
  "data": {
    "a": {
      "slug": "amazon-ads-api",
      "name": "Amazon Ads API",
      "vendor": "Amazon",
      "vendorUrl": "https://advertising.amazon.com/about-api",
      "kind": "http-api",
      "category": "advertising",
      "summary": "Amazon's REST API for its advertising products, covering campaigns, budgets, targets, audiences, creative assets and performance reports for sponsored ads and Amazon DSP. An Amazon Ads MCP Server in open beta exposes the same operations as tools.",
      "url": "https://www.anchorterminal.com/tools/amazon-ads-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/amazon-ads-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/amazon-ads-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/amazon-ads-api.json",
      "repo": "https://github.com/amzn/ads-advanced-tools-docs",
      "license": "Proprietary service under the Amazon Advertising API Licence Agreement. The Postman collections and samples in amzn/ads-advanced-tools-docs are MIT-0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://advertising-api.amazon.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Access needs approval. A developer creates a Login with Amazon (LwA) application, then applies as a direct advertiser or through the Amazon Ads Partner Network. Review may take up to one business day. An advertiser then grants consent through the LwA OAuth 2.0 authorisation code flow. Access tokens last 60 minutes. Refresh tokens issued from 30 July 2026 expire 365 days after consent. Each call carries the client ID, the Bearer token and usually a profile ID. The MCP server accepts the same tokens or an OAuth 2.1 browser flow.",
      "pricing": "free",
      "pricingNotes": "No API fee. Amazon states that the only costs are standard selling account fees and campaign spend. Test accounts serve no ads and have no active billing, so an approved developer can test without a contract or ad spend (https://advertising.amazon.com/about-api, checked 2026-10-08).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer documentation, the OpenAPI specifications or the API product page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://advertising.amazon.com/API/docs/en-us/",
      "openapi": "https://d1y2lf8k3vrkfu.cloudfront.net/openapi/en-us/dest/AmazonAdsAPIALLMerged_prod_3p.json",
      "capabilities": [
        "ads.reporting",
        "ads.campaigns",
        "ads.budgets",
        "ads.audiences",
        "ads.creatives"
      ],
      "tags": [
        "official",
        "hosted",
        "oauth",
        "approval-required",
        "free",
        "sandbox",
        "openapi",
        "mcp",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59,
        "grade": "C",
        "agentReady": false,
        "rank": 388,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 65,
          "payments": 40,
          "reliability": 45,
          "schema": 76,
          "security": 60,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Public OpenAPI specifications, test accounts that serve no ads and a six-month shutoff notice policy support agent use. Access needs an approved application and an advertiser's OAuth consent, rate limits are dynamic with no published numbers, and the status feed shows three reporting disruptions since July 2026. The MCP server is in open beta.",
        "bestFor": "Agents managing sponsored ads and Amazon DSP for an advertiser or agency that already has API approval, and teams that want a vendor-run MCP server.",
        "strengths": [
          "OpenAPI 3.0.1 specifications download without a login. The merged Ads API v1 file has 104 operations and 1,729 schemas",
          "Test accounts created through the API serve no ads and have no active billing, so campaign writes can be rehearsed",
          "Versioning policy promises at least six months' notice before a resource version is shut off",
          "MCP Lite endpoint at /mcp/lite reduces the tool list to three (search, describe, invoke)",
          "41 dated release notes between 10 July and 5 October 2026, with an RSS feed"
        ],
        "weaknesses": [
          "Access needs an approved application (review may take up to one business day) and an advertiser's consent in a browser",
          "Rate limits are dynamic and based on system load, with no published numbers",
          "Status feed lists reporting interruptions on 16 July, 13 to 15 August and 1 to 3 September 2026",
          "No official SDK. The docs describe generating a client from the OpenAPI files",
          "One OAuth scope, advertising::campaign_management, covers most reads and writes",
          "No llms.txt, and the documentation site returns a JavaScript shell to a plain fetch"
        ],
        "agentNotes": [
          "Send Amazon-Advertising-API-ClientId and a Bearer access token on every call, and Amazon-Advertising-API-Scope with a profile ID from GET /v2/profiles on most",
          "Call the host for the advertiser's region. advertising-api.amazon.com is North America, advertising-api-eu Europe and advertising-api-fe Far East",
          "Refresh the access token every 60 minutes. Refresh tokens issued from 30 July 2026 expire 365 days after consent",
          "On 429, wait the Retry-After seconds and back off exponentially. Request an export instead of listing every entity",
          "Rehearse writes in a test account, or create campaigns in the PAUSED state, before anything can spend",
          "For MCP, prefer https://advertising-ai.amazon.com/mcp/lite and disable delete tools in the client configuration"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 65,
          "payments": 40,
          "reliability": 45,
          "schema": 76,
          "security": 60,
          "transparency": 51
        },
        "provenanceScore": 94
      },
      "connect": {
        "http": "curl https://advertising-api.amazon.com/v2/profiles -H \"Amazon-Advertising-API-ClientId: $CLIENT_ID\" -H \"Authorization: Bearer $ACCESS_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/ads.reporting",
        "tool": "https://letme.dev/amazon-ads-api"
      },
      "sameCompany": [
        "amazon-bedrock-guardrails",
        "amazon-transcribe",
        "amazon-polly",
        "aws-secrets-manager",
        "aws-mcp-servers",
        "amazon-ses",
        "amazon-translate"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "API access",
          "unit": "call",
          "usd": 0,
          "note": "No API fee. Campaign spend and selling account fees are billed separately"
        }
      ],
      "provenance": {
        "legalEntity": "Amazon.com Services LLC",
        "domain": "amazon.com",
        "domainRegistered": "1994-11-01",
        "endpointOnVendorDomain": true,
        "terms": "https://advertising.amazon.com/API/docs/license-agreement",
        "privacy": "https://www.amazon.com/gp/help/customer/display.html?nodeId=468496",
        "statusPage": "https://status.ads.amazon.com",
        "changelog": "https://advertising.amazon.com/API/docs/en-us/release-notes/index",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Amazon Advertising API Licence Agreement, last updated 1 June 2024, names Amazon.com Services LLC as the contracting party where the elected country is the United States. Other countries have other Amazon contracting parties.",
          "The API answers at advertising-api.amazon.com, advertising-api-eu.amazon.com and advertising-api-fe.amazon.com, and the MCP server at advertising-ai.amazon.com.",
          "www.amazon.com/.well-known/security.txt names the Amazon Vulnerability Research Program on HackerOne and carries no Expires field. advertising.amazon.com/.well-known/security.txt returns 404.",
          "RDAP for amazon.com gives a registration date of 1994-11-01.",
          "The documentation footer links the Amazon.com Privacy Notice, last updated 30 June 2026."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/amazon-ads-api.json",
      "live": {
        "slug": "amazon-ads-api",
        "probe": {
          "target": "https://advertising-api.amazon.com",
          "method": "get",
          "lastAt": "2026-10-08T19:08:38.645580735Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 204,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 120,
          "p95ms24h": 214,
          "samples24h": 42,
          "samples30d": 42,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 42,
              "ok": 42
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ads.amazon.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:20.865650557Z"
        },
        "githubStars": 180,
        "securityTxt": {
          "url": "https://amazon.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-08T15:38:45.56973403Z"
        },
        "pages": [
          {
            "url": "https://advertising.amazon.com/API/docs/en-us/release-notes/index",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:14:58.33428128Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://www.amazon.com/gp/help/customer/display.html?nodeId=468496",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-10-08T18:26:05.844026585Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://advertising.amazon.com/API/docs/license-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:00.59395112Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          }
        ],
        "updatedAt": "2026-10-08T19:08:38.645580735Z"
      }
    },
    "answer": "Meta Marketing API scores 67.7 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "meta-marketing-api",
      "name": "Meta Marketing API",
      "vendor": "Meta Platforms, Inc.",
      "vendorUrl": "https://developers.facebook.com",
      "kind": "http-api",
      "category": "advertising",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/meta-marketing-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/meta-marketing-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meta-marketing-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meta-marketing-api.json",
      "repo": "https://github.com/facebook/facebook-python-business-sdk",
      "license": "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",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://graph.facebook.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "facebook-business"
        },
        {
          "registry": "npm",
          "name": "facebook-nodejs-business-sdk"
        },
        {
          "registry": "pypi",
          "name": "meta-ads"
        }
      ],
      "auth": "oauth",
      "authNotes": "Every call needs an access token from a Meta developer app with the Marketing API product added. Access is self-serve at the Limited tier. A user token comes from the Facebook Login OAuth dialogue with the `ads_read` or `ads_management` scope, and a system user token, created in Meta Business Suite, doesn't expire. Managing ad accounts owned by other businesses needs advanced access to those permissions through App Review, and business verification may be required. Full access (higher rate limits and the Business Manager API) is granted from the App Dashboard after 500 successful calls in 15 days with an error rate under 15 per cent.",
      "pricing": "free",
      "pricingNotes": "No charge for API calls was found in the Platform Terms or the Marketing API documentation. Access tiers differ by rate limit, and ad spend is billed to the ad account. An agent can start without a contract. Limited access is automatic when the Marketing API product is added to an app, and a sandbox ad account takes read and write calls with no funding source (checked 2026-10-08).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Marketing API documentation, the llms.txt indexes or the Platform Terms (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1604,
        "npmWeekly": 500852,
        "pypiWeekly": 1089043,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.facebook.com/docs/marketing-apis/",
      "llmsTxt": "https://developers.facebook.com/documentation/ads-commerce/llms.txt",
      "capabilities": [
        "ads.reporting",
        "ads.campaigns",
        "ads.budgets",
        "ads.audiences",
        "ads.creatives"
      ],
      "tags": [
        "hosted",
        "free",
        "oauth",
        "app-review",
        "sandbox",
        "mcp",
        "cli",
        "llms-txt",
        "python",
        "typescript",
        "php",
        "ruby",
        "java",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-09-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.7,
        "grade": "B",
        "agentReady": false,
        "rank": 187,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 74,
          "payments": 30,
          "reliability": 80,
          "schema": 76,
          "security": 61,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "The direct route to Facebook, Instagram, Messenger, WhatsApp and Threads advertising for reporting, campaign and budget changes, audiences and creatives.",
        "strengths": [
          "`execution_options=validate_only` runs the validation rules on a campaign write without performing it, and sandbox ad accounts accept writes with no funding source",
          "`ads_read` is a read-only scope, and system users hold only the ad accounts, Pages and catalogues assigned to them",
          "llms.txt indexes and a Markdown copy of every guide and reference page, with a section of rules for AI agents",
          "Rate limits are published with numbers per tier, with usage headers that estimate the time until access returns",
          "Breaking changes ship only in numbered versions with at least 90 days' notice, and v26.0 followed on 29 July 2026"
        ],
        "weaknesses": [
          "Default Limited access allows a score of 60 per ad account (read 1, write 3) and blocks for 300 seconds at the limit",
          "The documented request style passes `access_token` as a request parameter, and system user tokens don't expire",
          "No idempotency key was found in the reviewed documentation, so a retried create can make a second campaign",
          "npm's `facebook-nodejs-business-sdk` is still 24.0.1 from 21 November 2025, while GitHub is at v26.0.2 and v24.0 expired on 6 October 2026",
          "The Marketing API changelog and versioning pages still name v25.0 as current, ten weeks after v26.0"
        ],
        "agentNotes": [
          "Put a version in every path, such as /v26.0/act_\u003cAD_ACCOUNT_ID\u003e/campaigns. Unversioned Marketing API calls fail",
          "Create campaigns, ad sets and ads with `status=PAUSED`, and send `execution_options=[\"validate_only\"]` first to test a write without making it",
          "Ask for `ads_read` alone when the task is reporting. `ads_management` can change budgets and activate spend",
          "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",
          "Change an ad set budget at most four times an hour and an account spending limit at most ten times a day"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.7
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 74,
          "payments": 30,
          "reliability": 80,
          "schema": 76,
          "security": 61,
          "transparency": 41
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "pip install facebook_business",
        "http": "curl -G \\\n  -d \"access_token=\u003cACCESS_TOKEN\u003e\" \\\n  \"https://graph.facebook.com/v25.0/me/adaccounts\"",
        "claudeCode": "claude mcp add --transport http --client-id \u003cMETA_APP_ID\u003e meta-ads https://mcp.facebook.com/ads"
      },
      "letme": {
        "capability": "https://letme.dev/ads.reporting",
        "tool": "https://letme.dev/meta-marketing-api"
      },
      "sameCompany": [
        "whatsapp-cloud-api"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "Meta Platforms, Inc.",
        "domain": "facebook.com",
        "domainRegistered": "1997-03-29",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.facebook.com/terms",
        "privacy": "https://www.facebook.com/privacy/policy/",
        "statusPage": "https://metastatus.com",
        "changelog": "https://developers.facebook.com/documentation/ads-commerce/marketing-api/marketing-api-changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Meta Platform Terms (last updated 3 February 2026) name Meta Platforms, Inc. for UK data transfers and Meta Platforms Ireland Limited as controller of EEA data.",
          "The API answers at graph.facebook.com and the Ads MCP server at mcp.facebook.com, both facebook.com subdomains.",
          "www.facebook.com/.well-known/security.txt names a contact, the bug bounty policy at bugbounty.meta.com and a vulnerability disclosure policy, and expires on 7 November 2026. developers.facebook.com has no security.txt of its own.",
          "RDAP for facebook.com gives a registration date of 1997-03-29.",
          "The privacy policy and the data processing terms on facebook.com render only with JavaScript, so their text wasn't read.",
          "The Marketing API changelog page still shows v25.0 as the latest version. The Graph API changelog and the v26.0 changelog page show v26.0 from 29 July 2026."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/meta-marketing-api.json",
      "live": {
        "slug": "meta-marketing-api",
        "probe": {
          "target": "https://graph.facebook.com",
          "method": "get",
          "lastAt": "2026-10-08T19:08:53.069973598Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 165,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 131,
          "p95ms24h": 165,
          "samples24h": 42,
          "samples30d": 42,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 42,
              "ok": 42
            }
          ]
        },
        "vendorStatus": {
          "page": "https://metastatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:51.416434747Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "facebook/facebook-python-business-sdk",
            "version": "26.0.2",
            "released": "2026-09-21",
            "seenAt": "2026-10-08T16:20:32.10844618Z"
          },
          {
            "registry": "npm",
            "name": "facebook-nodejs-business-sdk",
            "version": "24.0.1",
            "seenAt": "2026-10-08T16:20:30.20877898Z"
          },
          {
            "registry": "pypi",
            "name": "facebook-business",
            "version": "26.0.2",
            "released": "2026-09-21",
            "seenAt": "2026-10-08T16:20:30.005647872Z"
          },
          {
            "registry": "pypi",
            "name": "meta-ads",
            "version": "1.2.0",
            "released": "2026-09-29",
            "seenAt": "2026-10-08T16:20:31.070786739Z"
          }
        ],
        "githubStars": 1605,
        "npmWeekly": 500852,
        "pypiWeekly": 1089043,
        "securityTxt": {
          "url": "https://facebook.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-11-07T07:38:40-08:00",
          "checkedAt": "2026-10-08T15:38:40.384187776Z"
        },
        "pages": [
          {
            "url": "https://developers.facebook.com/documentation/ads-commerce/marketing-api/marketing-api-changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:35.237810199Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f3469d786112"
          },
          {
            "url": "https://www.facebook.com/privacy/policy/",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-08T18:27:43.275272381Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://developers.facebook.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:39.648337351Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b317e3abcc1f"
          }
        ],
        "updatedAt": "2026-10-08T19:08:53.069973598Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Amazon",
        "b": "Meta Platforms, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://advertising-api.amazon.com",
        "b": "https://graph.facebook.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Amazon Advertising API Licence Agreement. The Postman collections and samples in amzn/ads-advanced-tools-docs are MIT-0",
        "b": "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",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-09-21",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-02-03",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-30",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "1.6k stars, 501k npm/wk, 1.1M PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Meta Marketing API scores 67.7 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Amazon Ads API or Meta Marketing API?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Amazon Ads API and Meta Marketing API need an API key?"
      },
      {
        "answer": "Yes. Amazon Ads API has a hosted endpoint at https://advertising-api.amazon.com and Meta Marketing API at https://graph.facebook.com.",
        "question": "Can an agent call Amazon Ads API and Meta Marketing API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 30",
          "Transparency \u0026 trust, 73 against 68"
        ],
        "also": null,
        "goodFor": "Agents managing sponsored ads and Amazon DSP for an advertiser or agency that already has API approval, and teams that want a vendor-run MCP server.",
        "slug": "amazon-ads-api",
        "watchFor": "Access needs an approved application (review may take up to one business day) and an advertiser's consent in a browser"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 45",
          "Agent ergonomics, 77 against 62",
          "Maintenance \u0026 community, 74 against 65"
        ],
        "also": null,
        "goodFor": "The direct route to Facebook, Instagram, Messenger, WhatsApp and Threads advertising for reporting, campaign and budget changes, audiences and creatives.",
        "slug": "meta-marketing-api",
        "watchFor": "Default Limited access allows a score of 60 per ad account (read 1, write 3) and blocks for 300 seconds at the limit"
      }
    ],
    "job": {
      "capability": "ads.reporting",
      "name": "Ads reporting"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-google-ads-api.json",
        "title": "Amazon Ads API vs Google Ads API",
        "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-google-ads-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.json",
        "title": "Amazon Ads API vs LinkedIn Marketing APIs",
        "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.json",
        "title": "Amazon Ads API vs Microsoft Advertising API",
        "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-ads-api-vs-meta-marketing-api.json",
        "title": "Google Ads API vs Meta Marketing API",
        "url": "https://www.anchorterminal.com/compare/google-ads-api-vs-meta-marketing-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-meta-marketing-api.json",
        "title": "LinkedIn Marketing APIs vs Meta Marketing API",
        "url": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-meta-marketing-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-marketing-api-vs-microsoft-advertising-api.json",
        "title": "Meta Marketing API vs Microsoft Advertising API",
        "url": "https://www.anchorterminal.com/compare/meta-marketing-api-vs-microsoft-advertising-api"
      }
    ],
    "scores": [
      {
        "amazon-ads-api": 45,
        "by": 35,
        "edge": "meta-marketing-api",
        "key": "reliability",
        "meta-marketing-api": 80,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-ads-api": 76,
        "by": 0,
        "edge": "",
        "key": "schema",
        "meta-marketing-api": 76,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "amazon-ads-api": 62,
        "by": 15,
        "edge": "meta-marketing-api",
        "key": "ergonomics",
        "meta-marketing-api": 77,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "amazon-ads-api": 60,
        "by": 1,
        "edge": "meta-marketing-api",
        "key": "security",
        "meta-marketing-api": 61,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "amazon-ads-api": 40,
        "by": 10,
        "edge": "amazon-ads-api",
        "key": "payments",
        "meta-marketing-api": 30,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-ads-api": 65,
        "by": 9,
        "edge": "meta-marketing-api",
        "key": "maintenance",
        "meta-marketing-api": 74,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "amazon-ads-api": 73,
        "by": 5,
        "edge": "amazon-ads-api",
        "key": "transparency",
        "meta-marketing-api": 68,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Meta Marketing API scores 67.7 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust. Both do ads reporting.",
    "verdicts": {
      "amazon-ads-api": "Public OpenAPI specifications, test accounts that serve no ads and a six-month shutoff notice policy support agent use. Access needs an approved application and an advertiser's OAuth consent, rate limits are dynamic with no published numbers, and the status feed shows three reporting disruptions since July 2026. The MCP server is in open beta.",
      "meta-marketing-api": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api",
    "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api.min.md"
  },
  "markdown": "Meta Marketing API scores 67.7 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust. Both do ads reporting.\n\n- Amazon Ads API: grade C, 59/100, rank #388 of 629. Markdown https://www.anchorterminal.com/tools/amazon-ads-api.md · JSON https://www.anchorterminal.com/api/v1/tools/amazon-ads-api.json\n- Meta Marketing API: grade B, 67.7/100, rank #187 of 629. Markdown https://www.anchorterminal.com/tools/meta-marketing-api.md · JSON https://www.anchorterminal.com/api/v1/tools/meta-marketing-api.json\n\n## Which one, for what\n\n### Amazon Ads API (C)\n\nGood for: Agents managing sponsored ads and Amazon DSP for an advertiser or agency that already has API approval, and teams that want a vendor-run MCP server.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 30\n- Transparency \u0026 trust, 73 against 68\n\nWatch for: Access needs an approved application (review may take up to one business day) and an advertiser's consent in a browser\n\n### Meta Marketing API (B)\n\nGood for: The direct route to Facebook, Instagram, Messenger, WhatsApp and Threads advertising for reporting, campaign and budget changes, audiences and creatives.\n\nAhead on:\n- Reliability, 80 against 45\n- Agent ergonomics, 77 against 62\n- Maintenance \u0026 community, 74 against 65\n\nWatch for: Default Limited access allows a score of 60 per ad account (read 1, write 3) and blocks for 300 seconds at the limit\n\n\n## Score by category\n\n| Category | Weight | Amazon Ads API | Meta Marketing API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 80 | Meta Marketing API +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 76 | even |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 77 | Meta Marketing API +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 61 | Meta Marketing API +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Amazon Ads API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 74 | Meta Marketing API +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 68 | Amazon Ads API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **67.7 · B** | |\n\n## Facts side by side\n\n| Fact | Amazon Ads API | Meta Marketing API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Amazon | Meta Platforms, Inc. |\n| Hosted endpoint | `https://advertising-api.amazon.com` | `https://graph.facebook.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Proprietary service under the Amazon Advertising API Licence Agreement. The Postman collections and samples in amzn/ads-advanced-tools-docs are MIT-0 | 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 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-05 | 2026-09-21 |\n| Terms last updated | couldn't be read | 2026-02-03 |\n| Privacy policy last updated | 2026-06-30 | couldn't be read |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | none | 1.6k stars, 501k npm/wk, 1.1M PyPI/wk |\n\n## Verdicts\n\n**Amazon Ads API.** Public OpenAPI specifications, test accounts that serve no ads and a six-month shutoff notice policy support agent use. Access needs an approved application and an advertiser's OAuth consent, rate limits are dynamic with no published numbers, and the status feed shows three reporting disruptions since July 2026. The MCP server is in open beta.\n\n**Meta Marketing API.** 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.\n\n## Before you call either\n\n### Amazon Ads API\n\n1. Send Amazon-Advertising-API-ClientId and a Bearer access token on every call, and Amazon-Advertising-API-Scope with a profile ID from GET /v2/profiles on most\n2. Call the host for the advertiser's region. advertising-api.amazon.com is North America, advertising-api-eu Europe and advertising-api-fe Far East\n3. Refresh the access token every 60 minutes. Refresh tokens issued from 30 July 2026 expire 365 days after consent\n4. On 429, wait the Retry-After seconds and back off exponentially. Request an export instead of listing every entity\n5. Rehearse writes in a test account, or create campaigns in the PAUSED state, before anything can spend\n6. For MCP, prefer https://advertising-ai.amazon.com/mcp/lite and disable delete tools in the client configuration\n\n### Meta Marketing API\n\n1. Put a version in every path, such as /v26.0/act_\u003cAD_ACCOUNT_ID\u003e/campaigns. Unversioned Marketing API calls fail\n2. Create campaigns, ad sets and ads with `status=PAUSED`, and send `execution_options=[\"validate_only\"]` first to test a write without making it\n3. Ask for `ads_read` alone when the task is reporting. `ads_management` can change budgets and activate spend\n4. 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\n5. Change an ad set budget at most four times an hour and an account spending limit at most ten times a day\n\n## Questions\n\n### Which is better for AI agents, Amazon Ads API or Meta Marketing API?\n\nMeta Marketing API scores 67.7 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Amazon Ads API and Meta Marketing API need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Amazon Ads API and Meta Marketing API without installing anything?\n\nYes. Amazon Ads API has a hosted endpoint at https://advertising-api.amazon.com and Meta Marketing API at https://graph.facebook.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"amazon-ads-api\", \"b\": \"meta-marketing-api\"}`. From a terminal: `anchor compare amazon-ads-api meta-marketing-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/amazon-ads-api.json and https://www.anchorterminal.com/api/v1/tools/meta-marketing-api.json\n\n## Other comparisons with Amazon Ads API or Meta Marketing API\n\n- [Amazon Ads API vs Google Ads API](https://www.anchorterminal.com/compare/amazon-ads-api-vs-google-ads-api.md)\n- [Amazon Ads API vs LinkedIn Marketing APIs](https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.md)\n- [Amazon Ads API vs Microsoft Advertising API](https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.md)\n- [Google Ads API vs Meta Marketing API](https://www.anchorterminal.com/compare/google-ads-api-vs-meta-marketing-api.md)\n- [LinkedIn Marketing APIs vs Meta Marketing API](https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-meta-marketing-api.md)\n- [Meta Marketing API vs Microsoft Advertising API](https://www.anchorterminal.com/compare/meta-marketing-api-vs-microsoft-advertising-api.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Amazon Ads API vs Meta Marketing API",
        "url": ""
      }
    ],
    "description": "Meta Marketing API scores 67.7 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust. Both do ads reporting. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Amazon Ads API C 59",
      "Meta Marketing API B 67.7",
      "scores"
    ],
    "h1": "Amazon Ads API vs Meta Marketing API",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-ads-api-vs-meta-marketing-api.png",
    "path": "/compare/amazon-ads-api-vs-meta-marketing-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon Ads API vs Meta Marketing API for AI agents, C 59 vs B 67.7",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 780
  },
  "version": 1
}
