{
  "data": {
    "a": {
      "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": 46.8,
        "grade": "D",
        "agentReady": false,
        "rank": 749,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 41,
          "payments": 15,
          "reliability": 60,
          "schema": 46,
          "security": 41,
          "transparency": 66
        },
        "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.",
        "bestFor": "Agencies already on Publer Business who want an agent to schedule in bulk and read deep analytics, including competitors.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.8
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 41,
          "payments": 15,
          "reliability": 60,
          "schema": 46,
          "security": 41,
          "transparency": 58
        },
        "provenanceScore": 74
      },
      "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": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/publer.json",
      "live": {
        "slug": "publer",
        "probe": {
          "target": "https://app.publer.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-09T09:27:01.761808301Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 126,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.48,
          "p50ms24h": 82,
          "p95ms24h": 154,
          "samples24h": 261,
          "samples30d": 2287,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 101,
              "ok": 101
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.publer.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:27.334185504Z"
        },
        "securityTxt": {
          "url": "https://publer.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:39.588567183Z"
        },
        "llmsTxt": {
          "url": "https://publer.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:47.271880762Z"
        },
        "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-08T18:23:26.285026966Z",
            "changedAt": "2026-10-04T15:47:05.100060569Z",
            "fingerprint": "646894b36b90"
          },
          {
            "url": "https://publer.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:28.485445982Z",
            "changedAt": "2026-10-04T15:47:07.26173206Z",
            "fingerprint": "20a0cd58db8d"
          }
        ],
        "updatedAt": "2026-10-09T09:27:01.761808301Z"
      }
    },
    "answer": "Typefully scores 49.1 (D) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 4 of 7 scored categories. Publer API + MCP leads on reliability.",
    "b": {
      "slug": "typefully",
      "name": "Typefully",
      "vendor": "Typefully Inc.",
      "vendorUrl": "https://typefully.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Typefully is a writing and scheduling app for social posts on X, LinkedIn, Threads, Bluesky, Mastodon and Substack Notes. Its REST API v2 and hosted MCP server create, schedule and publish drafts for the account's own connected profiles.",
      "url": "https://www.anchorterminal.com/tools/typefully",
      "markdownUrl": "https://www.anchorterminal.com/tools/typefully.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/typefully.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/typefully.json",
      "repo": "https://github.com/typefully/agent-skills",
      "license": "Proprietary service under Typefully's Terms of Service. The Agent Skill and its CLI script in typefully/agent-skills are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.typefully.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Self-serve. A signed-in user creates an API key in Settings, API and sends it as `Authorization: Bearer`. A key carries the permissions of the user who created it, and access to each social set (read, write or publish) decides which operations work. The hosted MCP server accepts OAuth (authorisation code grant with PKCE S256, dynamic client registration, a revocation endpoint, one scope `full_access`) or the API key as a Bearer header. API v1 keys do not work with v2.",
      "pricing": "freemium",
      "pricingNotes": "A free plan and paid plans billed monthly or yearly. The pricing page draws its figures by script and they were not read on 2026-10-08. The page's own scripts name free, creator and team plans and a per-social-set billing model. The vendor's undated blog post gives a paid plan at $12.50 a month and a 14-day trial. The API, MCP server and webhooks were announced as available to all users on 17 December 2025, and draft creation can answer 402 when an account needs a paid plan.",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the OpenAPI document, llms.txt or the AI agents page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://typefully.com/docs/api",
      "llmsTxt": "https://typefully.com/llms.txt",
      "openapi": "https://api.typefully.com/v2/openapi.json",
      "registryName": "com.typefully/mcp",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "agent-skill"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.1,
        "grade": "D",
        "agentReady": false,
        "rank": 714,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 82,
          "payments": 30,
          "reliability": 27,
          "schema": 83,
          "security": 38,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-07-09. The vendor's own agent-skills changelog records that the API's tightened request schemas began rejecting platform-specific fields on the wrong platform with HTTP 422, which broke `drafts:update` in the vendor's CLI until it was patched the same day. No notice was found in the product changelog. Fixed on the client side and documented there, so -3 (https://github.com/typefully/agent-skills/blob/main/skills/typefully/CHANGELOG.md)"
        ],
        "verdict": "A public OpenAPI 3.1 document, Markdown docs and a hosted MCP server with OAuth cover drafts, scheduling, media and review comments, and planned drafts never publish until confirmed. Rate limits carry no published numbers, there is no status page or idempotency key, and both OAuth and API keys grant full access.",
        "bestFor": "An agent that drafts and schedules posts for one person's or one team's own accounts, with a human reviewing drafts and comments in the Typefully editor.",
        "strengths": [
          "OpenAPI 3.1 document for 24 operations and seven webhook events, with the same reference served as Markdown and indexed in `llms.txt`",
          "Hosted MCP server at `https://mcp.typefully.com/mcp` with OAuth, PKCE and dynamic client registration, listed in the official MCP registry as `com.typefully/mcp`",
          "A draft can be saved, planned, scheduled or published, and a planned draft never publishes until `publish_at` confirms it",
          "Errors return a code, a message and field-level details with the path of the failing field",
          "Draft Activity records who changed a draft and whether the change came through MCP or the API"
        ],
        "weaknesses": [
          "Rate limits are described by response headers only. No request numbers are published, and no `Retry-After` header is documented",
          "No status page, incident history or SLA was found. The terms supply the service as is",
          "No idempotency key on draft creation, so a retried `publish_at: \"now\"` call can post twice",
          "OAuth has one scope, `full_access`, and an API key carries every permission of the user who created it",
          "The terms say accounts must be registered by a human and forbid processes that run while the user is not logged in"
        ],
        "agentNotes": [
          "Call `GET /v2/social-sets` first. Every draft, media, tag and queue path needs a `social_set_id`",
          "Use `plan_at` or omit both dates to leave a draft unpublished. `publish_at: \"now\"` posts at once and is asynchronous",
          "Do not retry a failed publish blindly. Read the draft's `status` and `publish_state` first, because no idempotency key exists",
          "Read `X-RateLimit-User-Remaining` and `X-RateLimit-SocialSet-Remaining` on each response, and wait until the `Reset` timestamp after a 429",
          "Send the key only as `Authorization: Bearer`. The legacy MCP URL with `?TYPEFULLY_API_KEY=` still works and puts the key in logs"
        ],
        "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": 49.1
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 82,
          "payments": 30,
          "reliability": 27,
          "schema": 83,
          "security": 38,
          "transparency": 55
        },
        "provenanceScore": 72
      },
      "connect": {
        "install": "npx skills add typefully/agent-skills",
        "http": "curl https://api.typefully.com/v2/me -H \"Authorization: Bearer $TYPEFULLY_API_KEY\"",
        "claudeCode": "claude mcp add typefully --transport http --url \"https://mcp.typefully.com/mcp\"",
        "config": {
          "mcpServers": {
            "typefully": {
              "serverUrl": "https://mcp.typefully.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/typefully"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Typefully Inc.",
        "domain": "typefully.com",
        "domainRegistered": "2016-06-06",
        "endpointOnVendorDomain": true,
        "terms": "https://support.typefully.com/en/articles/8718440-terms-of-service",
        "privacy": "https://support.typefully.com/en/articles/8718444-privacy-policy",
        "statusPage": "",
        "changelog": "https://typefully.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "typefully.com/terms and typefully.com/privacy redirect to the two help centre articles named here. The terms are dated 23 February 2026 and name Typefully Inc. No separate API terms or DPA were found.",
          "The privacy policy names Typefully Inc., says the service is operated in the United States and defines the Services to include any related APIs. It gives no postal address.",
          "No status page was found. status.typefully.com did not complete a TLS connection, and the API catalogue's status link points at the API root. The MCP server answers a health check at https://mcp.typefully.com/health.",
          "typefully.com/.well-known/security.txt returns 404.",
          "RDAP for typefully.com gives a registration date of 2016-06-06.",
          "The changelog is the product changelog. API changes appear in it as dated entries, with no separate API changelog."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/typefully.json",
      "live": {
        "slug": "typefully",
        "probe": {
          "target": "https://api.typefully.com",
          "method": "get",
          "lastAt": "2026-10-09T09:27:08.471872558Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 251,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 226,
          "p95ms24h": 273,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "updatedAt": "2026-10-09T09:27:08.471872558Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Publer",
        "b": "Typefully Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://app.publer.com/api/v1",
        "b": "https://api.typefully.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under Typefully's Terms of Service. The Agent Skill and its CLI script in typefully/agent-skills are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.typefully/mcp",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-02-23",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Typefully scores 49.1 (D) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 4 of 7 scored categories. Publer API + MCP leads on reliability.",
        "question": "Which is better for AI agents, Publer API + MCP or Typefully?"
      },
      {
        "answer": "Publer API + MCP needs an API key. Typefully takes an API key or an OAuth sign-in.",
        "question": "Do Publer API + MCP and Typefully need an API key?"
      },
      {
        "answer": "Yes. Publer API + MCP has a hosted endpoint at https://app.publer.com/api/v1 and Typefully at https://api.typefully.com.",
        "question": "Can an agent call Publer API + MCP and Typefully without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 60 against 27"
        ],
        "also": [
          "No incidents deducted, where Typefully loses 3 points for them"
        ],
        "goodFor": "Agencies already on Publer Business who want an agent to schedule in bulk and read deep analytics, including competitors.",
        "slug": "publer",
        "watchFor": "API and MCP only on Business and Enterprise, and the free plan has no API"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 46",
          "Agent ergonomics, 62 against 55",
          "Payments \u0026 pricing, 30 against 15",
          "Maintenance \u0026 community, 82 against 41"
        ],
        "also": null,
        "goodFor": "An agent that drafts and schedules posts for one person's or one team's own accounts, with a human reviewing drafts and comments in the Typefully editor.",
        "slug": "typefully",
        "watchFor": "Rate limits are described by response headers only. No request numbers are published, and no `Retry-After` header is documented"
      }
    ],
    "job": {
      "capability": "social.post",
      "name": "Social post"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-publer.json",
        "title": "Ayrshare API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-typefully.json",
        "title": "Ayrshare API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-typefully"
      },
      {
        "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-publer.json",
        "title": "Buffer API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-typefully.json",
        "title": "Buffer API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-publer.json",
        "title": "Zernio (formerly Late) API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-typefully.json",
        "title": "Zernio (formerly Late) API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/late-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-publer.json",
        "title": "Metricool API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-typefully.json",
        "title": "Metricool API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-publer.json",
        "title": "Mixpost API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-typefully.json",
        "title": "Mixpost API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-publer.json",
        "title": "OneUp API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-typefully.json",
        "title": "OneUp API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-publer.json",
        "title": "Post Bridge API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-typefully.json",
        "title": "Post Bridge API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-publer.json",
        "title": "Postiz API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-typefully.json",
        "title": "Postiz API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-typefully"
      },
      {
        "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/publer-vs-x-mcp.json",
        "title": "Publer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-x-mcp"
      }
    ],
    "scores": [
      {
        "by": 33,
        "edge": "publer",
        "key": "reliability",
        "name": "Reliability",
        "publer": 60,
        "typefully": 27,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "typefully",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "publer": 46,
        "typefully": 83,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "typefully",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "publer": 55,
        "typefully": 62,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "publer",
        "key": "security",
        "name": "Security \u0026 auth",
        "publer": 41,
        "typefully": 38,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "typefully",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "publer": 15,
        "typefully": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "typefully",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "publer": 41,
        "typefully": 82,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "publer",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "publer": 66,
        "typefully": 64,
        "weight": 7
      }
    ],
    "summary": "Typefully scores 49.1 (D) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 4 of 7 scored categories. Publer API + MCP leads on reliability. Both do social post.",
    "verdicts": {
      "publer": "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.",
      "typefully": "A public OpenAPI 3.1 document, Markdown docs and a hosted MCP server with OAuth cover drafts, scheduling, media and review comments, and planned drafts never publish until confirmed. Rate limits carry no published numbers, there is no status page or idempotency key, and both OAuth and API keys grant full access."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/publer-vs-typefully",
    "json": "https://www.anchorterminal.com/compare/publer-vs-typefully.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/publer-vs-typefully.md",
    "slim": "https://www.anchorterminal.com/compare/publer-vs-typefully.min.md"
  },
  "markdown": "Typefully scores 49.1 (D) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 4 of 7 scored categories. Publer API + MCP leads on reliability. Both do social post.\n\n- Publer API + MCP: grade D, 46.8/100, rank #749 of 842. Markdown https://www.anchorterminal.com/tools/publer.md · JSON https://www.anchorterminal.com/api/v1/tools/publer.json\n- Typefully: grade D, 49.1/100, rank #714 of 842. Markdown https://www.anchorterminal.com/tools/typefully.md · JSON https://www.anchorterminal.com/api/v1/tools/typefully.json\n\n## Which one, for what\n\n### Publer API + MCP (D)\n\nGood for: Agencies already on Publer Business who want an agent to schedule in bulk and read deep analytics, including competitors.\n\nAhead on:\n- Reliability, 60 against 27\n\nAlso in its favour:\n- No incidents deducted, where Typefully loses 3 points for them\n\nWatch for: API and MCP only on Business and Enterprise, and the free plan has no API\n\n### Typefully (D)\n\nGood for: An agent that drafts and schedules posts for one person's or one team's own accounts, with a human reviewing drafts and comments in the Typefully editor.\n\nAhead on:\n- Schema \u0026 documentation, 83 against 46\n- Agent ergonomics, 62 against 55\n- Payments \u0026 pricing, 30 against 15\n- Maintenance \u0026 community, 82 against 41\n\nWatch for: Rate limits are described by response headers only. No request numbers are published, and no `Retry-After` header is documented\n\n\n## Score by category\n\n| Category | Weight | Publer API + MCP | Typefully | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 27 | Publer API + MCP +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 46 | 83 | Typefully +37 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 62 | Typefully +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 38 | Publer API + MCP +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 30 | Typefully +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 82 | Typefully +41 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 64 | Publer API + MCP +2 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **46.8 · D** | **49.1 · D** | |\n\n## Facts side by side\n\n| Fact | Publer API + MCP | Typefully |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Publer | Typefully Inc. |\n| Hosted endpoint | `https://app.publer.com/api/v1` | `https://api.typefully.com` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | Proprietary service under Typefully's Terms of Service. The Agent Skill and its CLI script in typefully/agent-skills are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.typefully/mcp` |\n| Last release | none | 2026-10-01 |\n| Terms last updated | couldn't be read | 2026-02-23 |\n| Privacy policy last updated | couldn't be read | no date given |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\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**Typefully.** A public OpenAPI 3.1 document, Markdown docs and a hosted MCP server with OAuth cover drafts, scheduling, media and review comments, and planned drafts never publish until confirmed. Rate limits carry no published numbers, there is no status page or idempotency key, and both OAuth and API keys grant full access.\n\n## Before you call either\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### Typefully\n\n1. Call `GET /v2/social-sets` first. Every draft, media, tag and queue path needs a `social_set_id`\n2. Use `plan_at` or omit both dates to leave a draft unpublished. `publish_at: \"now\"` posts at once and is asynchronous\n3. Do not retry a failed publish blindly. Read the draft's `status` and `publish_state` first, because no idempotency key exists\n4. Read `X-RateLimit-User-Remaining` and `X-RateLimit-SocialSet-Remaining` on each response, and wait until the `Reset` timestamp after a 429\n5. Send the key only as `Authorization: Bearer`. The legacy MCP URL with `?TYPEFULLY_API_KEY=` still works and puts the key in logs\n\n## Questions\n\n### Which is better for AI agents, Publer API + MCP or Typefully?\n\nTypefully scores 49.1 (D) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 4 of 7 scored categories. Publer API + MCP leads on reliability.\n\n### Do Publer API + MCP and Typefully need an API key?\n\nPubler API + MCP needs an API key. Typefully takes an API key or an OAuth sign-in.\n\n### Can an agent call Publer API + MCP and Typefully without installing anything?\n\nYes. Publer API + MCP has a hosted endpoint at https://app.publer.com/api/v1 and Typefully at https://api.typefully.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/publer-vs-typefully.json, and with the fewest tokens: https://www.anchorterminal.com/compare/publer-vs-typefully.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"publer\", \"b\": \"typefully\"}`. From a terminal: `anchor compare publer typefully`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/publer.json and https://www.anchorterminal.com/api/v1/tools/typefully.json\n\n## Other comparisons with Publer API + MCP or Typefully\n\n- [Ayrshare API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-publer.md)\n- [Ayrshare API + MCP vs Typefully](https://www.anchorterminal.com/compare/ayrshare-vs-typefully.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 Publer API + MCP](https://www.anchorterminal.com/compare/buffer-vs-publer.md)\n- [Buffer API + MCP vs Typefully](https://www.anchorterminal.com/compare/buffer-vs-typefully.md)\n- [Zernio (formerly Late) API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/late-vs-publer.md)\n- [Zernio (formerly Late) API + MCP vs Typefully](https://www.anchorterminal.com/compare/late-vs-typefully.md)\n- [Metricool API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/metricool-vs-publer.md)\n- [Metricool API + MCP vs Typefully](https://www.anchorterminal.com/compare/metricool-vs-typefully.md)\n- [Mixpost API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-publer.md)\n- [Mixpost API + MCP vs Typefully](https://www.anchorterminal.com/compare/mixpost-vs-typefully.md)\n- [OneUp API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/oneup-vs-publer.md)\n- [OneUp API + MCP vs Typefully](https://www.anchorterminal.com/compare/oneup-vs-typefully.md)\n- [Post Bridge API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-publer.md)\n- [Post Bridge API + MCP vs Typefully](https://www.anchorterminal.com/compare/post-bridge-vs-typefully.md)\n- [Postiz API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/postiz-vs-publer.md)\n- [Postiz API + MCP vs Typefully](https://www.anchorterminal.com/compare/postiz-vs-typefully.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- [Publer API + MCP vs X MCP](https://www.anchorterminal.com/compare/publer-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": "Publer API + MCP vs Typefully",
        "url": ""
      }
    ],
    "description": "Typefully scores 49.1 (D) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 4 of 7 scored categories. Publer API + MCP leads on reliability. Both do social post. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Publer API + MCP D 46.8",
      "Typefully D 49.1",
      "scores"
    ],
    "h1": "Publer API + MCP vs Typefully",
    "image": "https://www.anchorterminal.com/assets/og/compare-publer-vs-typefully.png",
    "path": "/compare/publer-vs-typefully",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Publer API + MCP vs Typefully for AI agents, D 46.8 vs D 49.1",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/publer-vs-typefully"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
