{
  "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-09T11:28:55.785561103Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 253,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 257,
          "p95ms24h": 320,
          "samples24h": 41,
          "samples30d": 41,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 41,
              "ok": 41
            }
          ]
        },
        "updatedAt": "2026-10-09T11:28:55.785561103Z"
      }
    },
    "answer": "Upload-Post API + MCP scores 58.7 (C) on agent readiness against Blotato's 46.1 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "upload-post",
      "name": "Upload-Post API + MCP",
      "vendor": "Upload-Post",
      "vendorUrl": "https://www.upload-post.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "REST API for publishing video, photos, text and documents to TikTok, Instagram, YouTube and 20 or so other networks, with async uploads, scheduling and analytics.",
      "url": "https://www.anchorterminal.com/tools/upload-post",
      "markdownUrl": "https://www.anchorterminal.com/tools/upload-post.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/upload-post.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/upload-post.json",
      "repo": "https://github.com/Upload-Post/upload-post-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.upload-post.com/api",
      "packages": [
        {
          "registry": "npm",
          "name": "upload-post"
        },
        {
          "registry": "pypi",
          "name": "upload-post"
        },
        {
          "registry": "npm",
          "name": "@upload-post/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the header as `Authorization: Apikey \u003ckey\u003e` (the MCP also accepts Bearer). The hosted MCP supports OAuth 2.1 with discovery metadata for claude.ai and ChatGPT connectors. User profiles plus JWT connect links for white-label use.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 (2 profiles, 10 uploads a month, no TikTok, no card). Basic $24 a month or $16 billed yearly (5 profiles), Professional $50 or $33 (25), Advanced $147 or $118 (75), Business $438 or $350 (225). Uploads unlimited on paid plans. Extra profile packs from $15 a month, X link posts add-on $19 a month (https://www.upload-post.com/pricing).",
      "priceSummary": "$24 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, llms-full.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 59,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 1884,
        "pypiWeekly": 6236,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.upload-post.com",
      "llmsTxt": "https://docs.upload-post.com/llms.txt",
      "openapi": "https://docs.upload-post.com/openapi.json",
      "registryName": "com.upload-post/mcp",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "closed-source"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 517,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope.",
        "bestFor": "Video-heavy publishing to TikTok, Reels and Shorts at a low price, and for white-label products that link end users through JWT connect pages.",
        "strengths": [
          "Free plan with 2 profiles and 10 uploads a month, no card",
          "MIT-licensed MCP with 59 tools, each annotated readOnlyHint or destructiveHint, in the official registry as com.upload-post/mcp",
          "Rate-limit guide with X-RateLimit headers, polling intervals, daily caps and an Idempotency-Key for uploads",
          "Privacy policy updated 4 September 2026 with retention per data type, named subprocessors and countries, and a DPA",
          "Python SDK 2.13.0 on 9 September 2026 and MCP releases most weeks"
        ],
        "weaknesses": [
          "One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope",
          "59 MCP tools with no toolsets or read-only subset",
          "Comment, DM and Google Business review tools return untrusted text with no injection guidance",
          "OpenAPI spec covers 22 paths and no API changelog",
          "Free plan excludes TikTok and X link posts need a $19 a month add-on"
        ],
        "agentNotes": [
          "Send `Authorization: Apikey \u003ckey\u003e` on REST. The MCP also takes Bearer",
          "Use async_upload=true for video, then poll the upload status endpoint every 5 to 60 seconds, not faster",
          "Send an Idempotency-Key on every upload so a timed-out retry doesn't post twice",
          "Check each platform's success flag in results, because one network failing doesn't stop the others",
          "Wait until X-RateLimit-Reset after a 429, and mind daily caps such as TikTok 15 and YouTube 10 per account"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 78
        },
        "provenanceScore": 62
      },
      "connect": {
        "http": "curl https://api.upload-post.com/api/uploadposts/me -H \"Authorization: Apikey $UPLOAD_POST_API_KEY\"",
        "claudeCode": "claude mcp add --transport http upload-post https://mcp.upload-post.com/mcp --header \"Authorization: Bearer $UPLOAD_POST_API_KEY\"",
        "config": {
          "mcpServers": {
            "upload-post": {
              "args": [
                "-y",
                "@upload-post/mcp"
              ],
              "command": "npx",
              "env": {
                "UPLOAD_POST_API_KEY": "${UPLOAD_POST_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/upload-post"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 24,
          "note": "5 profiles. $16 a month billed yearly"
        },
        {
          "item": "Professional plan",
          "unit": "month",
          "usd": 50,
          "note": "25 profiles. $33 a month billed yearly"
        },
        {
          "item": "Advanced plan",
          "unit": "month",
          "usd": 147,
          "note": "75 profiles. $118 a month billed yearly"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 438,
          "note": "225 profiles. $350 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "TONVI TECH SL",
        "domain": "upload-post.com",
        "domainRegistered": "2024-11-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.upload-post.com/terms-of-use/",
        "privacy": "https://www.upload-post.com/data-and-privacy-policy/",
        "statusPage": "https://www.upload-post.com/status/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "docs.upload-post.com returns 200 for any path, so a missing changelog page can look present"
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/upload-post.json",
      "live": {
        "slug": "upload-post",
        "probe": {
          "target": "https://api.upload-post.com/api",
          "method": "get",
          "lastAt": "2026-10-09T11:29:18.467810025Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 110,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 110,
          "p95ms24h": 188,
          "samples24h": 259,
          "samples30d": 2308,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 122,
              "ok": 122
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.upload-post.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:38.134066566Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Upload-Post/upload-post-mcp",
            "version": "v0.11.4",
            "released": "2026-09-27",
            "seenAt": "2026-10-08T16:33:35.696588633Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.upload-post/mcp",
            "version": "0.10.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@upload-post/mcp",
            "version": "0.11.4",
            "seenAt": "2026-10-08T16:33:34.489686561Z"
          },
          {
            "registry": "npm",
            "name": "upload-post",
            "version": "2.15.0",
            "seenAt": "2026-10-08T16:33:33.45785513Z"
          },
          {
            "registry": "pypi",
            "name": "upload-post",
            "version": "2.13.0",
            "released": "2026-09-09",
            "seenAt": "2026-10-08T16:33:34.300402728Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 1922,
        "pypiWeekly": 5934,
        "securityTxt": {
          "url": "https://upload-post.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:34.025849298Z"
        },
        "llmsTxt": {
          "url": "https://docs.upload-post.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:58.491047592Z"
        },
        "domain": {
          "domain": "upload-post.com",
          "registered": "2024-11-02",
          "source": "https://rdap.verisign.com/com/v1/domain/upload-post.com",
          "checkedAt": "2026-10-04T13:08:09.14770632Z"
        },
        "pages": [
          {
            "url": "https://www.upload-post.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:17.276202482Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f7e3c2b35950"
          },
          {
            "url": "https://www.upload-post.com/data-and-privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:15.058920408Z",
            "changedAt": "2026-10-02T15:28:37.187395537Z",
            "fingerprint": "5968788a82c9"
          },
          {
            "url": "https://www.upload-post.com/terms-of-use/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:31:19.173991842Z",
            "changedAt": "2026-10-03T15:40:28.795828429Z",
            "fingerprint": "789e3acd5b6b"
          }
        ],
        "updatedAt": "2026-10-09T11:29:18.467810025Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Blotato Inc.",
        "b": "Upload-Post",
        "name": "Vendor"
      },
      {
        "a": "https://backend.blotato.com/v2",
        "b": "https://api.upload-post.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under Blotato's Terms of Use. The n8n node is MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "36",
        "b": "59",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.blotato/mcp",
        "b": "com.upload-post/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-10",
        "b": "2026-09-27",
        "name": "Last release"
      },
      {
        "a": "2026-05-18",
        "b": "2026-10-02",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-18",
        "b": "2026-09-04",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "524 npm/wk",
        "b": "8 stars, 1.9k npm/wk, 6.2k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Upload-Post API + MCP scores 58.7 (C) on agent readiness against Blotato's 46.1 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Blotato or Upload-Post API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Blotato and Upload-Post API + MCP need an API key?"
      },
      {
        "answer": "Yes. Blotato has a hosted endpoint at https://backend.blotato.com/v2 and Upload-Post API + MCP at https://api.upload-post.com/api.",
        "question": "Can an agent call Blotato and Upload-Post API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "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, 57 against 38",
          "Agent ergonomics, 72 against 57",
          "Payments \u0026 pricing, 30 against 10",
          "Maintenance \u0026 community, 79 against 65",
          "Transparency \u0026 trust, 70 against 45"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Video-heavy publishing to TikTok, Reels and Shorts at a low price, and for white-label products that link end users through JWT connect pages.",
        "slug": "upload-post",
        "watchFor": "One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope"
      }
    ],
    "job": {
      "capability": "social.post",
      "name": "Social post"
    },
    "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/ayrshare-vs-upload-post.json",
        "title": "Ayrshare API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-upload-post"
      },
      {
        "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/buffer-vs-upload-post.json",
        "title": "Buffer API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-upload-post.json",
        "title": "Zernio (formerly Late) API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-upload-post.json",
        "title": "Metricool API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-upload-post.json",
        "title": "Mixpost API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-upload-post.json",
        "title": "OneUp API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post.json",
        "title": "Post Bridge API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-upload-post.json",
        "title": "Postiz API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-upload-post.json",
        "title": "Publer API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/typefully-vs-upload-post.json",
        "title": "Typefully vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/typefully-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-x-mcp.json",
        "title": "Blotato vs X MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-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": 19,
        "edge": "upload-post",
        "key": "reliability",
        "name": "Reliability",
        "upload-post": 57,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "blotato": 82,
        "by": 1,
        "edge": "blotato",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "upload-post": 81,
        "weight": 13
      },
      {
        "blotato": 57,
        "by": 15,
        "edge": "upload-post",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "upload-post": 72,
        "weight": 13
      },
      {
        "blotato": 29,
        "by": 3,
        "edge": "upload-post",
        "key": "security",
        "name": "Security \u0026 auth",
        "upload-post": 32,
        "weight": 14
      },
      {
        "blotato": 10,
        "by": 20,
        "edge": "upload-post",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "upload-post": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "blotato": 65,
        "by": 14,
        "edge": "upload-post",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "upload-post": 79,
        "weight": 7
      },
      {
        "blotato": 45,
        "by": 25,
        "edge": "upload-post",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "upload-post": 70,
        "weight": 7
      }
    ],
    "summary": "Upload-Post API + MCP scores 58.7 (C) on agent readiness against Blotato's 46.1 (D), and leads in 6 of 7 scored categories. Both do social post.",
    "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.",
      "upload-post": "Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/blotato-vs-upload-post",
    "json": "https://www.anchorterminal.com/compare/blotato-vs-upload-post.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/blotato-vs-upload-post.md",
    "slim": "https://www.anchorterminal.com/compare/blotato-vs-upload-post.min.md"
  },
  "markdown": "Upload-Post API + MCP scores 58.7 (C) on agent readiness against Blotato's 46.1 (D), and leads in 6 of 7 scored categories. Both do social post.\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- Upload-Post API + MCP: grade C, 58.7/100, rank #517 of 842. Markdown https://www.anchorterminal.com/tools/upload-post.md · JSON https://www.anchorterminal.com/api/v1/tools/upload-post.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\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### Upload-Post API + MCP (C)\n\nGood for: Video-heavy publishing to TikTok, Reels and Shorts at a low price, and for white-label products that link end users through JWT connect pages.\n\nAhead on:\n- Reliability, 57 against 38\n- Agent ergonomics, 72 against 57\n- Payments \u0026 pricing, 30 against 10\n- Maintenance \u0026 community, 79 against 65\n- Transparency \u0026 trust, 70 against 45\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope\n\n\n## Score by category\n\n| Category | Weight | Blotato | Upload-Post API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 38 | 57 | Upload-Post API + MCP +19 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 81 | Blotato +1 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 72 | Upload-Post API + MCP +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 29 | 32 | Upload-Post API + MCP +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 30 | Upload-Post API + MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 79 | Upload-Post API + MCP +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 70 | Upload-Post API + MCP +25 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.1 · D** | **58.7 · C** | |\n\n## Facts side by side\n\n| Fact | Blotato | Upload-Post API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Blotato Inc. | Upload-Post |\n| Hosted endpoint | `https://backend.blotato.com/v2` | `https://api.upload-post.com/api` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary hosted service under Blotato's Terms of Use. The n8n node is MIT | MIT |\n| Tools exposed | 36 | 59 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `com.blotato/mcp` | `com.upload-post/mcp` |\n| Last release | 2026-09-10 | 2026-09-27 |\n| Terms last updated | 2026-05-18 | 2026-10-02 |\n| Privacy policy last updated | 2026-05-18 | 2026-09-04 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 524 npm/wk | 8 stars, 1.9k npm/wk, 6.2k PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\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**Upload-Post API + MCP.** Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope.\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### Upload-Post API + MCP\n\n1. Send `Authorization: Apikey \u003ckey\u003e` on REST. The MCP also takes Bearer\n2. Use async_upload=true for video, then poll the upload status endpoint every 5 to 60 seconds, not faster\n3. Send an Idempotency-Key on every upload so a timed-out retry doesn't post twice\n4. Check each platform's success flag in results, because one network failing doesn't stop the others\n5. Wait until X-RateLimit-Reset after a 429, and mind daily caps such as TikTok 15 and YouTube 10 per account\n\n## Questions\n\n### Which is better for AI agents, Blotato or Upload-Post API + MCP?\n\nUpload-Post API + MCP scores 58.7 (C) on agent readiness against Blotato's 46.1 (D), and leads in 6 of 7 scored categories.\n\n### Do Blotato and Upload-Post API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Blotato and Upload-Post API + MCP without installing anything?\n\nYes. Blotato has a hosted endpoint at https://backend.blotato.com/v2 and Upload-Post API + MCP at https://api.upload-post.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/blotato-vs-upload-post.json, and with the fewest tokens: https://www.anchorterminal.com/compare/blotato-vs-upload-post.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"blotato\", \"b\": \"upload-post\"}`. From a terminal: `anchor compare blotato upload-post`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/blotato.json and https://www.anchorterminal.com/api/v1/tools/upload-post.json\n\n## Other comparisons with Blotato or Upload-Post API + MCP\n\n- [Ayrshare API + MCP vs Blotato](https://www.anchorterminal.com/compare/ayrshare-vs-blotato.md)\n- [Ayrshare API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-upload-post.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- [Buffer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/buffer-vs-upload-post.md)\n- [Zernio (formerly Late) API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/late-vs-upload-post.md)\n- [Metricool API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/metricool-vs-upload-post.md)\n- [Mixpost API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-upload-post.md)\n- [OneUp API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/oneup-vs-upload-post.md)\n- [Post Bridge API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-upload-post.md)\n- [Postiz API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/postiz-vs-upload-post.md)\n- [Publer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/publer-vs-upload-post.md)\n- [Typefully vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/typefully-vs-upload-post.md)\n- [Blotato vs X MCP](https://www.anchorterminal.com/compare/blotato-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 Upload-Post API + MCP",
        "url": ""
      }
    ],
    "description": "Upload-Post API + MCP scores 58.7 (C) on agent readiness against Blotato's 46.1 (D), and leads in 6 of 7 scored categories. Both do social post. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Blotato D 46.1",
      "Upload-Post API + MCP C 58.7",
      "scores"
    ],
    "h1": "Blotato vs Upload-Post API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-blotato-vs-upload-post.png",
    "path": "/compare/blotato-vs-upload-post",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Blotato vs Upload-Post API + MCP for AI agents, D 46.1 vs C 58.7",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/blotato-vs-upload-post"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 680
  },
  "version": 1
}
