{
  "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-08T18:20:23.947030107Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 118,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 123,
          "p95ms24h": 229,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "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://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-08T18:20:23.947030107Z"
      }
    },
    "answer": "Microsoft Advertising API scores 60.3 (C) on agent readiness against Amazon Ads API's 59 (C), and leads in 3 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "microsoft-advertising-api",
      "name": "Microsoft Advertising API",
      "vendor": "Microsoft",
      "vendorUrl": "https://learn.microsoft.com/en-us/advertising/guides/",
      "kind": "http-api",
      "category": "advertising",
      "summary": "Microsoft's API for Microsoft Advertising (formerly Bing Ads) search, shopping and audience campaigns. It covers campaign management, bulk upload and download, reporting, ad insight, billing and account management over REST and SOAP.",
      "url": "https://www.anchorterminal.com/tools/microsoft-advertising-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/microsoft-advertising-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/microsoft-advertising-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/microsoft-advertising-api.json",
      "repo": "https://github.com/BingAds/BingAds-Python-SDK",
      "license": "Proprietary service. The .NET, Java, Python and PHP SDKs are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://campaign.api.bingads.microsoft.com/CampaignManagement/v13",
      "packages": [
        {
          "registry": "pypi",
          "name": "msads"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 authorisation code grant through Microsoft Entra ID with the single scope `https://ads.microsoft.com/msads.manage`, or Google OAuth 2.0 with an `IdentityProvider` header. Every call also needs a developer token, which a Super Admin requests self-serve in the Microsoft Advertising developer settings. A person registers the app and grants consent in a browser, and multi-factor authentication is required. Access follows the user's role (Super Admin, Standard, Advertiser Campaign Manager, Viewer). No partner or sales approval was found in the reviewed documentation.",
      "pricing": "free",
      "pricingNotes": "No fee for API access was found in the reviewed documentation, and no statement that it is free either. Advertising spend is billed to the advertiser's account. The sandbox needs no payment method (sign-up has a Skip payment information step) and takes the shared developer token BBD37VB98, so testing can start without a contract or card (checked 2026-10-08).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Microsoft Advertising guides or reference pages (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": 128,
        "npmWeekly": null,
        "pypiWeekly": 18920,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/advertising/guides/",
      "capabilities": [
        "ads.reporting",
        "ads.campaigns",
        "ads.budgets",
        "ads.audiences",
        "ads.creatives"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "rest",
        "soap",
        "sandbox",
        "mcp",
        "python",
        "java",
        "dotnet",
        "php",
        "status-page"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.3,
        "grade": "C",
        "agentReady": false,
        "rank": 360,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 61,
          "payments": 30,
          "reliability": 60,
          "schema": 79,
          "security": 60,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Version 13 covers campaigns, budgets, audiences, ads and reports over REST with JSON, with a sandbox that needs no payment method and four official SDKs. Call-rate limits are unpublished, no public OpenAPI file or idempotency key was found, and one OAuth scope covers every operation. The SOAP interface retires on 31 January 2027.",
        "bestFor": "Agents that manage or report on Microsoft Advertising accounts, including Google Ads imports.",
        "strengths": [
          "Sandbox with its own endpoints, a shared developer token (BBD37VB98) and sign-up that skips payment information. Ads created there are never served",
          "REST with JSON on every operation page beside SOAP, and Learn returns any page as Markdown for `Accept: text/markdown`",
          "Monthly dated release notes, and SDK 13.0.30 for .NET, Java, Python and PHP published on 29 September 2026",
          "Viewer role is read-only, and a developer token adds no access beyond the signed-in user's role",
          "Official MCP server in open beta with seven read-only tools, filters, sorting and page tokens"
        ],
        "weaknesses": [
          "Call-rate limits carry no numbers. The docs describe a 60-second sliding window, and call the Bulk and Reporting limits internal and subject to change",
          "No public OpenAPI file found. The contract is six WSDLs for SOAP, which retires on 31 January 2027, and a generated client inside the SDKs",
          "One OAuth scope, `msads.manage`, covers reads and writes alike",
          "21 status posts tagged Reporting API between 20 July and 7 October 2026, all for delayed reporting data, one lasting six days",
          "No idempotency key or validate-only mode found, so a retried add can create a duplicate"
        ],
        "agentNotes": [
          "Build and test against the sandbox hosts (`*.api.sandbox.bingads.microsoft.com`) with developer token BBD37VB98. Sandbox and production credentials are separate",
          "Send `Authorization: Bearer \u003ctoken\u003e`, `DeveloperToken`, `CustomerId` and `CustomerAccountId` on REST calls. Use the account ID, never the eight-character account number",
          "Create campaigns with `Status` set to `Paused`, then read them back before activating. No validate-only mode was found",
          "On error 117 (CallRateExceeded) wait 60 seconds. On Bulk error 4204 wait up to 15 minutes",
          "Read `PartialErrors` on every add, update and delete. A call can succeed for some items and fail for others"
        ],
        "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": 60.3
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 61,
          "payments": 30,
          "reliability": 60,
          "schema": 79,
          "security": 60,
          "transparency": 38
        },
        "provenanceScore": 90
      },
      "connect": {
        "install": "pip install msads",
        "http": "curl -X POST https://clientcenter.api.sandbox.bingads.microsoft.com/CustomerManagement/v13/User/Query \\\n  -H \"Authorization: Bearer $MSADS_ACCESS_TOKEN\" \\\n  -H \"DeveloperToken: BBD37VB98\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"UserId\": null}'",
        "config": {
          "servers": {
            "microsoft-ads-mcp": {
              "oauth": {
                "clientId": "\u003cclient-id\u003e"
              },
              "type": "http",
              "url": "https://partner.api.bingads.microsoft.com/ext/mcp/vnext?toolSetNames=OpenBeta"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/ads.reporting",
        "tool": "https://letme.dev/microsoft-advertising-api"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar",
        "dynamics-365-sales",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoints are on api.bingads.microsoft.com and the status page on status.ads.microsoft.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://about.ads.microsoft.com/en/resources/policies/microsoft-advertising-agreement",
        "privacy": "https://www.microsoft.com/en-us/privacy/privacystatement",
        "statusPage": "https://status.ads.microsoft.com",
        "changelog": "https://learn.microsoft.com/en-us/advertising/guides/release-notes?view=bingads-13",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The Microsoft Advertising Agreement link redirects to help.ads.microsoft.com, which renders only with JavaScript, so we couldn't read the terms.",
          "www.microsoft.com/.well-known/security.txt carries Expires: 2026-09-23T16:00:00.000Z and points to the MSRC researcher portal, bounty policy and coordinated disclosure policy.",
          "ads.microsoft.com/.well-known/security.txt redirects to a page-not-found error.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02.",
          "The status page is a WordPress blog whose posts are readable through its RSS feed and JSON API."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/microsoft-advertising-api.json",
      "live": {
        "slug": "microsoft-advertising-api",
        "probe": {
          "target": "https://campaign.api.bingads.microsoft.com/CampaignManagement/v13",
          "method": "get",
          "lastAt": "2026-10-08T18:20:34.798467368Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 439,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 442,
          "p95ms24h": 542,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ads.microsoft.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:51.532385114Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "BingAds/BingAds-Python-SDK",
            "version": "v13.0.30",
            "released": "2026-09-29",
            "seenAt": "2026-10-08T16:20:36.673165866Z"
          },
          {
            "registry": "pypi",
            "name": "msads",
            "version": "13.0.30",
            "released": "2026-09-30",
            "seenAt": "2026-10-08T16:20:34.683272294Z"
          }
        ],
        "githubStars": 128,
        "pypiWeekly": 18920,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-23T16:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:08.216544687Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/advertising/guides/release-notes?view=bingads-13",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:19.962608646Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a3c1ed0e4724"
          },
          {
            "url": "https://about.ads.microsoft.com/en/resources/policies/microsoft-advertising-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:14:55.315820849Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7abf9893ad2d"
          }
        ],
        "updatedAt": "2026-10-08T18:21:19.962608646Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Amazon",
        "b": "Microsoft",
        "name": "Vendor"
      },
      {
        "a": "https://advertising-api.amazon.com",
        "b": "https://campaign.api.bingads.microsoft.com/CampaignManagement/v13",
        "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. The .NET, Java, Python and PHP SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "7",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-30",
        "b": "2026-09-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "128 stars, 19k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Microsoft Advertising API scores 60.3 (C) on agent readiness against Amazon Ads API's 59 (C), and leads in 3 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 Microsoft Advertising API?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Amazon Ads API and Microsoft Advertising API need an API key?"
      },
      {
        "answer": "Yes. Amazon Ads API has a hosted endpoint at https://advertising-api.amazon.com and Microsoft Advertising API at https://campaign.api.bingads.microsoft.com/CampaignManagement/v13.",
        "question": "Can an agent call Amazon Ads API and Microsoft Advertising API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 30",
          "Transparency \u0026 trust, 73 against 64"
        ],
        "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, 60 against 45"
        ],
        "also": null,
        "goodFor": "Agents that manage or report on Microsoft Advertising accounts, including Google Ads imports.",
        "slug": "microsoft-advertising-api",
        "watchFor": "Call-rate limits carry no numbers. The docs describe a 60-second sliding window, and call the Bulk and Reporting limits internal and subject to change"
      }
    ],
    "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-meta-marketing-api.json",
        "title": "Amazon Ads API vs Meta Marketing API",
        "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-ads-api-vs-microsoft-advertising-api.json",
        "title": "Google Ads API vs Microsoft Advertising API",
        "url": "https://www.anchorterminal.com/compare/google-ads-api-vs-microsoft-advertising-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-microsoft-advertising-api.json",
        "title": "LinkedIn Marketing APIs vs Microsoft Advertising API",
        "url": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-microsoft-advertising-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": 15,
        "edge": "microsoft-advertising-api",
        "key": "reliability",
        "microsoft-advertising-api": 60,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-ads-api": 76,
        "by": 3,
        "edge": "microsoft-advertising-api",
        "key": "schema",
        "microsoft-advertising-api": 79,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "amazon-ads-api": 62,
        "by": 1,
        "edge": "microsoft-advertising-api",
        "key": "ergonomics",
        "microsoft-advertising-api": 63,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "amazon-ads-api": 60,
        "by": 0,
        "edge": "",
        "key": "security",
        "microsoft-advertising-api": 60,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "amazon-ads-api": 40,
        "by": 10,
        "edge": "amazon-ads-api",
        "key": "payments",
        "microsoft-advertising-api": 30,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-ads-api": 65,
        "by": 4,
        "edge": "amazon-ads-api",
        "key": "maintenance",
        "microsoft-advertising-api": 61,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "amazon-ads-api": 73,
        "by": 9,
        "edge": "amazon-ads-api",
        "key": "transparency",
        "microsoft-advertising-api": 64,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Microsoft Advertising API scores 60.3 (C) on agent readiness against Amazon Ads API's 59 (C), and leads in 3 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.",
      "microsoft-advertising-api": "Version 13 covers campaigns, budgets, audiences, ads and reports over REST with JSON, with a sandbox that needs no payment method and four official SDKs. Call-rate limits are unpublished, no public OpenAPI file or idempotency key was found, and one OAuth scope covers every operation. The SOAP interface retires on 31 January 2027."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api",
    "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.min.md"
  },
  "markdown": "Microsoft Advertising API scores 60.3 (C) on agent readiness against Amazon Ads API's 59 (C), and leads in 3 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- Microsoft Advertising API: grade C, 60.3/100, rank #360 of 629. Markdown https://www.anchorterminal.com/tools/microsoft-advertising-api.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-advertising-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 64\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### Microsoft Advertising API (C)\n\nGood for: Agents that manage or report on Microsoft Advertising accounts, including Google Ads imports.\n\nAhead on:\n- Reliability, 60 against 45\n\nWatch for: Call-rate limits carry no numbers. The docs describe a 60-second sliding window, and call the Bulk and Reporting limits internal and subject to change\n\n\n## Score by category\n\n| Category | Weight | Amazon Ads API | Microsoft Advertising API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 60 | Microsoft Advertising API +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 79 | Microsoft Advertising API +3 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 63 | Microsoft Advertising API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 60 | even |\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 | 61 | Amazon Ads API +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 64 | Amazon Ads API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **60.3 · C** | |\n\n## Facts side by side\n\n| Fact | Amazon Ads API | Microsoft Advertising API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Amazon | Microsoft |\n| Hosted endpoint | `https://advertising-api.amazon.com` | `https://campaign.api.bingads.microsoft.com/CampaignManagement/v13` |\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. The .NET, Java, Python and PHP SDKs are MIT |\n| Tools exposed | none | 7 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| Last release | 2026-10-05 | 2026-09-29 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | 2026-06-30 | 2026-09-01 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | couldn't be read | couldn't be read |\n| Terms restrict benchmarking | couldn't be read | couldn't be read |\n| Terms or service can change without notice | couldn't be read | couldn't be read |\n| Arbitration or class-action waiver | couldn't be read | couldn't be read |\n| Popularity | none | 128 stars, 19k 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**Microsoft Advertising API.** Version 13 covers campaigns, budgets, audiences, ads and reports over REST with JSON, with a sandbox that needs no payment method and four official SDKs. Call-rate limits are unpublished, no public OpenAPI file or idempotency key was found, and one OAuth scope covers every operation. The SOAP interface retires on 31 January 2027.\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### Microsoft Advertising API\n\n1. Build and test against the sandbox hosts (`*.api.sandbox.bingads.microsoft.com`) with developer token BBD37VB98. Sandbox and production credentials are separate\n2. Send `Authorization: Bearer \u003ctoken\u003e`, `DeveloperToken`, `CustomerId` and `CustomerAccountId` on REST calls. Use the account ID, never the eight-character account number\n3. Create campaigns with `Status` set to `Paused`, then read them back before activating. No validate-only mode was found\n4. On error 117 (CallRateExceeded) wait 60 seconds. On Bulk error 4204 wait up to 15 minutes\n5. Read `PartialErrors` on every add, update and delete. A call can succeed for some items and fail for others\n\n## Questions\n\n### Which is better for AI agents, Amazon Ads API or Microsoft Advertising API?\n\nMicrosoft Advertising API scores 60.3 (C) on agent readiness against Amazon Ads API's 59 (C), and leads in 3 of 7 scored categories. Amazon Ads API leads on payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Amazon Ads API and Microsoft Advertising API need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Amazon Ads API and Microsoft Advertising API without installing anything?\n\nYes. Amazon Ads API has a hosted endpoint at https://advertising-api.amazon.com and Microsoft Advertising API at https://campaign.api.bingads.microsoft.com/CampaignManagement/v13.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"amazon-ads-api\", \"b\": \"microsoft-advertising-api\"}`. From a terminal: `anchor compare amazon-ads-api microsoft-advertising-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/microsoft-advertising-api.json\n\n## Other comparisons with Amazon Ads API or Microsoft Advertising 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 Meta Marketing API](https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-marketing-api.md)\n- [Google Ads API vs Microsoft Advertising API](https://www.anchorterminal.com/compare/google-ads-api-vs-microsoft-advertising-api.md)\n- [LinkedIn Marketing APIs vs Microsoft Advertising API](https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-microsoft-advertising-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 Microsoft Advertising API",
        "url": ""
      }
    ],
    "description": "Microsoft Advertising API scores 60.3 (C) on agent readiness against Amazon Ads API's 59 (C), and leads in 3 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…",
    "facts": [
      "Amazon Ads API C 59",
      "Microsoft Advertising API C 60.3",
      "scores"
    ],
    "h1": "Amazon Ads API vs Microsoft Advertising API",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-ads-api-vs-microsoft-advertising-api.png",
    "path": "/compare/amazon-ads-api-vs-microsoft-advertising-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon Ads API vs Microsoft Advertising API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-microsoft-advertising-api"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
