{
  "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": "publer",
      "name": "Publer API + MCP",
      "vendor": "Publer",
      "vendorUrl": "https://publer.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Scheduler with a REST API and an MCP server that are both limited to the Business and Enterprise plans.",
      "url": "https://www.anchorterminal.com/tools/publer",
      "markdownUrl": "https://www.anchorterminal.com/tools/publer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/publer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/publer.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.publer.com/api/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Scoped API key (workspaces, accounts, posts, media, analytics) sent in the Authorization header as `Bearer-API \u003ckey\u003e`, plus a Publer-Workspace-Id header on most calls. The MCP server uses the same key, either in a generated server URL or in an Authorization header.",
      "pricing": "paid",
      "pricingNotes": "Free plan for 3 accounts but no API or MCP. API and MCP need Business, priced per social account at $7 a month plus $3 per extra member, as returned by the plans page. Professional is $4 per account and has no API. Every 10th account or member is free, and trials run 7 or 14 days. Enterprise by quote (https://publer.com/plans).",
      "priceSummary": "$7 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call payment in the API docs or plans page (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://publer.com/docs",
      "llmsTxt": "https://publer.com/docs/llms.txt",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "closed-source",
        "async-jobs",
        "enterprise"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.1,
        "grade": "D",
        "agentReady": false,
        "rank": 388,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 41,
          "payments": 15,
          "reliability": 60,
          "schema": 46,
          "security": 41,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header. API and MCP only on Business and Enterprise, and the free plan has no API.",
        "strengths": [
          "Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header",
          "Documented rate limits with X-RateLimit-Limit, Remaining and Reset headers and per-network daily caps",
          "List posts filters by state, date range, account, content query and type, with total_pages",
          "Analytics for post insights, hashtags, best times and competitors",
          "Kalemi Code names its registration, servers in Frankfurt, a DPA and a sub-processor list"
        ],
        "weaknesses": [
          "API and MCP only on Business and Enterprise, and the free plan has no API",
          "Async job polling for every post creation, with no idempotency key",
          "No OpenAPI spec, no public changelog and no SDKs",
          "The MCP article lists no tools and allows the key inside the server URL",
          "Status history unreadable to us, since robots.txt blocks status.publer.com"
        ],
        "agentNotes": [
          "List workspaces first and send Publer-Workspace-Id on later calls, or expect a 403",
          "Poll /job_status/{job_id} after posts/schedule and read payload.failures, since status reads complete even when posts failed",
          "Use the Bearer-API scheme, not Bearer",
          "Leave a one-minute gap between posts to the same account, or the job fails",
          "Read X-RateLimit-Reset after a 429 and wait until then, as there's no Retry-After"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.1
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 41,
          "payments": 15,
          "reliability": 60,
          "schema": 46,
          "security": 41,
          "transparency": 58
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl https://app.publer.com/api/v1/workspaces -H \"Authorization: Bearer-API $PUBLER_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/publer"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Business, per social account",
          "unit": "month",
          "usd": 7,
          "note": "Rate returned by the plans page, billing period discounts not checked"
        },
        {
          "item": "Business, per extra member",
          "unit": "month",
          "usd": 3
        }
      ],
      "provenance": {
        "legalEntity": "Kalemi Code",
        "domain": "publer.com",
        "domainRegistered": "2005-11-15",
        "domainNote": "publer.com was registered in 2005, long before Publer launched, so the domain was likely bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://publer.com/terms",
        "privacy": "https://publer.com/privacy",
        "statusPage": "https://status.publer.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms list Kalemi Code of Tirana, Albania (registration L71705026N) and Kalemi Code LLC of Sheridan, Wyoming."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/publer.json",
      "live": {
        "slug": "publer",
        "probe": {
          "target": "https://app.publer.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-05T01:43:43.599697392Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 105,
          "authRequired": false,
          "uptime24h": 99.26,
          "uptime30d": 99.02,
          "p50ms24h": 76,
          "p95ms24h": 122,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 267
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 270
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.publer.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:24.668654789Z"
        },
        "securityTxt": {
          "url": "https://publer.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:01.163366831Z"
        },
        "llmsTxt": {
          "url": "https://publer.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:08.910999609Z"
        },
        "domain": {
          "domain": "publer.com",
          "registered": "2005-11-15",
          "source": "https://rdap.verisign.com/com/v1/domain/publer.com",
          "checkedAt": "2026-10-04T13:08:55.505674851Z"
        },
        "pages": [
          {
            "url": "https://publer.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:05.100060569Z",
            "changedAt": "2026-10-04T15:47:05.100060569Z",
            "fingerprint": "646894b36b90"
          },
          {
            "url": "https://publer.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:07.26173206Z",
            "changedAt": "2026-10-04T15:47:07.26173206Z",
            "fingerprint": "20a0cd58db8d"
          }
        ],
        "updatedAt": "2026-10-05T01:43:43.599697392Z"
      }
    },
    "summary": "Postiz API + MCP has a score of 59.5 (C) against Publer API + MCP's 47.1 (D). Both do social post. The largest gap is maintenance \u0026 community, 44 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/postiz-vs-publer",
    "json": "https://www.anchorterminal.com/compare/postiz-vs-publer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/postiz-vs-publer.md",
    "slim": "https://www.anchorterminal.com/compare/postiz-vs-publer.min.md"
  },
  "markdown": "Postiz API + MCP has a score of 59.5 (C) against Publer API + MCP's 47.1 (D). Both do social post. The largest gap is maintenance \u0026 community, 44 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- Publer API + MCP: grade D, 47.1/100, rank #388 of 452. Markdown https://www.anchorterminal.com/tools/publer.md · JSON https://www.anchorterminal.com/api/v1/tools/publer.json\n\n## Which one, for what\n\nPick Postiz API + MCP for schema \u0026 documentation (+42), agent ergonomics (+10), security \u0026 auth (+8), payments \u0026 pricing (+15), maintenance \u0026 community (+44), transparency \u0026 trust (+14).\n\nPick Publer API + MCP for reliability (+7).\n\n## Score by category\n\n| Category | Weight | Postiz API + MCP | Publer API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 60 | Publer API + MCP +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 46 | Postiz API + MCP +42 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 55 | Postiz API + MCP +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 41 | Postiz API + MCP +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 15 | Postiz API + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 41 | Postiz API + MCP +44 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 69 | Postiz API + MCP +14 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **59.5 · C** | **47.1 · D** | |\n\n## Facts side by side\n\n| Fact | Postiz API + MCP | Publer API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Postiz (Gitroom) | Publer |\n| Hosted endpoint | `https://api.postiz.com/public/v1` | `https://app.publer.com/api/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | AGPL-3.0 | none |\n| Tools exposed | 13 | none |\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 | not listed |\n| Last release | 2026-09-22 | none |\n| Popularity | 37k stars, 368 npm/wk | none |\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**Publer API + MCP.** Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header. API and MCP only on Business and Enterprise, and the free plan has no API.\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### Publer API + MCP\n\n1. List workspaces first and send Publer-Workspace-Id on later calls, or expect a 403\n2. Poll /job_status/{job_id} after posts/schedule and read payload.failures, since status reads complete even when posts failed\n3. Use the Bearer-API scheme, not Bearer\n4. Leave a one-minute gap between posts to the same account, or the job fails\n5. Read X-RateLimit-Reset after a 429 and wait until then, as there's no Retry-After\n\n## Other comparisons with Postiz API + MCP or Publer 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 Publer API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-publer.md)\n- [Buffer API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/buffer-vs-postiz.md)\n- [Buffer API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/buffer-vs-publer.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 Publer API + MCP](https://www.anchorterminal.com/compare/late-vs-publer.md)\n- [Metricool API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/metricool-vs-postiz.md)\n- [Metricool API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/metricool-vs-publer.md)\n- [Mixpost API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-postiz.md)\n- [Mixpost API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-publer.md)\n- [OneUp API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/oneup-vs-postiz.md)\n- [OneUp API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/oneup-vs-publer.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 Publer API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-publer.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",
  "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 Publer API + MCP",
        "url": ""
      }
    ],
    "description": "Postiz API + MCP has a score of 59.5 (C) against Publer API + MCP's 47.1 (D). Both do social post. The largest gap is maintenance \u0026 community, 44 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Postiz API + MCP C 59.5",
      "Publer API + MCP D 47.1",
      "scores"
    ],
    "h1": "Postiz API + MCP vs Publer API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-postiz-vs-publer.png",
    "path": "/compare/postiz-vs-publer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Postiz API + MCP vs Publer API + MCP for AI agents, C 59.5 vs D 47.1",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/postiz-vs-publer"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 380
  },
  "version": 1
}
