{
  "data": {
    "a": {
      "slug": "snapchat-ads",
      "name": "Snapchat Ads API",
      "vendor": "Snap Inc.",
      "vendorUrl": "https://www.snap.com",
      "kind": "http-api",
      "category": "advertising",
      "summary": "Snap's Ads API creates and manages Snapchat campaigns, ad squads, ads, creatives and audiences and returns performance statistics. Agents call REST endpoints at adsapi.snapchat.com/v1 with a member's OAuth token, or read account data through the read-only Ads MCP server.",
      "url": "https://www.anchorterminal.com/tools/snapchat-ads",
      "markdownUrl": "https://www.anchorterminal.com/tools/snapchat-ads.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/snapchat-ads.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/snapchat-ads.json",
      "license": "Proprietary service under the Snap Developer Terms, which incorporate the Business Services Terms and the Snap Business Tools Terms",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://mcp.snapchat.com/ads",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Access is self-serve. An Organisation Admin creates an OAuth app in Snap Business Manager, accepts the Snap Developer Terms and the Snap Business Tools Terms, and receives a client ID and a client secret shown once. A member then consents in a browser (authorisation code grant) with the `snapchat-marketing-api` scope, which covers reads and writes. Access tokens last 60 minutes and refresh tokens do not expire. Calls act with the member's organisation and ad account roles. The Ads MCP server uses client IDs registered by Snap, the `snapads.read` scope and an admin's approval for each agent, with no dynamic client registration.",
      "pricing": "free",
      "pricingNotes": "No fee for API access was found in the docs or the terms, and no page states a price for the API. Ad spend is set by campaign and ad squad budgets and billed to the ad account's funding source, with a published minimum of $5 a day. An agent can start without a contract. A test ad account never serves live ads, though whether a business account needs a payment method before API use was not established (checked 2026-10-08).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Marketing API documentation or the Snap Developer Terms (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.snap.com/marketing-api/Ads-API/introduction",
      "llmsTxt": "https://developers.snap.com/llms.txt",
      "capabilities": [
        "ads.reporting",
        "ads.campaigns",
        "ads.budgets",
        "ads.audiences",
        "ads.creatives"
      ],
      "tags": [
        "hosted",
        "free",
        "oauth",
        "mcp",
        "llms-txt",
        "test-account",
        "audit-log",
        "bug-bounty",
        "closed-source",
        "self-serve"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.4,
        "grade": "D",
        "agentReady": false,
        "rank": 771,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 61,
          "payments": 20,
          "reliability": 34,
          "schema": 56,
          "security": 65,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The docs are served as Markdown with an llms.txt index, rate limits are published as 20 requests a second per app and 10 per token, and test ad accounts never serve live ads. No OpenAPI specification, status page, SLA, idempotency key or Ads API SDK was found, and one OAuth scope covers both reads and writes.",
        "bestFor": "An agent that manages or reports on Snapchat campaigns for an advertiser whose admin can create an OAuth app.",
        "strengths": [
          "llms.txt at developers.snap.com indexes every Marketing API page, and each page has a Markdown twin at the same path with `.md`",
          "Rate limits are published with numbers, an average of 20 requests a second per app and 10 per access token",
          "An ad account created with `\"test\": true` can never serve live ads, and `test=true` on a stats request returns sample data",
          "Change logs for campaigns, ad squads, ads and creatives record the user, the OAuth app and the before and after values",
          "The Ads MCP server at https://mcp.snapchat.com/ads is read-only, self-service, and needs an organisation admin's approval for each agent"
        ],
        "weaknesses": [
          "No OpenAPI specification, Postman collection or Ads API SDK was found in the reviewed documentation",
          "No status page or SLA was found, and no Retry-After header, backoff schedule or idempotency key is documented",
          "The `snapchat-marketing-api` scope covers reads and writes together, and refresh tokens do not expire",
          "An update with PUT expects the whole object and resets omitted attributes to their defaults. Deleted objects cannot be restored",
          "The Snap Developer Terms forbid public statements about use of the developer programme without Snap's written approval, and the Business Services Terms forbid publishing Business Services Data"
        ],
        "agentNotes": [
          "Refresh the access token every 60 minutes with the refresh token. An expired token returns 401 with `WWW-Authenticate: Bearer error=\"invalid_token\"`",
          "Create a test ad account with `\"test\": true` and build there first, and create campaigns with `\"status\": \"PAUSED\"`",
          "Change one field with PATCH (JSON Patch). A PUT that omits attributes resets them to their defaults",
          "Send money as micro-currency, where 1.00 of the account currency is 1,000,000",
          "Page lists with `limit` (50 to 1,000) and follow `paging.next_link`. Use `async=true` for large stats pulls, since an oversized response fails with `E9001` and a retry does not help"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.4
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 61,
          "payments": 20,
          "reliability": 34,
          "schema": 56,
          "security": 65,
          "transparency": 57
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl \"https://adsapi.snapchat.com/v1/me/organizations?with_ad_accounts=true\" \\\n  -H \"Authorization: Bearer {access_token}\"",
        "claudeCode": "claude mcp add --transport http --client-id claude-snap-ads snap-ads https://mcp.snapchat.com/ads\nclaude mcp login snap-ads"
      },
      "letme": {
        "capability": "https://letme.dev/ads.reporting",
        "tool": "https://letme.dev/snapchat-ads"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Snap Inc.",
        "domain": "snapchat.com",
        "domainRegistered": "2012-02-28",
        "endpointOnVendorDomain": true,
        "terms": "https://www.snap.com/en-US/terms/developer",
        "privacy": "https://values.snap.com/privacy/privacy-policy",
        "statusPage": "",
        "changelog": "https://developers.snap.com/marketing-api/Ads-API/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Snap Developer Terms (effective 31 January 2025) govern the developer programme and are incorporated into the Business Services Terms (effective 30 September 2024). The contracting entity is Snap Inc. for a business in the United States and Snap Group Limited elsewhere.",
          "The OAuth app setup also requires the Snap Business Tools Terms (effective 1 November 2021).",
          "The privacy policy at values.snap.com is effective 21 September 2026. A Data Processing Agreement (effective 25 July 2023) covers customer personal data Snap processes for a business.",
          "API calls go to https://adsapi.snapchat.com/v1, OAuth to accounts.snapchat.com and the MCP server to mcp.snapchat.com. The documentation is at developers.snap.com.",
          "snapchat.com/.well-known/security.txt has Contact, Policy, Acknowledgements, Canonical and Hiring lines pointing to hackerone.com/snapchat, and no Expires field. www.snap.com and developers.snap.com return 404 for the file.",
          "No status page is linked from the reviewed documentation. status.snapchat.com did not connect from our network.",
          "RDAP gives registration dates of 2012-02-28 for snapchat.com and 1997-02-20 for snap.com."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/snapchat-ads.json",
      "live": {
        "slug": "snapchat-ads",
        "probe": {
          "target": "https://mcp.snapchat.com/ads",
          "method": "get",
          "lastAt": "2026-10-10T02:55:10.944019204Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 469,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 460,
          "p95ms24h": 526,
          "samples24h": 199,
          "samples30d": 199,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 169
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "securityTxt": {
          "url": "https://snapchat.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-09T15:40:09.866972508Z"
        },
        "llmsTxt": {
          "url": "https://developers.snap.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:47.875885216Z"
        },
        "pages": [
          {
            "url": "https://developers.snap.com/marketing-api/Ads-API/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:17.468557355Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "04ffac11eeb2"
          },
          {
            "url": "https://values.snap.com/privacy/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:47:02.664403708Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "faa0a66f3886"
          },
          {
            "url": "https://www.snap.com/en-US/terms/developer",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:54:24.144117531Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8cbc297104d7"
          }
        ],
        "updatedAt": "2026-10-10T02:55:10.944019204Z"
      }
    },
    "answer": "X Ads API scores 57.3 (C) on agent readiness against Snapchat Ads API's 50.4 (D), and leads in 4 of 7 scored categories. Snapchat Ads API leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "x-ads",
      "name": "X Ads API",
      "vendor": "X Corp.",
      "vendorUrl": "https://docs.x.com/x-ads-api/introduction",
      "kind": "http-api",
      "category": "advertising",
      "summary": "X's Ads API creates and manages campaigns, line items, targeting, creatives and audiences on X and returns performance analytics. Agents call versioned REST endpoints at ads-api.x.com with OAuth 1.0a, or use the X Ads MCP server with OAuth 2.0.",
      "url": "https://www.anchorterminal.com/tools/x-ads",
      "markdownUrl": "https://www.anchorterminal.com/tools/x-ads.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/x-ads.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/x-ads.json",
      "license": "Proprietary service under the X Developer Agreement and its incorporated Developer Policy",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://ads-api.x.com/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Access needs approval. A person creates an app in the X Developer Console and requests Ads API access with the Ads API Access Form, which the docs say is reviewed within three business days, at the Conversion Only or Standard Access tier. The MCP page instead says selecting Ads Project under Project Access enables Ads API access for the app. REST calls are signed with OAuth 1.0a using the app key and a user access token from the three-legged or PIN flow. The docs say these tokens do not expire and the user can revoke them. The X Ads MCP server uses OAuth 2.0 with PKCE and the scopes `ads.read`, `ads.write`, `media.write` and `offline.access`. Calls act with the user's ad account role.",
      "pricing": "free",
      "pricingNotes": "No fee for Ads API access was found in the pages read, and the X API pricing page does not mention the Ads API. Ad spend is billed to the ad account's funding instrument, and advertising prices were not read. The sandbox host creates test accounts and funding instruments and never serves ads, so an approved app can start without spend. Whether a developer account needs a payment card was not established (checked 2026-10-09).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Ads API documentation, the X API pricing page or the Developer Agreement (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.x.com/x-ads-api/introduction",
      "llmsTxt": "https://docs.x.com/x-ads-api/llms.txt",
      "capabilities": [
        "ads.reporting",
        "ads.campaigns",
        "ads.budgets",
        "ads.audiences",
        "ads.creatives"
      ],
      "tags": [
        "hosted",
        "free",
        "oauth",
        "mcp",
        "llms-txt",
        "sandbox",
        "approval-required",
        "closed-source"
      ],
      "lastRelease": "2026-09-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.3,
        "grade": "C",
        "agentReady": false,
        "rank": 616,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 63,
          "payments": 20,
          "reliability": 75,
          "schema": 64,
          "security": 48,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Rate limits are published per endpoint type, a sandbox host never serves ads, and the X Ads MCP server has separate read and write scopes and creates campaigns paused. The REST API needs OAuth 1.0a signing and an approved app, no OpenAPI file covers it, and the official Python and Ruby SDKs were last released in May 2022.",
        "bestFor": "An agent that manages or reports on X campaigns for an advertiser with an approved developer app, especially through the MCP server, where scopes separate reads from writes and writes start paused.",
        "strengths": [
          "Rate limits are published by endpoint type, such as 450 writes a minute and 250 synchronous analytics requests per 15 minutes, with remaining quota in `x-rate-limit-*` headers",
          "The sandbox host `ads-api-sandbox.x.com` creates test ad accounts and funding instruments, and campaigns made there are not served",
          "The X Ads MCP server at `https://ads-api.x.com/mcp` lists 74 tools, with `ads.read`, `ads.write` and `media.write` as separate OAuth 2.0 scopes",
          "The MCP docs say campaigns and line items are always created paused, and spending starts only after `activate_campaign` or `activate_line_item`",
          "Every docs page has a Markdown twin, and https://docs.x.com/x-ads-api/llms.txt indexes the Ads API pages"
        ],
        "weaknesses": [
          "No OpenAPI file covers the Ads API. The published file (version 2.170, 178 paths) describes api.x.com only",
          "REST calls need an OAuth 1.0a signature on each request, and the docs say user access tokens do not expire",
          "The official Python and Ruby SDKs were last released on 27 May 2022 at v11.0.0, while the current API version is 12",
          "No idempotency key, audit log endpoint or SLA was found in the reviewed documentation",
          "The Developer Agreement treats statistics on the X API's performance and responsiveness as Confidential Information for internal, non-commercial use, which matters before any probe is run",
          "The `video_total_views` metric was redefined in place on 13 August 2026 with no version change"
        ],
        "agentNotes": [
          "Build against `https://ads-api-sandbox.x.com/12/` first. Create a test account with `POST accounts` and a funding instrument there before touching a live account",
          "On HTTP 429 wait until the time in `x-rate-limit-reset`. On 503 wait for `retry-after`. The docs say apps that ignore these can be throttled or lose access without notice",
          "Read the account-level limit from `x-account-rate-limit-*` when present and use `x-rate-limit-*` only when it is absent",
          "For a read-only MCP session request `ads.read offline.access` only. Without `offline.access` the token expires in about two hours with no refresh",
          "Page with `count` (1 to 1,000, default 200) and `cursor` until `next_cursor` is null. Analytics endpoints page by time range instead, and `with_total_count` cannot be combined with `cursor`"
        ],
        "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": 57.3
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 63,
          "payments": 20,
          "reliability": 75,
          "schema": 64,
          "security": 48,
          "transparency": 40
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "twurl -H ads-api.x.com \"/11/accounts\"",
        "claudeCode": "claude mcp add x-ads https://ads-api.x.com/mcp \\\n  --transport http \\\n  --client-id YOUR_OAUTH2_CLIENT_ID \\\n  --callback-port 8080"
      },
      "letme": {
        "capability": "https://letme.dev/ads.reporting",
        "tool": "https://letme.dev/x-ads"
      },
      "sameCompany": [
        "x-mcp"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "X Corp.",
        "domain": "x.com",
        "domainRegistered": "1993-04-02",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.x.com/developer-terms/agreement",
        "privacy": "https://x.com/privacy",
        "statusPage": "https://developer.x.com/status",
        "changelog": "https://docs.x.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The Developer Agreement (last updated 27 April 2026) governs use of the X API and incorporates the Developer Policy and the API Restricted Use Rules. The contracting entity is X Corp. (Bastrop, Texas), or X Internet Unlimited Company (Dublin) for a developer in the EU, EFTA or the United Kingdom.",
          "The privacy link is the one the Developer Policy cites. x.com's robots.txt disallows every path for unnamed agents, so the policy was not read.",
          "No advertiser agreement or data processing agreement was found in the pages read. business.x.com was not read.",
          "API calls go to https://ads-api.x.com and https://ads-api-sandbox.x.com, and OAuth 2.0 tokens come from api.x.com. The documentation is at docs.x.com.",
          "x.com/.well-known/security.txt is closed to us by robots.txt. developer.x.com and docs.x.com return 404 for the file.",
          "The status page at developer.x.com/status is script-drawn and its components were not read. The incident history is at https://docs.x.com/incidents.",
          "RDAP gives a registration date of 1993-04-02 for x.com."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/x-ads.json",
      "live": {
        "slug": "x-ads",
        "probe": {
          "target": "https://ads-api.x.com/mcp",
          "method": "get",
          "lastAt": "2026-10-10T02:55:16.388656573Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 122,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 136,
          "p95ms24h": 287,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://developer.x.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:26.152185931Z"
        },
        "pages": [
          {
            "url": "https://docs.x.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:38:47.238452338Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d1064f68558e"
          },
          {
            "url": "https://x.com/privacy",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-09T18:56:08.988834251Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://docs.x.com/developer-terms/agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:38:49.524865418Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "69ecb268f31a"
          }
        ],
        "updatedAt": "2026-10-10T02:55:16.388656573Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Snap Inc.",
        "b": "X Corp.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.snapchat.com/ads",
        "b": "https://ads-api.x.com/mcp",
        "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 Snap Developer Terms, which incorporate the Business Services Terms and the Snap Business Tools Terms",
        "b": "Proprietary service under the X Developer Agreement and its incorporated Developer Policy",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-09-17",
        "name": "Last release"
      },
      {
        "a": "2025-01-31",
        "b": "2026-04-27",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-21",
        "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": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "X Ads API scores 57.3 (C) on agent readiness against Snapchat Ads API's 50.4 (D), and leads in 4 of 7 scored categories. Snapchat Ads API leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Snapchat Ads API or X Ads API?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Snapchat Ads API and X Ads API need an API key?"
      },
      {
        "answer": "Yes. Snapchat Ads API has a hosted endpoint at https://mcp.snapchat.com/ads and X Ads API at https://ads-api.x.com/mcp.",
        "question": "Can an agent call Snapchat Ads API and X Ads API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 65 against 48",
          "Transparency \u0026 trust, 69 against 62"
        ],
        "also": null,
        "goodFor": "An agent that manages or reports on Snapchat campaigns for an advertiser whose admin can create an OAuth app.",
        "slug": "snapchat-ads",
        "watchFor": "No OpenAPI specification, Postman collection or Ads API SDK was found in the reviewed documentation"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 34",
          "Schema \u0026 documentation, 64 against 56",
          "Agent ergonomics, 62 against 57"
        ],
        "also": null,
        "goodFor": "An agent that manages or reports on X campaigns for an advertiser with an approved developer app, especially through the MCP server, where scopes separate reads from writes and writes start paused.",
        "slug": "x-ads",
        "watchFor": "No OpenAPI file covers the Ads API. The published file (version 2.170, 178 paths) describes api.x.com only"
      }
    ],
    "job": {
      "capability": "ads.reporting",
      "name": "Ad reporting"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-snapchat-ads.json",
        "title": "Amazon Ads API vs Snapchat Ads API",
        "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-snapchat-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-x-ads.json",
        "title": "Amazon Ads API vs X Ads API",
        "url": "https://www.anchorterminal.com/compare/amazon-ads-api-vs-x-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apple-ads-vs-snapchat-ads.json",
        "title": "Apple Ads Platform API vs Snapchat Ads API",
        "url": "https://www.anchorterminal.com/compare/apple-ads-vs-snapchat-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apple-ads-vs-x-ads.json",
        "title": "Apple Ads Platform API vs X Ads API",
        "url": "https://www.anchorterminal.com/compare/apple-ads-vs-x-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-ads-api-vs-snapchat-ads.json",
        "title": "Google Ads API vs Snapchat Ads API",
        "url": "https://www.anchorterminal.com/compare/google-ads-api-vs-snapchat-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-ads-api-vs-x-ads.json",
        "title": "Google Ads API vs X Ads API",
        "url": "https://www.anchorterminal.com/compare/google-ads-api-vs-x-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-snapchat-ads.json",
        "title": "LinkedIn Marketing APIs vs Snapchat Ads API",
        "url": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-snapchat-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-x-ads.json",
        "title": "LinkedIn Marketing APIs vs X Ads API",
        "url": "https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-x-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-marketing-api-vs-snapchat-ads.json",
        "title": "Meta Marketing API vs Snapchat Ads API",
        "url": "https://www.anchorterminal.com/compare/meta-marketing-api-vs-snapchat-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-marketing-api-vs-x-ads.json",
        "title": "Meta Marketing API vs X Ads API",
        "url": "https://www.anchorterminal.com/compare/meta-marketing-api-vs-x-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-advertising-api-vs-snapchat-ads.json",
        "title": "Microsoft Advertising API vs Snapchat Ads API",
        "url": "https://www.anchorterminal.com/compare/microsoft-advertising-api-vs-snapchat-ads"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-advertising-api-vs-x-ads.json",
        "title": "Microsoft Advertising API vs X Ads API",
        "url": "https://www.anchorterminal.com/compare/microsoft-advertising-api-vs-x-ads"
      }
    ],
    "scores": [
      {
        "by": 41,
        "edge": "x-ads",
        "key": "reliability",
        "name": "Reliability",
        "snapchat-ads": 34,
        "weight": 16,
        "x-ads": 75
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "x-ads",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "snapchat-ads": 56,
        "weight": 13,
        "x-ads": 64
      },
      {
        "by": 5,
        "edge": "x-ads",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "snapchat-ads": 57,
        "weight": 13,
        "x-ads": 62
      },
      {
        "by": 17,
        "edge": "snapchat-ads",
        "key": "security",
        "name": "Security \u0026 auth",
        "snapchat-ads": 65,
        "weight": 14,
        "x-ads": 48
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "snapchat-ads": 20,
        "weight": 10,
        "x-ads": 20
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "x-ads",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "snapchat-ads": 61,
        "weight": 7,
        "x-ads": 63
      },
      {
        "by": 7,
        "edge": "snapchat-ads",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "snapchat-ads": 69,
        "weight": 7,
        "x-ads": 62
      }
    ],
    "summary": "X Ads API scores 57.3 (C) on agent readiness against Snapchat Ads API's 50.4 (D), and leads in 4 of 7 scored categories. Snapchat Ads API leads on security \u0026 auth and transparency \u0026 trust. Both do ad reporting.",
    "verdicts": {
      "snapchat-ads": "The docs are served as Markdown with an llms.txt index, rate limits are published as 20 requests a second per app and 10 per token, and test ad accounts never serve live ads. No OpenAPI specification, status page, SLA, idempotency key or Ads API SDK was found, and one OAuth scope covers both reads and writes.",
      "x-ads": "Rate limits are published per endpoint type, a sandbox host never serves ads, and the X Ads MCP server has separate read and write scopes and creates campaigns paused. The REST API needs OAuth 1.0a signing and an approved app, no OpenAPI file covers it, and the official Python and Ruby SDKs were last released in May 2022."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads",
    "json": "https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads.md",
    "slim": "https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads.min.md"
  },
  "markdown": "X Ads API scores 57.3 (C) on agent readiness against Snapchat Ads API's 50.4 (D), and leads in 4 of 7 scored categories. Snapchat Ads API leads on security \u0026 auth and transparency \u0026 trust. Both do ad reporting.\n\n- Snapchat Ads API: grade D, 50.4/100, rank #771 of 950. Markdown https://www.anchorterminal.com/tools/snapchat-ads.md · JSON https://www.anchorterminal.com/api/v1/tools/snapchat-ads.json\n- X Ads API: grade C, 57.3/100, rank #616 of 950. Markdown https://www.anchorterminal.com/tools/x-ads.md · JSON https://www.anchorterminal.com/api/v1/tools/x-ads.json\n- Best advertising platform APIs for AI agents: https://www.anchorterminal.com/best/advertising/index.md\n- All 28 advertising comparisons: https://www.anchorterminal.com/compare/advertising/index.md\n\n## Which one, for what\n\n### Snapchat Ads API (D)\n\nGood for: An agent that manages or reports on Snapchat campaigns for an advertiser whose admin can create an OAuth app.\n\nAhead on:\n- Security \u0026 auth, 65 against 48\n- Transparency \u0026 trust, 69 against 62\n\nWatch for: No OpenAPI specification, Postman collection or Ads API SDK was found in the reviewed documentation\n\n### X Ads API (C)\n\nGood for: An agent that manages or reports on X campaigns for an advertiser with an approved developer app, especially through the MCP server, where scopes separate reads from writes and writes start paused.\n\nAhead on:\n- Reliability, 75 against 34\n- Schema \u0026 documentation, 64 against 56\n- Agent ergonomics, 62 against 57\n\nWatch for: No OpenAPI file covers the Ads API. The published file (version 2.170, 178 paths) describes api.x.com only\n\n\n## Score by category\n\n| Category | Weight | Snapchat Ads API | X Ads API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 75 | X Ads API +41 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 56 | 64 | X Ads API +8 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 62 | X Ads API +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 48 | Snapchat Ads API +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 20 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 61 | 63 | X Ads API +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 62 | Snapchat Ads API +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.4 · D** | **57.3 · C** | |\n\n## Facts side by side\n\n| Fact | Snapchat Ads API | X Ads API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Snap Inc. | X Corp. |\n| Hosted endpoint | `https://mcp.snapchat.com/ads` | `https://ads-api.x.com/mcp` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Proprietary service under the Snap Developer Terms, which incorporate the Business Services Terms and the Snap Business Tools Terms | Proprietary service under the X Developer Agreement and its incorporated Developer Policy |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | 2026-09-17 |\n| Terms last updated | 2025-01-31 | 2026-04-27 |\n| Privacy policy last updated | 2026-09-21 | couldn't be read |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n\n## Verdicts\n\n**Snapchat Ads API.** The docs are served as Markdown with an llms.txt index, rate limits are published as 20 requests a second per app and 10 per token, and test ad accounts never serve live ads. No OpenAPI specification, status page, SLA, idempotency key or Ads API SDK was found, and one OAuth scope covers both reads and writes.\n\n**X Ads API.** Rate limits are published per endpoint type, a sandbox host never serves ads, and the X Ads MCP server has separate read and write scopes and creates campaigns paused. The REST API needs OAuth 1.0a signing and an approved app, no OpenAPI file covers it, and the official Python and Ruby SDKs were last released in May 2022.\n\n## Before you call either\n\n### Snapchat Ads API\n\n1. Refresh the access token every 60 minutes with the refresh token. An expired token returns 401 with `WWW-Authenticate: Bearer error=\"invalid_token\"`\n2. Create a test ad account with `\"test\": true` and build there first, and create campaigns with `\"status\": \"PAUSED\"`\n3. Change one field with PATCH (JSON Patch). A PUT that omits attributes resets them to their defaults\n4. Send money as micro-currency, where 1.00 of the account currency is 1,000,000\n5. Page lists with `limit` (50 to 1,000) and follow `paging.next_link`. Use `async=true` for large stats pulls, since an oversized response fails with `E9001` and a retry does not help\n\n### X Ads API\n\n1. Build against `https://ads-api-sandbox.x.com/12/` first. Create a test account with `POST accounts` and a funding instrument there before touching a live account\n2. On HTTP 429 wait until the time in `x-rate-limit-reset`. On 503 wait for `retry-after`. The docs say apps that ignore these can be throttled or lose access without notice\n3. Read the account-level limit from `x-account-rate-limit-*` when present and use `x-rate-limit-*` only when it is absent\n4. For a read-only MCP session request `ads.read offline.access` only. Without `offline.access` the token expires in about two hours with no refresh\n5. Page with `count` (1 to 1,000, default 200) and `cursor` until `next_cursor` is null. Analytics endpoints page by time range instead, and `with_total_count` cannot be combined with `cursor`\n\n## Questions\n\n### Which is better for AI agents, Snapchat Ads API or X Ads API?\n\nX Ads API scores 57.3 (C) on agent readiness against Snapchat Ads API's 50.4 (D), and leads in 4 of 7 scored categories. Snapchat Ads API leads on security \u0026 auth and transparency \u0026 trust.\n\n### Do Snapchat Ads API and X Ads API need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Snapchat Ads API and X Ads API without installing anything?\n\nYes. Snapchat Ads API has a hosted endpoint at https://mcp.snapchat.com/ads and X Ads API at https://ads-api.x.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads.json, and with the fewest tokens: https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"snapchat-ads\", \"b\": \"x-ads\"}`. From a terminal: `anchor compare snapchat-ads x-ads`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/snapchat-ads.json and https://www.anchorterminal.com/api/v1/tools/x-ads.json\n\n## Other comparisons with Snapchat Ads API or X Ads API\n\n- [Amazon Ads API vs Snapchat Ads API](https://www.anchorterminal.com/compare/amazon-ads-api-vs-snapchat-ads.md)\n- [Amazon Ads API vs X Ads API](https://www.anchorterminal.com/compare/amazon-ads-api-vs-x-ads.md)\n- [Apple Ads Platform API vs Snapchat Ads API](https://www.anchorterminal.com/compare/apple-ads-vs-snapchat-ads.md)\n- [Apple Ads Platform API vs X Ads API](https://www.anchorterminal.com/compare/apple-ads-vs-x-ads.md)\n- [Google Ads API vs Snapchat Ads API](https://www.anchorterminal.com/compare/google-ads-api-vs-snapchat-ads.md)\n- [Google Ads API vs X Ads API](https://www.anchorterminal.com/compare/google-ads-api-vs-x-ads.md)\n- [LinkedIn Marketing APIs vs Snapchat Ads API](https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-snapchat-ads.md)\n- [LinkedIn Marketing APIs vs X Ads API](https://www.anchorterminal.com/compare/linkedin-marketing-api-vs-x-ads.md)\n- [Meta Marketing API vs Snapchat Ads API](https://www.anchorterminal.com/compare/meta-marketing-api-vs-snapchat-ads.md)\n- [Meta Marketing API vs X Ads API](https://www.anchorterminal.com/compare/meta-marketing-api-vs-x-ads.md)\n- [Microsoft Advertising API vs Snapchat Ads API](https://www.anchorterminal.com/compare/microsoft-advertising-api-vs-snapchat-ads.md)\n- [Microsoft Advertising API vs X Ads API](https://www.anchorterminal.com/compare/microsoft-advertising-api-vs-x-ads.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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": "Snapchat Ads API vs X Ads API",
        "url": ""
      }
    ],
    "description": "X Ads scores 57.3 (C) to Snapchat Ads's 50.4 (D) for ad reporting. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Snapchat Ads API D 50.4",
      "X Ads API C 57.3",
      "scores"
    ],
    "h1": "Snapchat Ads API vs X Ads API",
    "image": "https://www.anchorterminal.com/assets/og/compare-snapchat-ads-vs-x-ads.png",
    "path": "/compare/snapchat-ads-vs-x-ads",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Snapchat Ads vs X Ads for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/snapchat-ads-vs-x-ads"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 630
  },
  "version": 1
}
