{
  "data": {
    "a": {
      "slug": "late",
      "name": "Zernio (formerly Late) API + MCP",
      "vendor": "Zernio",
      "vendorUrl": "https://zernio.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Social media and messaging API (formerly Late at getlate.dev, renamed Zernio in 2026) for 16 channels plus ads, inbox, SMS and WhatsApp.",
      "url": "https://www.anchorterminal.com/tools/late",
      "markdownUrl": "https://www.anchorterminal.com/tools/late.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/late.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/late.json",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://zernio.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@zernio/node"
        },
        {
          "registry": "pypi",
          "name": "zernio-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key as a Bearer token. The hosted MCP accepts OAuth 2.1 with PKCE and dynamic client registration, or the API key as a Bearer header. A local stdio MCP ships in the Python SDK (uvx --from zernio-sdk[mcp] zernio-mcp).",
      "pricing": "freemium",
      "pricingNotes": "Billed per connected account each month, no plans. Accounts 1 and 2 free with no card, 3 to 10 at $6 each, 11 to 100 at $3, 101 and up at $1 (10 accounts cost $48). 10,000 inbox messages a month free, then $1 per 10,000. X API calls are passed through at $0.005 to $0.20 a request. SMS from $0.008 a message in the US (https://zernio.com/pricing).",
      "priceSummary": "$6 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, llms.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 45849,
        "pypiWeekly": 44099,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.zernio.com",
      "llmsTxt": "https://docs.zernio.com/llms.txt",
      "openapi": "https://zernio.com/openapi.yaml",
      "registryName": "com.zernio/zernio",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "sms",
        "whatsapp"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.5,
        "grade": "B",
        "agentReady": false,
        "rank": 192,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 87,
          "payments": 40,
          "reliability": 80,
          "schema": 83,
          "security": 57,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-09-29 to 2026-10-01. The changelog marks several changes BREAKING on the day they shipped, with no notice period. Timestamps without an offset now follow the profile timezone instead of UTC (29 September), accountId is required to edit or unpublish a multi-account post (30 September), and LinkedIn multi-account connect needs selections instead of accountType (1 October). We count the label as disclosure but not notice. -4 (https://docs.zernio.com/changelog)"
        ],
        "verdict": "Idempotency-Key on post creation and other writes, kept 24 hours, with an Idempotent-Replayed header on replays. Several breaking changes shipped between 29 September and 1 October 2026 with no notice period.",
        "bestFor": "Agents and SaaS products that need posting, inbox and ads through one well-specified API with safe retries.",
        "strengths": [
          "Idempotency-Key on post creation and other writes, kept 24 hours, with an Idempotent-Replayed header on replays",
          "OpenAPI 3.1 spec (API version 1.194.0) and a Node SDK regenerated from it several times a day",
          "Hosted MCP with OAuth scopes, tool annotations and search_tools for the long tail",
          "Restricted keys created through POST /v1/api-keys with any of ten resource groups switched off",
          "2 accounts free with no card, then $6, $3 or $1 an account"
        ],
        "weaknesses": [
          "Several breaking changes shipped between 29 September and 1 October 2026 with no notice period",
          "Reddit and TikTok posting budgets are shared across all Zernio customers",
          "SDKs are pre-1.0 (0.2.1056) and release many times a day",
          "No security.txt, no subprocessor list and no DPA linked from the privacy policy",
          "Renamed from Late in 2026, so docs and packages exist under both names"
        ],
        "agentNotes": [
          "Send an Idempotency-Key (a fresh UUID per post) on POST /v1/posts and reuse it only on a retry",
          "Give timestamps an explicit offset, because times without one now follow the profile timezone rather than UTC",
          "Pass accountId when editing or unpublishing a post that targets several accounts",
          "Wait Retry-After on 429. Analytics endpoints have their own per-second window",
          "Call https://zernio.com/api/v1, not the old getlate.dev base, and pin the SDK version"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.5
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 87,
          "payments": 40,
          "reliability": 80,
          "schema": 83,
          "security": 57,
          "transparency": 40
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl https://zernio.com/api/v1/accounts -H \"Authorization: Bearer $ZERNIO_API_KEY\"",
        "claudeCode": "claude mcp add --transport http zernio https://mcp.zernio.com/mcp",
        "config": {
          "mcpServers": {
            "zernio": {
              "args": [
                "--from",
                "zernio-sdk[mcp]",
                "zernio-mcp"
              ],
              "command": "uvx",
              "env": {
                "ZERNIO_API_KEY": "${ZERNIO_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/late"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Connected account (3 to 10)",
          "unit": "month",
          "usd": 6,
          "note": "per account, first 2 free"
        },
        {
          "item": "Connected account (11 to 100)",
          "unit": "month",
          "usd": 3,
          "note": "per account"
        },
        {
          "item": "Connected account (101 and up)",
          "unit": "month",
          "usd": 1,
          "note": "per account"
        },
        {
          "item": "SMS to the US",
          "unit": "message",
          "usd": 0.008
        }
      ],
      "provenance": {
        "legalEntity": "ZERNIO SOFTWARE SL",
        "domain": "zernio.com",
        "domainRegistered": "2025-08-14",
        "endpointOnVendorDomain": true,
        "terms": "https://zernio.com/tos",
        "privacy": "https://zernio.com/privacy-policy",
        "statusPage": "https://www.zernio-status.com",
        "changelog": "https://docs.zernio.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Formerly Late at getlate.dev (registered 2025-06-06), which now redirects to zernio.com",
          "Rebrand date not published. @zernio/node first appeared on npm on 2026-03-17",
          "npm weekly counts @zernio/node only. The legacy @getlatedev/node had 29,912 and late-sdk 18,958 more"
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/late.json",
      "live": {
        "slug": "late",
        "probe": {
          "target": "https://zernio.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-08T18:20:33.107838609Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 68,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 72,
          "p95ms24h": 244,
          "samples24h": 272,
          "samples30d": 2126,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 208,
              "ok": 208
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.zernio-status.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:49.364393485Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.zernio/zernio",
            "version": "1.0.0",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "@zernio/node",
            "version": "0.2.1138",
            "seenAt": "2026-10-08T16:18:39.442795195Z"
          },
          {
            "registry": "pypi",
            "name": "zernio-sdk",
            "version": "1.4.1153",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:18:40.503258596Z"
          }
        ],
        "npmWeekly": 48702,
        "pypiWeekly": 36677,
        "securityTxt": {
          "url": "https://zernio.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:44.084670375Z"
        },
        "llmsTxt": {
          "url": "https://docs.zernio.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:34.116649665Z"
        },
        "domain": {
          "domain": "zernio.com",
          "registered": "2025-08-14",
          "source": "https://rdap.verisign.com/com/v1/domain/zernio.com",
          "checkedAt": "2026-10-04T13:05:28.738999562Z"
        },
        "pages": [
          {
            "url": "https://docs.zernio.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:51.691887065Z",
            "changedAt": "2026-10-08T18:19:51.691887065Z",
            "fingerprint": "52f723e5c363"
          },
          {
            "url": "https://zernio.com/rebrand",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-07T18:14:51.362382895Z",
            "changedAt": "2026-10-05T16:05:30.580463232Z",
            "fingerprint": "a186c5f92c2f"
          },
          {
            "url": "https://zernio.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-07T18:14:47.033960843Z",
            "changedAt": "2026-10-02T15:29:11.484680525Z",
            "fingerprint": "9bd203560edb"
          },
          {
            "url": "https://zernio.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-07T18:14:49.153377892Z",
            "changedAt": "2026-10-05T16:05:28.426591252Z",
            "fingerprint": "7dc9f789dd59"
          },
          {
            "url": "https://zernio.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-07T18:14:53.165699015Z",
            "changedAt": "2026-10-05T16:05:32.536671852Z",
            "fingerprint": "6a155c4fe27c"
          }
        ],
        "updatedAt": "2026-10-08T18:20:33.107838609Z"
      }
    },
    "answer": "Zernio (formerly Late) API + MCP scores 67.5 (B) on agent readiness against X MCP's 55.4 (C), and leads in 6 of 7 scored categories. X MCP leads on transparency \u0026 trust.",
    "b": {
      "slug": "x-mcp",
      "name": "X MCP",
      "vendor": "X Corp.",
      "vendorUrl": "https://docs.x.com/tools/mcp",
      "kind": "mcp",
      "category": "social-media",
      "summary": "X MCP is X Corp.'s hosted Model Context Protocol server for the X API at api.x.com/mcp. It lets a model search posts, look up users, manage bookmarks, read trends and news, and draft Articles.",
      "url": "https://www.anchorterminal.com/tools/x-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/x-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/x-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/x-mcp.json",
      "repo": "https://github.com/xdevplatform/xurl",
      "license": "Proprietary hosted server under the X Developer Agreement. The xurl bridge on GitHub and npm is MIT",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.x.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@xdevplatform/xurl"
        }
      ],
      "auth": "mixed",
      "authNotes": "A person creates an app in the X Developer Portal, on the Pay-per-use package in Production. Reads work with the app-only Bearer token in an `Authorization` header sent straight to https://api.x.com/mcp. User-context tools (bookmarks, Articles, the current user) need OAuth 2.0 authorisation code with PKCE through the local `xurl mcp` bridge, which takes CLIENT_ID and CLIENT_SECRET, needs the redirect URI http://localhost:8080/callback registered, opens a browser once, then caches and refreshes tokens in ~/.xurl. No dynamic client registration. Self-serve, with no review step documented.",
      "pricing": "usage",
      "pricingNotes": "Pay-per-use credits bought in advance in the Developer Console, with no subscription and no free tier. Reads are charged per resource returned ($0.005 a post, $0.010 a user, $0.001 for the app owner's own data) and writes per request ($0.005 a bookmark, $0.010 a trends request). A one-time $20 credit needs a saved payment card. The MCP page doesn't say MCP calls are billed at these API rates, though it requires a Pay-per-use app (https://docs.x.com/x-api/getting-started/pricing.md).",
      "priceSummary": "$0.005 / call",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the MCP page, the pricing page, the docs index or the OpenAPI spec (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1352,
        "npmWeekly": 6027,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.x.com/tools/mcp",
      "llmsTxt": "https://docs.x.com/llms.txt",
      "openapi": "https://api.x.com/2/openapi.json",
      "capabilities": [
        "social.analytics"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "usage-priced",
        "prepaid",
        "card-required",
        "openapi",
        "llms-txt",
        "closed-source",
        "cli",
        "go"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.4,
        "grade": "C",
        "agentReady": false,
        "rank": 451,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 45,
          "maintenance": 70,
          "payments": 20,
          "reliability": 72,
          "schema": 65,
          "security": 48,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "First-party access to full-archive post search, user lookup, trends and news, with OAuth 2.0 PKCE scopes and per-resource prices published without a login. Every user must create a paid X developer app, the tool list isn't published, and the documented tools don't create posts.",
        "bestFor": "Research and monitoring on X by an agent whose owner already has, or will pay for, an X developer app, such as searching the archive, reading timelines and mentions, and filing bookmarks.",
        "strengths": [
          "Hosted by X on api.x.com, with full-archive post search, user search and news search among the documented tools",
          "OAuth 2.0 with PKCE (S256), refresh tokens and header-only bearer tokens, per the server's published metadata",
          "Per-resource prices are public, such as $0.005 a post read and $0.001 for reads of the app owner's own data",
          "The xurl bridge is MIT, at 1.3.4 from 29 September 2026, with six releases since 16 July",
          "llms.txt, Markdown for every docs page and a public OpenAPI spec (version 2.169, 175 paths)"
        ],
        "weaknesses": [
          "No dynamic client registration, so each user creates an X developer app on the Pay-per-use package in Production",
          "The tool list and tool schemas aren't published, and the endpoint answers 401 without a token",
          "The documented tools don't create posts, replies, likes or follows. Writes cover bookmarks and Articles",
          "xurl 1.3.4 asks for a fixed set of 24 scopes, including tweet.write and dm.write, with no flag to narrow them",
          "No guidance on prompt injection, though every post returned is text written by strangers",
          "Not in the official MCP registry, and the platform changelog has no entry for the hosted server"
        ],
        "agentNotes": [
          "Use the app-only Bearer header for read-only work. Bookmarks, Articles and any tool working in the user's name need the xurl bridge",
          "Set the client's startup timeout to 300 seconds or more, because the bridge holds the handshake until the first browser login ends",
          "On a headless host run `xurl auth oauth2 --headless` first, with CLIENT_ID and CLIENT_SECRET exported in that shell",
          "On `client-not-enrolled`, move the app to Pay-per-use and Production in the developer portal",
          "On 429, wait until the Unix time in `x-rate-limit-reset`. No Retry-After header is documented"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.4
          }
        ],
        "editorialScores": {
          "ergonomics": 45,
          "maintenance": 70,
          "payments": 20,
          "reliability": 72,
          "schema": 65,
          "security": 48,
          "transparency": 50
        },
        "provenanceScore": 89
      },
      "connect": {
        "install": "npm install -g @xdevplatform/xurl",
        "config": {
          "mcpServers": {
            "xapi": {
              "args": [
                "-y",
                "@xdevplatform/xurl",
                "mcp",
                "https://api.x.com/mcp"
              ],
              "command": "npx",
              "env": {
                "CLIENT_ID": "YOUR_X_APP_CLIENT_ID",
                "CLIENT_SECRET": "YOUR_X_APP_CLIENT_SECRET"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.analytics",
        "tool": "https://letme.dev/x-mcp"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Post read",
          "unit": "record",
          "usd": 0.005,
          "note": "per post returned, deduplicated within a UTC day"
        },
        {
          "item": "User read",
          "unit": "record",
          "usd": 0.01,
          "note": "per user returned"
        },
        {
          "item": "Owned read (the app owner's own posts, bookmarks, followers)",
          "unit": "record",
          "usd": 0.001,
          "note": "when the authenticated user owns the app"
        },
        {
          "item": "Bookmark write",
          "unit": "call",
          "usd": 0.005,
          "note": "per request"
        },
        {
          "item": "Trends request",
          "unit": "call",
          "usd": 0.01,
          "note": "per request"
        }
      ],
      "provenance": {
        "legalEntity": "X Corp.",
        "domain": "x.com",
        "domainRegistered": "1993-04-02",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.x.com/developer-terms/agreement",
        "privacy": "https://x.com/en/privacy",
        "statusPage": "https://developer.x.com/status",
        "changelog": "https://docs.x.com/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The X terms of service name X Corp., 800 W Cesar Chavez St., Austin, TX 78701, and the privacy policy (effective 15 January 2026) names X Internet Unlimited Company as controller for the EU, EFTA and the UK.",
          "https://x.com/.well-known/security.txt is PGP-signed, points to hackerone.com/twitter and expired on 1 January 2024. api.x.com and docs.x.com return 404 for the file.",
          "https://developer.x.com/status needs JavaScript and showed our reader no status data. The incident history is readable at https://docs.x.com/incidents.md.",
          "RDAP for x.com gives a registration date of 1993-04-02."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/x-mcp.json",
      "live": {
        "slug": "x-mcp",
        "probe": {
          "target": "https://api.x.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-08T18:20:44.196483402Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 146,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 135,
          "p95ms24h": 304,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://developer.x.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:51:20.016913198Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "xdevplatform/xurl",
            "version": "v1.3.4",
            "released": "2026-09-29",
            "seenAt": "2026-10-08T16:35:14.575990235Z"
          },
          {
            "registry": "npm",
            "name": "@xdevplatform/xurl",
            "version": "1.3.4",
            "seenAt": "2026-10-08T16:35:13.417069401Z"
          }
        ],
        "githubStars": 1352,
        "npmWeekly": 6027,
        "securityTxt": {
          "url": "https://x.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2024-01-01T06:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:54.375297302Z"
        },
        "pages": [
          {
            "url": "https://docs.x.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:48.52525792Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d1064f68558e"
          },
          {
            "url": "https://docs.x.com/x-api/getting-started/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:52.673714764Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1664e738aab2"
          },
          {
            "url": "https://docs.x.com/developer-terms/agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:50.776391045Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "69ecb268f31a"
          }
        ],
        "updatedAt": "2026-10-08T18:20:44.196483402Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Zernio",
        "b": "X Corp.",
        "name": "Vendor"
      },
      {
        "a": "https://zernio.com/api/v1",
        "b": "https://api.x.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary hosted server under the X Developer Agreement. The xurl bridge on GitHub and npm is MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.zernio/zernio",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-01",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "2026-10-08",
        "b": "2026-04-27",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-08",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "46k npm/wk, 44k PyPI/wk",
        "b": "1.4k stars, 6k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zernio (formerly Late) API + MCP scores 67.5 (B) on agent readiness against X MCP's 55.4 (C), and leads in 6 of 7 scored categories. X MCP leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Zernio (formerly Late) API + MCP or X MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Zernio (formerly Late) API + MCP and X MCP need an API key?"
      },
      {
        "answer": "Yes. Zernio (formerly Late) API + MCP has a hosted endpoint at https://zernio.com/api/v1 and X MCP at https://api.x.com/mcp.",
        "question": "Can an agent call Zernio (formerly Late) API + MCP and X MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 72",
          "Schema \u0026 documentation, 83 against 65",
          "Agent ergonomics, 88 against 45",
          "Security \u0026 auth, 57 against 48",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 87 against 70"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents and SaaS products that need posting, inbox and ads through one well-specified API with safe retries.",
        "slug": "late",
        "watchFor": "Several breaking changes shipped between 29 September and 1 October 2026 with no notice period"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 70 against 58"
        ],
        "also": [
          "No incidents deducted, where Zernio (formerly Late) API + MCP loses 4 points for them"
        ],
        "goodFor": "Research and monitoring on X by an agent whose owner already has, or will pay for, an X developer app, such as searching the archive, reading timelines and mentions, and filing bookmarks.",
        "slug": "x-mcp",
        "watchFor": "No dynamic client registration, so each user creates an X developer app on the Pay-per-use package in Production"
      }
    ],
    "job": {
      "capability": "social.analytics",
      "name": "Social analytics"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-late.json",
        "title": "Ayrshare API + MCP vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-late"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-late.json",
        "title": "Buffer API + MCP vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-late"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-metricool.json",
        "title": "Zernio (formerly Late) API + MCP vs Metricool API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-metricool"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-mixpost.json",
        "title": "Zernio (formerly Late) API + MCP vs Mixpost API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-mixpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-oneup.json",
        "title": "Zernio (formerly Late) API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-post-bridge.json",
        "title": "Zernio (formerly Late) API + MCP vs Post Bridge API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-post-bridge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-postiz.json",
        "title": "Zernio (formerly Late) API + MCP vs Postiz API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-postiz"
      },
      {
        "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-upload-post.json",
        "title": "Zernio (formerly Late) API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-x-mcp.json",
        "title": "Ayrshare API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-x-mcp.json",
        "title": "Buffer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-x-mcp.json",
        "title": "Metricool API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-x-mcp.json",
        "title": "Mixpost API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-x-mcp.json",
        "title": "OneUp API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-x-mcp.json",
        "title": "Post Bridge API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-x-mcp.json",
        "title": "Postiz API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-x-mcp.json",
        "title": "Publer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/upload-post-vs-x-mcp.json",
        "title": "Upload-Post API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/upload-post-vs-x-mcp"
      }
    ],
    "scores": [
      {
        "by": 8,
        "edge": "late",
        "key": "reliability",
        "late": 80,
        "name": "Reliability",
        "weight": 16,
        "x-mcp": 72
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "late",
        "key": "schema",
        "late": 83,
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "x-mcp": 65
      },
      {
        "by": 43,
        "edge": "late",
        "key": "ergonomics",
        "late": 88,
        "name": "Agent ergonomics",
        "weight": 13,
        "x-mcp": 45
      },
      {
        "by": 9,
        "edge": "late",
        "key": "security",
        "late": 57,
        "name": "Security \u0026 auth",
        "weight": 14,
        "x-mcp": 48
      },
      {
        "by": 20,
        "edge": "late",
        "key": "payments",
        "late": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "x-mcp": 20
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "late",
        "key": "maintenance",
        "late": 87,
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "x-mcp": 70
      },
      {
        "by": 12,
        "edge": "x-mcp",
        "key": "transparency",
        "late": 58,
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "x-mcp": 70
      }
    ],
    "summary": "Zernio (formerly Late) API + MCP scores 67.5 (B) on agent readiness against X MCP's 55.4 (C), and leads in 6 of 7 scored categories. X MCP leads on transparency \u0026 trust. Both do social analytics.",
    "verdicts": {
      "late": "Idempotency-Key on post creation and other writes, kept 24 hours, with an Idempotent-Replayed header on replays. Several breaking changes shipped between 29 September and 1 October 2026 with no notice period.",
      "x-mcp": "First-party access to full-archive post search, user lookup, trends and news, with OAuth 2.0 PKCE scopes and per-resource prices published without a login. Every user must create a paid X developer app, the tool list isn't published, and the documented tools don't create posts."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/late-vs-x-mcp",
    "json": "https://www.anchorterminal.com/compare/late-vs-x-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/late-vs-x-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/late-vs-x-mcp.min.md"
  },
  "markdown": "Zernio (formerly Late) API + MCP scores 67.5 (B) on agent readiness against X MCP's 55.4 (C), and leads in 6 of 7 scored categories. X MCP leads on transparency \u0026 trust. Both do social analytics.\n\n- Zernio (formerly Late) API + MCP: grade B, 67.5/100, rank #192 of 629. Markdown https://www.anchorterminal.com/tools/late.md · JSON https://www.anchorterminal.com/api/v1/tools/late.json\n- X MCP: grade C, 55.4/100, rank #451 of 629. Markdown https://www.anchorterminal.com/tools/x-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/x-mcp.json\n\n## Which one, for what\n\n### Zernio (formerly Late) API + MCP (B)\n\nGood for: Agents and SaaS products that need posting, inbox and ads through one well-specified API with safe retries.\n\nAhead on:\n- Reliability, 80 against 72\n- Schema \u0026 documentation, 83 against 65\n- Agent ergonomics, 88 against 45\n- Security \u0026 auth, 57 against 48\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 87 against 70\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Several breaking changes shipped between 29 September and 1 October 2026 with no notice period\n\n### X MCP (C)\n\nGood for: Research and monitoring on X by an agent whose owner already has, or will pay for, an X developer app, such as searching the archive, reading timelines and mentions, and filing bookmarks.\n\nAhead on:\n- Transparency \u0026 trust, 70 against 58\n\nAlso in its favour:\n- No incidents deducted, where Zernio (formerly Late) API + MCP loses 4 points for them\n\nWatch for: No dynamic client registration, so each user creates an X developer app on the Pay-per-use package in Production\n\n\n## Score by category\n\n| Category | Weight | Zernio (formerly Late) API + MCP | X MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 72 | Zernio (formerly Late) API + MCP +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 65 | Zernio (formerly Late) API + MCP +18 |\n| Agent ergonomics | 13% (16.2 this run) | 88 | 45 | Zernio (formerly Late) API + MCP +43 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 48 | Zernio (formerly Late) API + MCP +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Zernio (formerly Late) API + MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 70 | Zernio (formerly Late) API + MCP +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 70 | X MCP +12 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **67.5 · B** | **55.4 · C** | |\n\n## Facts side by side\n\n| Fact | Zernio (formerly Late) API + MCP | X MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Zernio | X Corp. |\n| Hosted endpoint | `https://zernio.com/api/v1` | `https://api.x.com/mcp` |\n| Transports | HTTP, Streamable HTTP, stdio | Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | none | Proprietary hosted server under the X Developer Agreement. The xurl bridge on GitHub and npm is MIT |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `com.zernio/zernio` | not listed |\n| Last release | 2026-10-01 | 2026-09-29 |\n| Terms last updated | 2026-10-08 | 2026-04-27 |\n| Privacy policy last updated | 2026-10-08 | couldn't be read |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 46k npm/wk, 44k PyPI/wk | 1.4k stars, 6k npm/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**Zernio (formerly Late) API + MCP.** Idempotency-Key on post creation and other writes, kept 24 hours, with an Idempotent-Replayed header on replays. Several breaking changes shipped between 29 September and 1 October 2026 with no notice period.\n\n**X MCP.** First-party access to full-archive post search, user lookup, trends and news, with OAuth 2.0 PKCE scopes and per-resource prices published without a login. Every user must create a paid X developer app, the tool list isn't published, and the documented tools don't create posts.\n\n## Before you call either\n\n### Zernio (formerly Late) API + MCP\n\n1. Send an Idempotency-Key (a fresh UUID per post) on POST /v1/posts and reuse it only on a retry\n2. Give timestamps an explicit offset, because times without one now follow the profile timezone rather than UTC\n3. Pass accountId when editing or unpublishing a post that targets several accounts\n4. Wait Retry-After on 429. Analytics endpoints have their own per-second window\n5. Call https://zernio.com/api/v1, not the old getlate.dev base, and pin the SDK version\n\n### X MCP\n\n1. Use the app-only Bearer header for read-only work. Bookmarks, Articles and any tool working in the user's name need the xurl bridge\n2. Set the client's startup timeout to 300 seconds or more, because the bridge holds the handshake until the first browser login ends\n3. On a headless host run `xurl auth oauth2 --headless` first, with CLIENT_ID and CLIENT_SECRET exported in that shell\n4. On `client-not-enrolled`, move the app to Pay-per-use and Production in the developer portal\n5. On 429, wait until the Unix time in `x-rate-limit-reset`. No Retry-After header is documented\n\n## Questions\n\n### Which is better for AI agents, Zernio (formerly Late) API + MCP or X MCP?\n\nZernio (formerly Late) API + MCP scores 67.5 (B) on agent readiness against X MCP's 55.4 (C), and leads in 6 of 7 scored categories. X MCP leads on transparency \u0026 trust.\n\n### Do Zernio (formerly Late) API + MCP and X MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Zernio (formerly Late) API + MCP and X MCP without installing anything?\n\nYes. Zernio (formerly Late) API + MCP has a hosted endpoint at https://zernio.com/api/v1 and X MCP at https://api.x.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/late-vs-x-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/late-vs-x-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"late\", \"b\": \"x-mcp\"}`. From a terminal: `anchor compare late x-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/late.json and https://www.anchorterminal.com/api/v1/tools/x-mcp.json\n\n## Other comparisons with Zernio (formerly Late) API + MCP or X MCP\n\n- [Ayrshare API + MCP vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-late.md)\n- [Buffer API + MCP vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/buffer-vs-late.md)\n- [Zernio (formerly Late) API + MCP vs Metricool API + MCP](https://www.anchorterminal.com/compare/late-vs-metricool.md)\n- [Zernio (formerly Late) API + MCP vs Mixpost API + MCP](https://www.anchorterminal.com/compare/late-vs-mixpost.md)\n- [Zernio (formerly Late) API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/late-vs-oneup.md)\n- [Zernio (formerly Late) API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/late-vs-post-bridge.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- [Zernio (formerly Late) API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/late-vs-upload-post.md)\n- [Ayrshare API + MCP vs X MCP](https://www.anchorterminal.com/compare/ayrshare-vs-x-mcp.md)\n- [Buffer API + MCP vs X MCP](https://www.anchorterminal.com/compare/buffer-vs-x-mcp.md)\n- [Metricool API + MCP vs X MCP](https://www.anchorterminal.com/compare/metricool-vs-x-mcp.md)\n- [Mixpost API + MCP vs X MCP](https://www.anchorterminal.com/compare/mixpost-vs-x-mcp.md)\n- [OneUp API + MCP vs X MCP](https://www.anchorterminal.com/compare/oneup-vs-x-mcp.md)\n- [Post Bridge API + MCP vs X MCP](https://www.anchorterminal.com/compare/post-bridge-vs-x-mcp.md)\n- [Postiz API + MCP vs X MCP](https://www.anchorterminal.com/compare/postiz-vs-x-mcp.md)\n- [Publer API + MCP vs X MCP](https://www.anchorterminal.com/compare/publer-vs-x-mcp.md)\n- [Upload-Post API + MCP vs X MCP](https://www.anchorterminal.com/compare/upload-post-vs-x-mcp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "Zernio (formerly Late) API + MCP vs X MCP",
        "url": ""
      }
    ],
    "description": "Zernio (formerly Late) API + MCP scores 67.5 (B) on agent readiness against X MCP's 55.4 (C), and leads in 6 of 7 scored categories. X MCP leads on transparency \u0026 trust. Both do social analytics. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Zernio (formerly Late) API + MCP B 67.5",
      "X MCP C 55.4",
      "scores"
    ],
    "h1": "Zernio (formerly Late) API + MCP vs X MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-late-vs-x-mcp.png",
    "path": "/compare/late-vs-x-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Zernio (formerly Late) API + MCP vs X MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/late-vs-x-mcp"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
