{
  "data": {
    "a": {
      "slug": "blotato",
      "name": "Blotato",
      "vendor": "Blotato Inc.",
      "vendorUrl": "https://www.blotato.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Blotato is a hosted service for publishing and scheduling posts on nine social networks, with analytics on eight and comments and direct messages on Instagram and Facebook. Agents use a REST API or a remote MCP server with 36 tools.",
      "url": "https://www.anchorterminal.com/tools/blotato",
      "markdownUrl": "https://www.anchorterminal.com/tools/blotato.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/blotato.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/blotato.json",
      "repo": "https://github.com/Blotato-Inc/n8n-nodes-blotato",
      "license": "Proprietary hosted service under Blotato's Terms of Use. The n8n node is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://backend.blotato.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@blotato/n8n-nodes-blotato"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST takes the account's API key in the `blotato-api-key` header. The MCP server takes OAuth through a browser flow, or the same key as `blotato-api-key` or `Authorization: Bearer`. Access is self-serve on any paid plan. Each account has one key with full access, copied from Settings \u003e API and replaced by regenerating it. No scopes are documented.",
      "pricing": "paid",
      "pricingNotes": "Starter $29 a month (20 connected accounts), Creator $97 (40) and Agency $499 (100), each with API and MCP access and no fee per post. No free plan or sandbox. The 7-day trial needs a card and excludes the API and MCP, and generating a key starts the paid Starter plan. AI image and video credits cost $6 per 1,000 beyond the plan allowance (https://www.blotato.com/pricing.md).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI document, llms.txt, the help pages or the pricing rate card (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 36,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 524,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://help.blotato.com",
      "llmsTxt": "https://help.blotato.com/llms.txt",
      "openapi": "https://backend.blotato.com/openapi.json",
      "registryName": "com.blotato/mcp",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "closed-source",
        "n8n"
      ],
      "lastRelease": "2026-09-10",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.1,
        "grade": "D",
        "agentReady": false,
        "rank": 760,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 65,
          "payments": 10,
          "reliability": 38,
          "schema": 82,
          "security": 29,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One paid account gives an agent a REST API with a public OpenAPI document and an MCP server with 36 tools, with request limits and error codes documented in detail. No status page, changelog, security contact or free API access was found, and each account has a single key with full access.",
        "bestFor": "A solo builder or small agency that wants an agent to publish to nine networks and answer Instagram and Facebook comments and messages for a flat price.",
        "strengths": [
          "Public OpenAPI 3.0.3 document with 45 operations, plus `llms.txt`, a full Markdown export and a Markdown twin of every help page",
          "Request limits are published per route, such as 30 a minute for creating posts and 60 a minute for status reads",
          "Errors carry a numeric code, a request ID, a message and a suggested action, and a help page maps each code to a fix",
          "The MCP server is in the official registry as `com.blotato/mcp` and accepts OAuth or the API key in a header",
          "Flat plan prices from $29 a month with API and MCP access on every paid plan and no fee per post"
        ],
        "weaknesses": [
          "No status page, incident history or SLA was found, and the help pages send users to a third-party outage site",
          "Each account has one API key with full access. There are no scopes, no read-only key and no team logins",
          "The 7-day trial needs a card and excludes the API and MCP. Generating a key starts the paid Starter plan at once",
          "No changelog, deprecation policy, security.txt or disclosure route was found, and the terms allow changes without notice",
          "The privacy policy gives no retention period or sub-processor list, and the terms take a perpetual, irrevocable licence to user content",
          "No idempotency key for creating posts, which the help pages state plainly"
        ],
        "agentNotes": [
          "Call `blotato_list_accounts` or `GET /v2/users/me/accounts` first, and fetch `pageId` or `boardId` before posting to a Facebook Page, LinkedIn company Page or Pinterest",
          "Keep the `postSubmissionId` and poll the status until `published`, `scheduled` or `failed`. It is a receipt, not proof of publication",
          "After a timeout on a create call, list existing posts before sending again, because there is no idempotency key",
          "Do not generate an API key on a trial account unless the owner accepts the Starter charge",
          "Keep REST bodies and MCP arguments apart. REST nests `post.content` and `post.target`, and the MCP tool takes flat arguments"
        ],
        "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": 46.1
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 65,
          "payments": 10,
          "reliability": 38,
          "schema": 82,
          "security": 29,
          "transparency": 27
        },
        "provenanceScore": 62
      },
      "connect": {
        "http": "curl https://backend.blotato.com/v2/users/me/accounts -H \"blotato-api-key: YOUR_API_KEY\"",
        "claudeCode": "claude mcp add --transport http blotato https://mcp.blotato.com/mcp",
        "config": {
          "mcpServers": {
            "blotato": {
              "headers": {
                "blotato-api-key": "YOUR_API_KEY"
              },
              "url": "https://mcp.blotato.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/blotato"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 29,
          "note": "20 connected accounts, 1,250 credits, API and MCP included"
        },
        {
          "item": "Creator",
          "unit": "month",
          "usd": 97,
          "note": "40 connected accounts, 5,000 credits"
        },
        {
          "item": "Agency",
          "unit": "month",
          "usd": 499,
          "note": "100 connected accounts, 28,000 credits"
        },
        {
          "item": "AI generation credit",
          "unit": "credit",
          "usd": 0.006,
          "note": "$6 per 1,000 extra credits, spent only on AI images and video"
        }
      ],
      "provenance": {
        "legalEntity": "Blotato Inc.",
        "domain": "blotato.com",
        "domainRegistered": "2020-08-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.blotato.com/terms-of-service",
        "privacy": "https://www.blotato.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Use, dated 18 May 2026, name Blotato Inc. and cover the website and hosted applications. No separate API terms or DPA were found.",
          "The privacy policy names Blotato Inc. at 50 W Broadway Ste 333, PMB 617067, Salt Lake City, Utah. It shows 18 May 2026 at the top and an effective date of 17 October 2024 at the foot.",
          "No status page was found. status.blotato.com did not connect and the help pages link none.",
          "No changelog was found on the site or in the help centre.",
          "www.blotato.com/.well-known/security.txt and /security.txt return 404.",
          "RDAP for blotato.com gives a registration date of 2020-08-08. The AI info page says the company was founded in 2024.",
          "The MCP server's OAuth metadata names an authorisation server on supabase.co, and uploads go to database.blotato.io."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/blotato.json",
      "live": {
        "slug": "blotato",
        "probe": {
          "target": "https://backend.blotato.com/v2",
          "method": "get",
          "lastAt": "2026-10-09T10:42:38.207732102Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 261,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 256,
          "p95ms24h": 320,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "updatedAt": "2026-10-09T10:42:38.207732102Z"
      }
    },
    "answer": "X MCP scores 55.4 (C) on agent readiness against Blotato's 46.1 (D), and leads in 5 of 7 scored categories. Blotato leads on schema \u0026 documentation and agent ergonomics.",
    "b": {
      "slug": "x-mcp",
      "name": "X MCP",
      "vendor": "X Corp.",
      "vendorUrl": "https://docs.x.com/tools/mcp",
      "kind": "mcp",
      "category": "social-media",
      "summary": "X MCP is X Corp.'s hosted Model Context Protocol server for the X API at api.x.com/mcp. It lets a model search posts, look up users, manage bookmarks, read trends and news, and draft Articles.",
      "url": "https://www.anchorterminal.com/tools/x-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/x-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/x-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/x-mcp.json",
      "repo": "https://github.com/xdevplatform/xurl",
      "license": "Proprietary hosted server under the X Developer Agreement. The xurl bridge on GitHub and npm is MIT",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.x.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@xdevplatform/xurl"
        }
      ],
      "auth": "mixed",
      "authNotes": "A person creates an app in the X Developer Portal, on the Pay-per-use package in Production. Reads work with the app-only Bearer token in an `Authorization` header sent straight to https://api.x.com/mcp. User-context tools (bookmarks, Articles, the current user) need OAuth 2.0 authorisation code with PKCE through the local `xurl mcp` bridge, which takes CLIENT_ID and CLIENT_SECRET, needs the redirect URI http://localhost:8080/callback registered, opens a browser once, then caches and refreshes tokens in ~/.xurl. No dynamic client registration. Self-serve, with no review step documented.",
      "pricing": "usage",
      "pricingNotes": "Pay-per-use credits bought in advance in the Developer Console, with no subscription and no free tier. Reads are charged per resource returned ($0.005 a post, $0.010 a user, $0.001 for the app owner's own data) and writes per request ($0.005 a bookmark, $0.010 a trends request). A one-time $20 credit needs a saved payment card. The MCP page doesn't say MCP calls are billed at these API rates, though it requires a Pay-per-use app (https://docs.x.com/x-api/getting-started/pricing.md).",
      "priceSummary": "$0.005 / call",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the MCP page, the pricing page, the docs index or the OpenAPI spec (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1352,
        "npmWeekly": 6027,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.x.com/tools/mcp",
      "llmsTxt": "https://docs.x.com/llms.txt",
      "openapi": "https://api.x.com/2/openapi.json",
      "capabilities": [
        "social.analytics"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "usage-priced",
        "prepaid",
        "card-required",
        "openapi",
        "llms-txt",
        "closed-source",
        "cli",
        "go"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.4,
        "grade": "C",
        "agentReady": false,
        "rank": 590,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 45,
          "maintenance": 70,
          "payments": 20,
          "reliability": 72,
          "schema": 65,
          "security": 48,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "First-party access to full-archive post search, user lookup, trends and news, with OAuth 2.0 PKCE scopes and per-resource prices published without a login. Every user must create a paid X developer app, the tool list isn't published, and the documented tools don't create posts.",
        "bestFor": "Research and monitoring on X by an agent whose owner already has, or will pay for, an X developer app, such as searching the archive, reading timelines and mentions, and filing bookmarks.",
        "strengths": [
          "Hosted by X on api.x.com, with full-archive post search, user search and news search among the documented tools",
          "OAuth 2.0 with PKCE (S256), refresh tokens and header-only bearer tokens, per the server's published metadata",
          "Per-resource prices are public, such as $0.005 a post read and $0.001 for reads of the app owner's own data",
          "The xurl bridge is MIT, at 1.3.4 from 29 September 2026, with six releases since 16 July",
          "llms.txt, Markdown for every docs page and a public OpenAPI spec (version 2.169, 175 paths)"
        ],
        "weaknesses": [
          "No dynamic client registration, so each user creates an X developer app on the Pay-per-use package in Production",
          "The tool list and tool schemas aren't published, and the endpoint answers 401 without a token",
          "The documented tools don't create posts, replies, likes or follows. Writes cover bookmarks and Articles",
          "xurl 1.3.4 asks for a fixed set of 24 scopes, including tweet.write and dm.write, with no flag to narrow them",
          "No guidance on prompt injection, though every post returned is text written by strangers",
          "Not in the official MCP registry, and the platform changelog has no entry for the hosted server"
        ],
        "agentNotes": [
          "Use the app-only Bearer header for read-only work. Bookmarks, Articles and any tool working in the user's name need the xurl bridge",
          "Set the client's startup timeout to 300 seconds or more, because the bridge holds the handshake until the first browser login ends",
          "On a headless host run `xurl auth oauth2 --headless` first, with CLIENT_ID and CLIENT_SECRET exported in that shell",
          "On `client-not-enrolled`, move the app to Pay-per-use and Production in the developer portal",
          "On 429, wait until the Unix time in `x-rate-limit-reset`. No Retry-After header is documented"
        ],
        "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": 55.4
          }
        ],
        "editorialScores": {
          "ergonomics": 45,
          "maintenance": 70,
          "payments": 20,
          "reliability": 72,
          "schema": 65,
          "security": 48,
          "transparency": 50
        },
        "provenanceScore": 89
      },
      "connect": {
        "install": "npm install -g @xdevplatform/xurl",
        "config": {
          "mcpServers": {
            "xapi": {
              "args": [
                "-y",
                "@xdevplatform/xurl",
                "mcp",
                "https://api.x.com/mcp"
              ],
              "command": "npx",
              "env": {
                "CLIENT_ID": "YOUR_X_APP_CLIENT_ID",
                "CLIENT_SECRET": "YOUR_X_APP_CLIENT_SECRET"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.analytics",
        "tool": "https://letme.dev/x-mcp"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Post read",
          "unit": "record",
          "usd": 0.005,
          "note": "per post returned, deduplicated within a UTC day"
        },
        {
          "item": "User read",
          "unit": "record",
          "usd": 0.01,
          "note": "per user returned"
        },
        {
          "item": "Owned read (the app owner's own posts, bookmarks, followers)",
          "unit": "record",
          "usd": 0.001,
          "note": "when the authenticated user owns the app"
        },
        {
          "item": "Bookmark write",
          "unit": "call",
          "usd": 0.005,
          "note": "per request"
        },
        {
          "item": "Trends request",
          "unit": "call",
          "usd": 0.01,
          "note": "per request"
        }
      ],
      "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/en/privacy",
        "statusPage": "https://developer.x.com/status",
        "changelog": "https://docs.x.com/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The X terms of service name X Corp., 800 W Cesar Chavez St., Austin, TX 78701, and the privacy policy (effective 15 January 2026) names X Internet Unlimited Company as controller for the EU, EFTA and the UK.",
          "https://x.com/.well-known/security.txt is PGP-signed, points to hackerone.com/twitter and expired on 1 January 2024. api.x.com and docs.x.com return 404 for the file.",
          "https://developer.x.com/status needs JavaScript and showed our reader no status data. The incident history is readable at https://docs.x.com/incidents.md.",
          "RDAP for x.com gives a registration date of 1993-04-02."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/x-mcp.json",
      "live": {
        "slug": "x-mcp",
        "probe": {
          "target": "https://api.x.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-09T10:43:02.356394623Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 150,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 133,
          "p95ms24h": 279,
          "samples24h": 207,
          "samples30d": 207,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://developer.x.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:41.684635842Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "xdevplatform/xurl",
            "version": "v1.3.4",
            "released": "2026-09-29",
            "seenAt": "2026-10-08T16:35:14.575990235Z"
          },
          {
            "registry": "npm",
            "name": "@xdevplatform/xurl",
            "version": "1.3.4",
            "seenAt": "2026-10-08T16:35:13.417069401Z"
          }
        ],
        "githubStars": 1352,
        "npmWeekly": 6027,
        "securityTxt": {
          "url": "https://x.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2024-01-01T06:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:54.375297302Z"
        },
        "pages": [
          {
            "url": "https://docs.x.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:48.52525792Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d1064f68558e"
          },
          {
            "url": "https://docs.x.com/x-api/getting-started/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:52.673714764Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1664e738aab2"
          },
          {
            "url": "https://x.com/en/privacy",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-08T18:31:54.821627081Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://docs.x.com/developer-terms/agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:50.776391045Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "69ecb268f31a"
          }
        ],
        "mcpTools": {
          "url": "https://api.x.com/mcp",
          "checkedAt": "2026-10-08T21:34:02.68340277Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-08T21:34:02.68340277Z"
        },
        "updatedAt": "2026-10-09T10:43:02.356394623Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Blotato Inc.",
        "b": "X Corp.",
        "name": "Vendor"
      },
      {
        "a": "https://backend.blotato.com/v2",
        "b": "https://api.x.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under Blotato's Terms of Use. The n8n node is MIT",
        "b": "Proprietary hosted server under the X Developer Agreement. The xurl bridge on GitHub and npm is MIT",
        "name": "Licence"
      },
      {
        "a": "36",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.blotato/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-10",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "2026-05-18",
        "b": "2026-04-27",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-18",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "524 npm/wk",
        "b": "1.4k stars, 6k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "X MCP scores 55.4 (C) on agent readiness against Blotato's 46.1 (D), and leads in 5 of 7 scored categories. Blotato leads on schema \u0026 documentation and agent ergonomics.",
        "question": "Which is better for AI agents, Blotato or X MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Blotato and X MCP need an API key?"
      },
      {
        "answer": "Yes. Blotato has a hosted endpoint at https://backend.blotato.com/v2 and X MCP at https://api.x.com/mcp.",
        "question": "Can an agent call Blotato and X MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 82 against 65",
          "Agent ergonomics, 57 against 45"
        ],
        "also": null,
        "goodFor": "A solo builder or small agency that wants an agent to publish to nine networks and answer Instagram and Facebook comments and messages for a flat price.",
        "slug": "blotato",
        "watchFor": "No status page, incident history or SLA was found, and the help pages send users to a third-party outage site"
      },
      {
        "aheadOn": [
          "Reliability, 72 against 38",
          "Security \u0026 auth, 48 against 29",
          "Payments \u0026 pricing, 20 against 10",
          "Maintenance \u0026 community, 70 against 65",
          "Transparency \u0026 trust, 70 against 45"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Research and monitoring on X by an agent whose owner already has, or will pay for, an X developer app, such as searching the archive, reading timelines and mentions, and filing bookmarks.",
        "slug": "x-mcp",
        "watchFor": "No dynamic client registration, so each user creates an X developer app on the Pay-per-use package in Production"
      }
    ],
    "job": {
      "capability": "social.analytics",
      "name": "Social analytics"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-blotato.json",
        "title": "Ayrshare API + MCP vs Blotato",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-blotato"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-buffer.json",
        "title": "Blotato vs Buffer API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-buffer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-late.json",
        "title": "Blotato vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-late"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-metricool.json",
        "title": "Blotato vs Metricool API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-metricool"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-mixpost.json",
        "title": "Blotato vs Mixpost API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-mixpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-oneup.json",
        "title": "Blotato vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-post-bridge.json",
        "title": "Blotato vs Post Bridge API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-post-bridge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-postiz.json",
        "title": "Blotato vs Postiz API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-postiz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-publer.json",
        "title": "Blotato vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-typefully.json",
        "title": "Blotato vs Typefully",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-upload-post.json",
        "title": "Blotato vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-x-mcp.json",
        "title": "Ayrshare API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-x-mcp.json",
        "title": "Buffer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-x-mcp.json",
        "title": "Zernio (formerly Late) API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-x-mcp.json",
        "title": "Metricool API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-x-mcp.json",
        "title": "Mixpost API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-x-mcp.json",
        "title": "OneUp API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-x-mcp.json",
        "title": "Post Bridge API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-x-mcp.json",
        "title": "Postiz API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-x-mcp.json",
        "title": "Publer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/upload-post-vs-x-mcp.json",
        "title": "Upload-Post API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/upload-post-vs-x-mcp"
      }
    ],
    "scores": [
      {
        "blotato": 38,
        "by": 34,
        "edge": "x-mcp",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "x-mcp": 72
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "blotato": 82,
        "by": 17,
        "edge": "blotato",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "x-mcp": 65
      },
      {
        "blotato": 57,
        "by": 12,
        "edge": "blotato",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "x-mcp": 45
      },
      {
        "blotato": 29,
        "by": 19,
        "edge": "x-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "x-mcp": 48
      },
      {
        "blotato": 10,
        "by": 10,
        "edge": "x-mcp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "x-mcp": 20
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "blotato": 65,
        "by": 5,
        "edge": "x-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "x-mcp": 70
      },
      {
        "blotato": 45,
        "by": 25,
        "edge": "x-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "x-mcp": 70
      }
    ],
    "summary": "X MCP scores 55.4 (C) on agent readiness against Blotato's 46.1 (D), and leads in 5 of 7 scored categories. Blotato leads on schema \u0026 documentation and agent ergonomics. Both do social analytics.",
    "verdicts": {
      "blotato": "One paid account gives an agent a REST API with a public OpenAPI document and an MCP server with 36 tools, with request limits and error codes documented in detail. No status page, changelog, security contact or free API access was found, and each account has a single key with full access.",
      "x-mcp": "First-party access to full-archive post search, user lookup, trends and news, with OAuth 2.0 PKCE scopes and per-resource prices published without a login. Every user must create a paid X developer app, the tool list isn't published, and the documented tools don't create posts."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/blotato-vs-x-mcp",
    "json": "https://www.anchorterminal.com/compare/blotato-vs-x-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/blotato-vs-x-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/blotato-vs-x-mcp.min.md"
  },
  "markdown": "X MCP scores 55.4 (C) on agent readiness against Blotato's 46.1 (D), and leads in 5 of 7 scored categories. Blotato leads on schema \u0026 documentation and agent ergonomics. Both do social analytics.\n\n- Blotato: grade D, 46.1/100, rank #760 of 842. Markdown https://www.anchorterminal.com/tools/blotato.md · JSON https://www.anchorterminal.com/api/v1/tools/blotato.json\n- X MCP: grade C, 55.4/100, rank #590 of 842. Markdown https://www.anchorterminal.com/tools/x-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/x-mcp.json\n\n## Which one, for what\n\n### Blotato (D)\n\nGood for: A solo builder or small agency that wants an agent to publish to nine networks and answer Instagram and Facebook comments and messages for a flat price.\n\nAhead on:\n- Schema \u0026 documentation, 82 against 65\n- Agent ergonomics, 57 against 45\n\nWatch for: No status page, incident history or SLA was found, and the help pages send users to a third-party outage site\n\n### X MCP (C)\n\nGood for: Research and monitoring on X by an agent whose owner already has, or will pay for, an X developer app, such as searching the archive, reading timelines and mentions, and filing bookmarks.\n\nAhead on:\n- Reliability, 72 against 38\n- Security \u0026 auth, 48 against 29\n- Payments \u0026 pricing, 20 against 10\n- Maintenance \u0026 community, 70 against 65\n- Transparency \u0026 trust, 70 against 45\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No dynamic client registration, so each user creates an X developer app on the Pay-per-use package in Production\n\n\n## Score by category\n\n| Category | Weight | Blotato | X MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 38 | 72 | X MCP +34 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 65 | Blotato +17 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 45 | Blotato +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 29 | 48 | X MCP +19 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 20 | X MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 70 | X MCP +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 70 | X MCP +25 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.1 · D** | **55.4 · C** | |\n\n## Facts side by side\n\n| Fact | Blotato | X MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Blotato Inc. | X Corp. |\n| Hosted endpoint | `https://backend.blotato.com/v2` | `https://api.x.com/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted service under Blotato's Terms of Use. The n8n node is MIT | Proprietary hosted server under the X Developer Agreement. The xurl bridge on GitHub and npm is MIT |\n| Tools exposed | 36 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `com.blotato/mcp` | not listed |\n| Last release | 2026-09-10 | 2026-09-29 |\n| Terms last updated | 2026-05-18 | 2026-04-27 |\n| Privacy policy last updated | 2026-05-18 | couldn't be read |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 524 npm/wk | 1.4k stars, 6k npm/wk |\n\n## Verdicts\n\n**Blotato.** One paid account gives an agent a REST API with a public OpenAPI document and an MCP server with 36 tools, with request limits and error codes documented in detail. No status page, changelog, security contact or free API access was found, and each account has a single key with full access.\n\n**X MCP.** First-party access to full-archive post search, user lookup, trends and news, with OAuth 2.0 PKCE scopes and per-resource prices published without a login. Every user must create a paid X developer app, the tool list isn't published, and the documented tools don't create posts.\n\n## Before you call either\n\n### Blotato\n\n1. Call `blotato_list_accounts` or `GET /v2/users/me/accounts` first, and fetch `pageId` or `boardId` before posting to a Facebook Page, LinkedIn company Page or Pinterest\n2. Keep the `postSubmissionId` and poll the status until `published`, `scheduled` or `failed`. It is a receipt, not proof of publication\n3. After a timeout on a create call, list existing posts before sending again, because there is no idempotency key\n4. Do not generate an API key on a trial account unless the owner accepts the Starter charge\n5. Keep REST bodies and MCP arguments apart. REST nests `post.content` and `post.target`, and the MCP tool takes flat arguments\n\n### X MCP\n\n1. Use the app-only Bearer header for read-only work. Bookmarks, Articles and any tool working in the user's name need the xurl bridge\n2. Set the client's startup timeout to 300 seconds or more, because the bridge holds the handshake until the first browser login ends\n3. On a headless host run `xurl auth oauth2 --headless` first, with CLIENT_ID and CLIENT_SECRET exported in that shell\n4. On `client-not-enrolled`, move the app to Pay-per-use and Production in the developer portal\n5. On 429, wait until the Unix time in `x-rate-limit-reset`. No Retry-After header is documented\n\n## Questions\n\n### Which is better for AI agents, Blotato or X MCP?\n\nX MCP scores 55.4 (C) on agent readiness against Blotato's 46.1 (D), and leads in 5 of 7 scored categories. Blotato leads on schema \u0026 documentation and agent ergonomics.\n\n### Do Blotato and X MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Blotato and X MCP without installing anything?\n\nYes. Blotato has a hosted endpoint at https://backend.blotato.com/v2 and X MCP at https://api.x.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/blotato-vs-x-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/blotato-vs-x-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"blotato\", \"b\": \"x-mcp\"}`. From a terminal: `anchor compare blotato x-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/blotato.json and https://www.anchorterminal.com/api/v1/tools/x-mcp.json\n\n## Other comparisons with Blotato or X MCP\n\n- [Ayrshare API + MCP vs Blotato](https://www.anchorterminal.com/compare/ayrshare-vs-blotato.md)\n- [Blotato vs Buffer API + MCP](https://www.anchorterminal.com/compare/blotato-vs-buffer.md)\n- [Blotato vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/blotato-vs-late.md)\n- [Blotato vs Metricool API + MCP](https://www.anchorterminal.com/compare/blotato-vs-metricool.md)\n- [Blotato vs Mixpost API + MCP](https://www.anchorterminal.com/compare/blotato-vs-mixpost.md)\n- [Blotato vs OneUp API + MCP](https://www.anchorterminal.com/compare/blotato-vs-oneup.md)\n- [Blotato vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/blotato-vs-post-bridge.md)\n- [Blotato vs Postiz API + MCP](https://www.anchorterminal.com/compare/blotato-vs-postiz.md)\n- [Blotato vs Publer API + MCP](https://www.anchorterminal.com/compare/blotato-vs-publer.md)\n- [Blotato vs Typefully](https://www.anchorterminal.com/compare/blotato-vs-typefully.md)\n- [Blotato vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/blotato-vs-upload-post.md)\n- [Ayrshare API + MCP vs X MCP](https://www.anchorterminal.com/compare/ayrshare-vs-x-mcp.md)\n- [Buffer API + MCP vs X MCP](https://www.anchorterminal.com/compare/buffer-vs-x-mcp.md)\n- [Zernio (formerly Late) API + MCP vs X MCP](https://www.anchorterminal.com/compare/late-vs-x-mcp.md)\n- [Metricool API + MCP vs X MCP](https://www.anchorterminal.com/compare/metricool-vs-x-mcp.md)\n- [Mixpost API + MCP vs X MCP](https://www.anchorterminal.com/compare/mixpost-vs-x-mcp.md)\n- [OneUp API + MCP vs X MCP](https://www.anchorterminal.com/compare/oneup-vs-x-mcp.md)\n- [Post Bridge API + MCP vs X MCP](https://www.anchorterminal.com/compare/post-bridge-vs-x-mcp.md)\n- [Postiz API + MCP vs X MCP](https://www.anchorterminal.com/compare/postiz-vs-x-mcp.md)\n- [Publer API + MCP vs X MCP](https://www.anchorterminal.com/compare/publer-vs-x-mcp.md)\n- [Upload-Post API + MCP vs X MCP](https://www.anchorterminal.com/compare/upload-post-vs-x-mcp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Blotato vs X MCP",
        "url": ""
      }
    ],
    "description": "X MCP scores 55.4 (C) on agent readiness against Blotato's 46.1 (D), and leads in 5 of 7 scored categories. Blotato leads on schema \u0026 documentation and agent ergonomics. Both do social analytics. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Blotato D 46.1",
      "X MCP C 55.4",
      "scores"
    ],
    "h1": "Blotato vs X MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-blotato-vs-x-mcp.png",
    "path": "/compare/blotato-vs-x-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Blotato vs X MCP for AI agents, D 46.1 vs C 55.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/blotato-vs-x-mcp"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
