{
  "data": {
    "a": {
      "slug": "postiz",
      "name": "Postiz API + MCP",
      "vendor": "Postiz (Gitroom)",
      "vendorUrl": "https://postiz.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Open-source social scheduler (AGPL-3.0) for 34 platforms that you can self-host free or use as Postiz Cloud from $29 a month.",
      "url": "https://www.anchorterminal.com/tools/postiz",
      "markdownUrl": "https://www.anchorterminal.com/tools/postiz.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/postiz.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/postiz.json",
      "repo": "https://github.com/gitroomhq/postiz-app",
      "license": "AGPL-3.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.postiz.com/public/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@postiz/node"
        },
        {
          "registry": "npm",
          "name": "postiz"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key sent raw in the Authorization header (no Bearer prefix), or an OAuth app token prefixed pos_. The MCP accepts a Bearer header at /mcp, an OAuth flow at /mcp-oauth, or the key in the URL path at /mcp/{key}. Self-hosted instances need their own developer apps for each network.",
      "pricing": "paid",
      "pricingNotes": "Self-hosting is free under AGPL-3.0, but you register your own developer app with each network. Postiz Cloud has no free plan (7-day trial, card policy not stated). Standard $29 a month or $23 billed yearly (5 channels), Team $39 or $31 (10), Pro $49 or $39 (30), Ultimate $99 or $79 (100). API, CLI, webhooks and MCP on every plan, posts unlimited. The terms make fees non-refundable (https://postiz.com/pricing).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, llms.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": 36531,
        "npmWeekly": 368,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.postiz.com",
      "llmsTxt": "https://docs.postiz.com/llms.txt",
      "openapi": "https://docs.postiz.com/public-api/openapi.json",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "local",
        "open-source",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "webhooks"
      ],
      "lastRelease": "2026-09-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.5,
        "grade": "C",
        "agentReady": false,
        "rank": 265,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 85,
          "payments": 30,
          "reliability": 53,
          "schema": 88,
          "security": 49,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-07-20 and 2026-09-22. Three security fixes in the last 12 months. A path traversal in the self-hosted upload route that could read files outside UPLOAD_DIRECTORY, fixed in commit 7936062 labelled critical, and CVE-2026-94455 (enterprise endpoints accepting other JWT types) and CVE-2026-94456 (non-cryptographic IDs for OAuth secrets and codes), fixed on 22 September. All fixed and the latter two given CVEs, so we deduct less. -3 (https://github.com/gitroomhq/postiz-app/commit/793606226f981706cc0201c8023f0f2b57ce08e4, https://github.com/gitroomhq/postiz-app/commit/9259cf2429e8cc0c88414e88d5e6c783d7ffba63)"
        ],
        "verdict": "AGPL-3.0 and self-hostable with the API and MCP included, 34 platforms. Create-post capped at 90 requests an hour on every Cloud plan.",
        "strengths": [
          "AGPL-3.0 and self-hostable with the API and MCP included, 34 platforms",
          "OpenAPI 3.1 spec with 27 paths, llms.txt and Markdown docs",
          "MCP tools in source carry readOnlyHint, destructiveHint and idempotentHint, with when-not-to-use guidance",
          "v2.24.0 on 22 September 2026, and CVEs assigned and fixed through a published disclosure process",
          "Flat Cloud plans from $29 a month ($23 yearly) with unlimited posts"
        ],
        "weaknesses": [
          "Create-post capped at 90 requests an hour on every Cloud plan",
          "One organisation key with no scopes, and the MCP OAuth grant is always read and write",
          "The docs document the API key in the MCP URL path at /mcp/{key}",
          "No idempotency key and no Retry-After guidance",
          "Self-hosting means your own developer app and review with each network"
        ],
        "agentNotes": [
          "Send the key as the `Authorization` header with no `Bearer` prefix on REST calls",
          "Batch several posts into one create request to stay under 90 an hour",
          "Call integrationSchema (Get Settings) for a channel before scheduling, since each network has its own settings",
          "Use the Bearer header on /mcp rather than /mcp/{key} so the key stays out of logs",
          "Read output.errors on a failed schedule call and retry with the corrected fields"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.5
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 85,
          "payments": 30,
          "reliability": 53,
          "schema": 88,
          "security": 49,
          "transparency": 75
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl https://api.postiz.com/public/v1/integrations -H \"Authorization: $POSTIZ_API_KEY\"",
        "claudeCode": "claude mcp add --transport http postiz https://mcp.postiz.com/mcp --header \"Authorization: Bearer $POSTIZ_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/postiz"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 29,
          "note": "5 channels. $278 a year"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 39,
          "note": "10 channels. $374 a year"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 49,
          "note": "30 channels. $470 a year"
        },
        {
          "item": "Ultimate plan",
          "unit": "month",
          "usd": 99,
          "note": "100 channels. $950 a year"
        }
      ],
      "provenance": {
        "legalEntity": "Gitroom Limited",
        "domain": "postiz.com",
        "domainRegistered": "2013-06-24",
        "domainNote": "postiz.com was registered in 2013, well before the project started in 2023.",
        "endpointOnVendorDomain": true,
        "terms": "https://postiz.com/terms-of-service",
        "privacy": "https://postiz.com/privacy-policy",
        "statusPage": "https://status.postiz.com",
        "changelog": "https://github.com/gitroomhq/postiz-app/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms name Gitroom Limited (seller of paid plans) and Gitroom LLC together as Postiz"
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/postiz.json",
      "live": {
        "slug": "postiz",
        "probe": {
          "target": "https://api.postiz.com/public/v1",
          "method": "get",
          "lastAt": "2026-10-05T01:43:43.381899438Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 183,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 182,
          "p95ms24h": 1557,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.postiz.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:24.360723703Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "gitroomhq/postiz-app",
            "version": "v2.25.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:37:24.653491564Z"
          },
          {
            "registry": "npm",
            "name": "@postiz/node",
            "version": "1.0.8",
            "seenAt": "2026-10-04T16:37:22.426577889Z"
          },
          {
            "registry": "npm",
            "name": "postiz",
            "version": "2.0.16",
            "seenAt": "2026-10-04T16:37:22.944877673Z"
          }
        ],
        "githubStars": 36683,
        "npmWeekly": 248,
        "securityTxt": {
          "url": "https://postiz.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:49.927585936Z"
        },
        "llmsTxt": {
          "url": "https://docs.postiz.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:08.617167833Z"
        },
        "domain": {
          "domain": "postiz.com",
          "registered": "2013-06-24",
          "source": "https://rdap.verisign.com/com/v1/domain/postiz.com",
          "checkedAt": "2026-10-04T13:06:04.948008258Z"
        },
        "pages": [
          {
            "url": "https://postiz.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:57.026389938Z",
            "changedAt": "2026-10-02T15:23:11.667972444Z",
            "fingerprint": "b43a89c371d7"
          },
          {
            "url": "https://postiz.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:59.225598085Z",
            "changedAt": "2026-10-02T15:23:13.868758528Z",
            "fingerprint": "d9718ddb538b"
          },
          {
            "url": "https://postiz.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:01.202919096Z",
            "changedAt": "2026-10-02T15:23:15.836946156Z",
            "fingerprint": "0b01371bd86b"
          }
        ],
        "updatedAt": "2026-10-05T01:43:43.381899438Z"
      }
    },
    "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.9,
        "grade": "C",
        "agentReady": false,
        "rank": 275,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 73
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.9
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 78
        },
        "provenanceScore": 68
      },
      "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": 68
      },
      "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-05T01:43:47.414668355Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 128,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 108,
          "p95ms24h": 193,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.upload-post.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:32.687401492Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Upload-Post/upload-post-mcp",
            "version": "v0.11.4",
            "released": "2026-09-27",
            "seenAt": "2026-10-04T16:42:59.522044365Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.upload-post/mcp",
            "version": "0.10.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@upload-post/mcp",
            "version": "0.11.4",
            "seenAt": "2026-10-04T16:42:58.867736079Z"
          },
          {
            "registry": "npm",
            "name": "upload-post",
            "version": "2.15.0",
            "seenAt": "2026-10-04T16:42:57.302123902Z"
          },
          {
            "registry": "pypi",
            "name": "upload-post",
            "version": "2.13.0",
            "released": "2026-09-09",
            "seenAt": "2026-10-04T16:42:58.68328621Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 2152,
        "pypiWeekly": 7554,
        "securityTxt": {
          "url": "https://upload-post.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:41.882513538Z"
        },
        "llmsTxt": {
          "url": "https://docs.upload-post.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:19.706736586Z"
        },
        "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-04T15:52:36.18086084Z",
            "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-04T15:52:34.054831888Z",
            "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-04T15:52:38.126960958Z",
            "changedAt": "2026-10-03T15:40:28.795828429Z",
            "fingerprint": "789e3acd5b6b"
          }
        ],
        "updatedAt": "2026-10-05T01:43:47.414668355Z"
      }
    },
    "summary": "Postiz API + MCP has a score of 59.5 (C) against Upload-Post API + MCP's 58.9 (C). Both do social post. The largest gap is security \u0026 auth, 17 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/postiz-vs-upload-post",
    "json": "https://www.anchorterminal.com/compare/postiz-vs-upload-post.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/postiz-vs-upload-post.md",
    "slim": "https://www.anchorterminal.com/compare/postiz-vs-upload-post.min.md"
  },
  "markdown": "Postiz API + MCP has a score of 59.5 (C) against Upload-Post API + MCP's 58.9 (C). Both do social post. The largest gap is security \u0026 auth, 17 points.\n\n- Postiz API + MCP: grade C, 59.5/100, rank #265 of 452. Markdown https://www.anchorterminal.com/tools/postiz.md · JSON https://www.anchorterminal.com/api/v1/tools/postiz.json\n- Upload-Post API + MCP: grade C, 58.9/100, rank #275 of 452. 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\nPick Postiz API + MCP for schema \u0026 documentation (+7), security \u0026 auth (+17), maintenance \u0026 community (+6), transparency \u0026 trust (+10).\n\nPick Upload-Post API + MCP for agent ergonomics (+7).\n\n## Score by category\n\n| Category | Weight | Postiz API + MCP | Upload-Post API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 57 | Upload-Post API + MCP +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 81 | Postiz API + MCP +7 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 72 | Upload-Post API + MCP +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 32 | Postiz API + MCP +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 79 | Postiz API + MCP +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 73 | Postiz API + MCP +10 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **59.5 · C** | **58.9 · C** | |\n\n## Facts side by side\n\n| Fact | Postiz API + MCP | Upload-Post API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Postiz (Gitroom) | Upload-Post |\n| Hosted endpoint | `https://api.postiz.com/public/v1` | `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 | AGPL-3.0 | MIT |\n| Tools exposed | 13 | 59 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.upload-post/mcp` |\n| Last release | 2026-09-22 | 2026-09-27 |\n| Popularity | 37k stars, 368 npm/wk | 8 stars, 1.9k npm/wk, 6.2k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Postiz API + MCP.** AGPL-3.0 and self-hostable with the API and MCP included, 34 platforms. Create-post capped at 90 requests an hour on every Cloud plan.\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### Postiz API + MCP\n\n1. Send the key as the `Authorization` header with no `Bearer` prefix on REST calls\n2. Batch several posts into one create request to stay under 90 an hour\n3. Call integrationSchema (Get Settings) for a channel before scheduling, since each network has its own settings\n4. Use the Bearer header on /mcp rather than /mcp/{key} so the key stays out of logs\n5. Read output.errors on a failed schedule call and retry with the corrected fields\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## Other comparisons with Postiz API + MCP or Upload-Post API + MCP\n\n- [Ayrshare API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-postiz.md)\n- [Ayrshare API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-upload-post.md)\n- [Buffer API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/buffer-vs-postiz.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 Postiz API + MCP](https://www.anchorterminal.com/compare/late-vs-postiz.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 Postiz API + MCP](https://www.anchorterminal.com/compare/metricool-vs-postiz.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 Postiz API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-postiz.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 Postiz API + MCP](https://www.anchorterminal.com/compare/oneup-vs-postiz.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 Postiz API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-postiz.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 Publer API + MCP](https://www.anchorterminal.com/compare/postiz-vs-publer.md)\n- [Publer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/publer-vs-upload-post.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Postiz API + MCP vs Upload-Post API + MCP",
        "url": ""
      }
    ],
    "description": "Postiz API + MCP has a score of 59.5 (C) against Upload-Post API + MCP's 58.9 (C). Both do social post. The largest gap is security \u0026 auth, 17 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Postiz API + MCP C 59.5",
      "Upload-Post API + MCP C 58.9",
      "scores"
    ],
    "h1": "Postiz API + MCP vs Upload-Post API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-postiz-vs-upload-post.png",
    "path": "/compare/postiz-vs-upload-post",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Postiz API + MCP vs Upload-Post API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/postiz-vs-upload-post"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 330
  },
  "version": 1
}
