{
  "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": 439,
        "ranked": true,
        "rankOf": 722,
        "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-location",
        "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:52:43.828509164Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 123,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 120,
          "p95ms24h": 214,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ads.amazon.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:13.226103737Z"
        },
        "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:52:43.828509164Z"
      }
    },
    "answer": "LinkedIn Marketing APIs scores 62.4 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "linkedin-marketing-api",
      "name": "LinkedIn Marketing APIs",
      "vendor": "LinkedIn Corporation",
      "vendorUrl": "https://www.linkedin.com",
      "kind": "http-api",
      "category": "advertising",
      "summary": "LinkedIn's advertising APIs for campaign management, performance reporting, matched audiences, conversions and lead sync. Agents call versioned REST endpoints at api.linkedin.com/rest with a member's OAuth token, after LinkedIn approves the developer application.",
      "url": "https://www.anchorterminal.com/tools/linkedin-marketing-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/linkedin-marketing-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/linkedin-marketing-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/linkedin-marketing-api.json",
      "license": "Proprietary service under the LinkedIn API terms of use and the Marketing API terms. The beta Python and JavaScript clients carry LinkedIn's API development software licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "linkedin-api-client"
        },
        {
          "registry": "npm",
          "name": "linkedin-api-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "Access is by application review. A person creates a LinkedIn Page and a developer application, applies for the Advertising API and completes LinkedIn's vetting. Calls then use a member's three-legged OAuth 2.0 token with scopes such as r_ads, r_ads_reporting and rw_ads. Two-legged OAuth is not available for Marketing APIs. Access tokens last 60 days. The member also needs a role on the ad account, and Development tier limits edits to five ad accounts until LinkedIn approves Standard tier.",
      "pricing": "free",
      "pricingNotes": "No fee for API access was found in the docs or terms, and no price page exists. Ad spend is set by campaign budgets and billed to the ad account. An agent can start without a contract on Development tier, where one test ad account needs no payment details and its campaigns are never served or billed (checked 2026-10-08).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Marketing API documentation or the API terms (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 25354,
        "pypiWeekly": 385632,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/linkedin/marketing/",
      "capabilities": [
        "ads.reporting",
        "ads.campaigns",
        "ads.budgets",
        "ads.audiences",
        "ads.creatives"
      ],
      "tags": [
        "hosted",
        "free",
        "oauth",
        "app-review",
        "versioned",
        "test-account",
        "status-page",
        "bug-bounty",
        "closed-source",
        "python",
        "javascript"
      ],
      "lastRelease": "2026-09-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.4,
        "grade": "B",
        "agentReady": false,
        "rank": 339,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 64,
          "payments": 30,
          "reliability": 66,
          "schema": 66,
          "security": 66,
          "transparency": 84
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Monthly API versions are each supported for at least a year, with dated sunsets and a changelog, and a test ad account lets an agent create campaigns that are never served or billed. Access needs LinkedIn's approval and a member's OAuth consent, standard rate limits are not published, and no OpenAPI specification was found.",
        "bestFor": "An agent that reports on and manages LinkedIn campaigns for accounts its operator administers, especially read-only reporting, which has no account limit on Development tier.",
        "strengths": [
          "Monthly versions (latest 202609) each supported for at least one year, with a sunset date per version on the migrations page",
          "A test ad account, created through the API with no payment details, holds campaigns and creatives that are never served or billed",
          "Separate read and write scopes (r_ads, r_ads_reporting, rw_ads), and the VIEWER account role stays read-only even with rw_ads",
          "Structured validation errors with a code, field path and allowed value on adAccounts, adCampaignGroups and adCampaigns",
          "Field projections and cursor pagination (pageSize up to 1,000) on campaign search, and a `fields` parameter on adAnalytics"
        ],
        "weaknesses": [
          "Standard rate limits are not published. An app sees its limit in the Developer Portal only after calling the endpoint",
          "No OpenAPI specification, llms.txt or MCP server was found. The contract is reference pages and a Postman workspace",
          "Access needs a LinkedIn Page, an approved developer application and member consent. Standard tier review can take up to 30 business days",
          "No idempotency keys or Retry-After header were found in the reviewed documentation",
          "The official Python and JavaScript clients are marked beta and were last released in 2023"
        ],
        "agentNotes": [
          "Send `Linkedin-Version: YYYYMM` and `X-Restli-Protocol-Version: 2.0.0` on every call. A missing or sunset version returns an error (426 for a deprecated one)",
          "Create one test ad account with `\"test\": true` and build there first. Its creatives are auto-rejected and never billed, and it returns no reporting data",
          "Create campaigns as DRAFT or PAUSED and check `servingStatuses` before activating. Some validation is postponed until activation",
          "Pass `fields=` on adAnalytics. Responses stop at 15,000 elements and the endpoint throttles at 45 million metric values per 5 minutes",
          "On Development tier, map each ad account to the app in the Developer Portal. Edits are limited to five accounts"
        ],
        "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": 62.4
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 64,
          "payments": 30,
          "reliability": 66,
          "schema": 66,
          "security": 66,
          "transparency": 74
        },
        "provenanceScore": 94
      },
      "connect": {
        "http": "curl -X GET 'https://api.linkedin.com/rest/adAnalytics?accounts=List(urn%3Ali%3AsponsoredAccount%3A511183580)\u0026dateRange=(start:(day:28,month:7,year:2019))\u0026pivot=(MEMBER_COUNTRY_V2)\u0026q=analytics\u0026timeGranularity=ALL\u0026fields=impressions,pivotValues' \\\n  -H 'Authorization: Bearer {INSERT_TOKEN}' \\\n  -H 'Linkedin-Version: 202609' \\\n  -H 'X-Restli-Protocol-Version: 2.0.0'"
      },
      "letme": {
        "capability": "https://letme.dev/ads.reporting",
        "tool": "https://letme.dev/linkedin-marketing-api"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "LinkedIn Corporation",
        "domain": "linkedin.com",
        "domainRegistered": "2002-11-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.linkedin.com/legal/l/api-terms-of-use",
        "privacy": "https://www.linkedin.com/legal/privacy-policy",
        "statusPage": "https://www.linkedin-apistatus.com",
        "changelog": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The API terms of use (last revised 13 December 2022) contract with LinkedIn Corporation, 1000 West Maude Avenue, Sunnyvale, California, or with LinkedIn Ireland Unlimited Company for developers in the Designated Countries.",
          "The Marketing API terms at https://www.linkedin.com/legal/l/marketing-api-terms were last revised on 25 July 2025.",
          "API calls go to https://api.linkedin.com/rest. The documentation is hosted by Microsoft at learn.microsoft.com/en-us/linkedin.",
          "www.linkedin.com/.well-known/security.txt has two Contact lines, a Canonical line and a Policy line pointing to hackerone.com/linkedin, and no Expires field.",
          "RDAP for linkedin.com gives a registration date of 2002-11-02."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/linkedin-marketing-api.json",
      "live": {
        "slug": "linkedin-marketing-api",
        "vendorStatus": {
          "page": "https://www.linkedin-apistatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:48.173050476Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "linkedin-api-client",
            "version": "0.3.0",
            "seenAt": "2026-10-08T16:18:57.594437926Z"
          },
          {
            "registry": "pypi",
            "name": "linkedin-api-client",
            "version": "0.3.0",
            "released": "2023-06-29",
            "seenAt": "2026-10-08T16:18:55.599903721Z"
          }
        ],
        "npmWeekly": 25354,
        "pypiWeekly": 385632,
        "securityTxt": {
          "url": "https://linkedin.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:54.169049162Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:42.006346735Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "69c4f2489866"
          },
          {
            "url": "https://www.linkedin.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-08T18:28:44.479551534Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://www.linkedin.com/legal/l/api-terms-of-use",
            "kind": "terms",
            "status": 0,
            "checkedAt": "2026-10-08T18:28:44.342938486Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          }
        ],
        "updatedAt": "2026-10-08T19:50:48.173050476Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Amazon",
        "b": "LinkedIn Corporation",
        "name": "Vendor"
      },
      {
        "a": "https://advertising-api.amazon.com",
        "b": "no (local only)",
        "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 LinkedIn API terms of use and the Marketing API terms. The beta Python and JavaScript clients carry LinkedIn's API development software licence",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-09-16",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-30",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "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": "25k npm/wk, 386k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "LinkedIn Marketing APIs scores 62.4 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Amazon Ads API or LinkedIn Marketing APIs?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Amazon Ads API and LinkedIn Marketing APIs need an API key?"
      },
      {
        "answer": "Amazon Ads API has a hosted endpoint at https://advertising-api.amazon.com. No hosted endpoint is listed for LinkedIn Marketing APIs.",
        "question": "Can an agent call Amazon Ads API and LinkedIn Marketing APIs without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 76 against 66",
          "Payments \u0026 pricing, 40 against 30"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "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, 66 against 45",
          "Security \u0026 auth, 66 against 60",
          "Transparency \u0026 trust, 84 against 73"
        ],
        "also": null,
        "goodFor": "An agent that reports on and manages LinkedIn campaigns for accounts its operator administers, especially read-only reporting, which has no account limit on Development tier.",
        "slug": "linkedin-marketing-api",
        "watchFor": "Standard rate limits are not published. An app sees its limit in the Developer Portal only after calling the endpoint"
      }
    ],
    "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-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/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-linkedin-marketing-api.json",
        "title": "Google Ads API vs LinkedIn Marketing APIs",
        "url": "https://www.anchorterminal.com/compare/google-ads-api-vs-linkedin-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/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"
      }
    ],
    "scores": [
      {
        "amazon-ads-api": 45,
        "by": 21,
        "edge": "linkedin-marketing-api",
        "key": "reliability",
        "linkedin-marketing-api": 66,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-ads-api": 76,
        "by": 10,
        "edge": "amazon-ads-api",
        "key": "schema",
        "linkedin-marketing-api": 66,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "amazon-ads-api": 62,
        "by": 1,
        "edge": "linkedin-marketing-api",
        "key": "ergonomics",
        "linkedin-marketing-api": 63,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "amazon-ads-api": 60,
        "by": 6,
        "edge": "linkedin-marketing-api",
        "key": "security",
        "linkedin-marketing-api": 66,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "amazon-ads-api": 40,
        "by": 10,
        "edge": "amazon-ads-api",
        "key": "payments",
        "linkedin-marketing-api": 30,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-ads-api": 65,
        "by": 1,
        "edge": "amazon-ads-api",
        "key": "maintenance",
        "linkedin-marketing-api": 64,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "amazon-ads-api": 73,
        "by": 11,
        "edge": "linkedin-marketing-api",
        "key": "transparency",
        "linkedin-marketing-api": 84,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "LinkedIn Marketing APIs scores 62.4 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on schema \u0026 documentation and payments \u0026 pricing. 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.",
      "linkedin-marketing-api": "Monthly API versions are each supported for at least a year, with dated sunsets and a changelog, and a test ad account lets an agent create campaigns that are never served or billed. Access needs LinkedIn's approval and a member's OAuth consent, standard rate limits are not published, and no OpenAPI specification was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api",
    "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.min.md"
  },
  "markdown": "LinkedIn Marketing APIs scores 62.4 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on schema \u0026 documentation and payments \u0026 pricing. Both do ads reporting.\n\n- Amazon Ads API: grade C, 59/100, rank #439 of 722. Markdown https://www.anchorterminal.com/tools/amazon-ads-api.md · JSON https://www.anchorterminal.com/api/v1/tools/amazon-ads-api.json\n- LinkedIn Marketing APIs: grade B, 62.4/100, rank #339 of 722. Markdown https://www.anchorterminal.com/tools/linkedin-marketing-api.md · JSON https://www.anchorterminal.com/api/v1/tools/linkedin-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- Schema \u0026 documentation, 76 against 66\n- Payments \u0026 pricing, 40 against 30\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\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### LinkedIn Marketing APIs (B)\n\nGood for: An agent that reports on and manages LinkedIn campaigns for accounts its operator administers, especially read-only reporting, which has no account limit on Development tier.\n\nAhead on:\n- Reliability, 66 against 45\n- Security \u0026 auth, 66 against 60\n- Transparency \u0026 trust, 84 against 73\n\nWatch for: Standard rate limits are not published. An app sees its limit in the Developer Portal only after calling the endpoint\n\n\n## Score by category\n\n| Category | Weight | Amazon Ads API | LinkedIn Marketing APIs | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 66 | LinkedIn Marketing APIs +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 66 | Amazon Ads API +10 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 63 | LinkedIn Marketing APIs +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 66 | LinkedIn Marketing APIs +6 |\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 | 64 | Amazon Ads API +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 84 | LinkedIn Marketing APIs +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **62.4 · B** | |\n\n## Facts side by side\n\n| Fact | Amazon Ads API | LinkedIn Marketing APIs |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Amazon | LinkedIn Corporation |\n| Hosted endpoint | `https://advertising-api.amazon.com` | no (local only) |\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 LinkedIn API terms of use and the Marketing API terms. The beta Python and JavaScript clients carry LinkedIn's API development software licence |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| Last release | 2026-10-05 | 2026-09-16 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | 2026-06-30 | couldn't be read |\n| Customer content may train models | yes | couldn't be read |\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 | 25k npm/wk, 386k 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**LinkedIn Marketing APIs.** Monthly API versions are each supported for at least a year, with dated sunsets and a changelog, and a test ad account lets an agent create campaigns that are never served or billed. Access needs LinkedIn's approval and a member's OAuth consent, standard rate limits are not published, and no OpenAPI specification was found.\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### LinkedIn Marketing APIs\n\n1. Send `Linkedin-Version: YYYYMM` and `X-Restli-Protocol-Version: 2.0.0` on every call. A missing or sunset version returns an error (426 for a deprecated one)\n2. Create one test ad account with `\"test\": true` and build there first. Its creatives are auto-rejected and never billed, and it returns no reporting data\n3. Create campaigns as DRAFT or PAUSED and check `servingStatuses` before activating. Some validation is postponed until activation\n4. Pass `fields=` on adAnalytics. Responses stop at 15,000 elements and the endpoint throttles at 45 million metric values per 5 minutes\n5. On Development tier, map each ad account to the app in the Developer Portal. Edits are limited to five accounts\n\n## Questions\n\n### Which is better for AI agents, Amazon Ads API or LinkedIn Marketing APIs?\n\nLinkedIn Marketing APIs scores 62.4 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do Amazon Ads API and LinkedIn Marketing APIs need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Amazon Ads API and LinkedIn Marketing APIs without installing anything?\n\nAmazon Ads API has a hosted endpoint at https://advertising-api.amazon.com. No hosted endpoint is listed for LinkedIn Marketing APIs.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"amazon-ads-api\", \"b\": \"linkedin-marketing-api\"}`. From a terminal: `anchor compare amazon-ads-api linkedin-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/linkedin-marketing-api.json\n\n## Other comparisons with Amazon Ads API or LinkedIn Marketing APIs\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 Meta Marketing API](https://www.anchorterminal.com/compare/amazon-ads-api-vs-meta-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 LinkedIn Marketing APIs](https://www.anchorterminal.com/compare/google-ads-api-vs-linkedin-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- [LinkedIn Marketing APIs vs Microsoft Advertising API](https://www.anchorterminal.com/compare/linkedin-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 LinkedIn Marketing APIs",
        "url": ""
      }
    ],
    "description": "LinkedIn Marketing APIs scores 62.4 (B) on agent readiness against Amazon Ads API's 59 (C), and leads in 4 of 7 scored categories. Amazon Ads API leads on schema \u0026 documentation and payments \u0026 pricing. Both do ads reporting. Category scores, facts, verdicts and agent notes side…",
    "facts": [
      "Amazon Ads API C 59",
      "LinkedIn Marketing APIs B 62.4",
      "scores"
    ],
    "h1": "Amazon Ads API vs LinkedIn Marketing APIs",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-ads-api-vs-linkedin-marketing-api.png",
    "path": "/compare/amazon-ads-api-vs-linkedin-marketing-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon Ads API vs LinkedIn Marketing APIs for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-linkedin-marketing-api"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 680
  },
  "version": 1
}
