{
  "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",
      "dns": "late.grade.anchorterminal.com",
      "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-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69,
        "grade": "B",
        "agentReady": false,
        "rank": 265,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 87,
          "payments": 40,
          "reliability": 80,
          "schema": 83,
          "security": 65,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-09-29 to 2026-10-29. The changelog marks changes `breaking_change` on the day they ship, with no notice period. Timestamps without an offset now follow the profile timezone (29 September), accountId is required to edit a multi-account post (30 September), X ads creation rejects creative fields (1 October), and top-ups and payout batches no longer return a Checkout `url` (29 October). Repeats of one kind fold into one term. -3 (https://docs.zernio.com/changelog)",
          "2026-11-01. The changelog page says nothing on it breaks a working integration and that a breaking change ships only as a new path version, while the same page lists 15 `breaking_change` entries in v1 from 2 to 29 October. A misleading claim, -2 (https://docs.zernio.com/changelog)"
        ],
        "verdict": "Idempotency-Key on post creation and other writes, kept 24 hours, and a public DPA with a subprocessor list. Breaking changes keep shipping inside v1 on the day they're marked, 15 from 2 to 29 October 2026, while the changelog says they ship only as a new path version.",
        "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.431.1, 761 paths) and SDKs 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, or limited to chosen profiles",
          "A public DPA and a subprocessor list with purpose, location and transfer safeguard for 25 providers"
        ],
        "weaknesses": [
          "Breaking changes ship inside v1 on the day they're marked, 15 from 2 to 29 October 2026, while the changelog says they ship only as a new path version",
          "Reddit has been unavailable since 19 October 2026, and Reddit and TikTok posting budgets are shared across all Zernio customers",
          "The Node SDK is pre-1.0 (0.2.1420), and both SDKs release many times a day",
          "No security.txt or disclosure route, and no prompt-injection guidance for inbox, comment and DM text",
          "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 follow the profile timezone when it has one",
          "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",
          "Read the changelog's `breaking_change` entries before each deploy and pin the SDK version, because v1 changes without a new path"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 87,
          "payments": 40,
          "reliability": 80,
          "schema": 83,
          "security": 65,
          "transparency": 62
        },
        "provenanceScore": 79,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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-11-01",
        "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",
          "The terms were last updated 9 October 2026 and the privacy policy 26 October 2026. A DPA (19 October 2026) and a subprocessor list (9 October 2026) are published at zernio.com/dpa and zernio.com/subprocessors.",
          "zernio.com/.well-known/security.txt answers 404 on 1 November."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/late.json",
      "live": {
        "slug": "late",
        "probe": {
          "target": "https://zernio.com/api/v1",
          "method": "get",
          "lastAt": "2026-11-08T00:55:48.456763914Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 60,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 67,
          "p95ms24h": 168,
          "samples24h": 244,
          "samples30d": 7704,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.zernio-status.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-08T00:31:34.53400403Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.zernio/zernio",
            "version": "1.0.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@zernio/node",
            "version": "0.2.1526",
            "seenAt": "2026-11-06T23:38:58.581903478Z"
          },
          {
            "registry": "pypi",
            "name": "zernio-sdk",
            "version": "1.4.1601",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:39:01.481337913Z"
          }
        ],
        "npmWeekly": 74392,
        "pypiWeekly": 36211,
        "securityTxt": {
          "url": "https://zernio.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:46.395581162Z"
        },
        "llmsTxt": {
          "url": "https://docs.zernio.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:51.563584913Z"
        },
        "domain": {
          "domain": "zernio.com",
          "registered": "2025-08-14",
          "source": "https://rdap.verisign.com/com/v1/domain/zernio.com",
          "checkedAt": "2026-11-01T14:18:36.125667245Z"
        },
        "pages": [
          {
            "url": "https://docs.zernio.com/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:52.942367073Z",
            "changedAt": "2026-11-07T14:08:52.942367073Z",
            "fingerprint": "e9cd04837d0d"
          },
          {
            "url": "https://zernio.com/rebrand",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:38:28.338483066Z",
            "changedAt": "2026-11-03T08:14:00.413749659Z",
            "fingerprint": "1917d62e07c8"
          },
          {
            "url": "https://zernio.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:38:23.948675387Z",
            "changedAt": "2026-11-05T13:21:00.23331558Z",
            "fingerprint": "2f94c16c4229"
          },
          {
            "url": "https://zernio.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:38:26.296172502Z",
            "changedAt": "2026-11-03T08:13:58.166395425Z",
            "fingerprint": "275c2b98b9f9"
          },
          {
            "url": "https://zernio.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:38:30.516326963Z",
            "changedAt": "2026-11-07T14:38:30.516326963Z",
            "fingerprint": "37c05d48a0ed"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.zernio.com/mcp",
          "checkedAt": "2026-11-07T01:45:41.411936038Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:45:41.411936038Z"
        },
        "updatedAt": "2026-11-08T00:55:48.456763914Z"
      }
    },
    "answer": "Zernio (formerly Late) API + MCP scores 69 (B) on agent readiness against TwitterAPI.io MCP's 49.3 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "twitterapi-io-mcp",
      "name": "TwitterAPI.io MCP",
      "vendor": "Prism Digital, LLC",
      "vendorUrl": "https://twitterapi.io",
      "kind": "mcp",
      "category": "social-media",
      "summary": "TwitterAPI.io's MCP server has 12 read-only tools for X (Twitter) posts, users, followers, replies and trends, billed per result from prepaid credits. It's a third-party data service, not X's own API.",
      "url": "https://www.anchorterminal.com/tools/twitterapi-io-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/twitterapi-io-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/twitterapi-io-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/twitterapi-io-mcp.json",
      "dns": "twitterapi-io-mcp.grade.anchorterminal.com",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.twitterapi.io/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Hosted server takes OAuth or a TwitterAPI.io API key; the open-source npm package reads TWITTERAPI_IO_API_KEY. Keys come from a Google sign-in, with no X developer account.",
      "pricing": "pay-per-use",
      "pricingNotes": "Billed per result, minimum $0.00015 a request: tweet by ID $0.00015, user profile $0.00018, followers from $0.01 per 1,000. Up to $1 in free credits with no card; subscriptions add bonus credits (checked 2026-11-07).",
      "priceSummary": "$0.0001 / call",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://twitterapi.io/twitter-mcp-server",
      "llmsTxt": "https://twitterapi.io/llms.txt",
      "registryName": "io.twitterapi/mcp-server",
      "capabilities": [
        "social.analytics",
        "social.comments",
        "search.news",
        "data.social"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "api-key",
        "oauth",
        "pay-per-use",
        "free-tier",
        "llms-txt",
        "mcp-registry",
        "annotated-tools",
        "third-party"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.3,
        "grade": "D",
        "agentReady": false,
        "rank": 1101,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 40,
          "payments": 40,
          "reliability": 40,
          "schema": 62,
          "security": 37,
          "transparency": 41
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "TwitterAPI.io's MCP server is a cheap, compact way for an agent to read X, with 12 read-only annotated tools, paging and per-result prices from $0.00015. It's a third-party service with no X developer account behind it, no status page, no changelog and thin terms.",
        "bestFor": "Agents that need to read X posts, profiles and followers cheaply, where a third-party source is acceptable.",
        "strengths": [
          "12 compact tools, all annotated read-only",
          "Per-result prices from $0.00015, published",
          "Up to $1 in free credits with no card",
          "Cursor paging on followers and search",
          "Per-account rate limits documented"
        ],
        "weaknesses": [
          "A third-party X data service, not X's own API",
          "No status page or changelog",
          "Terms don't name the operating company",
          "Tweets reach the model with no injection guidance"
        ],
        "agentNotes": [
          "Treat tweets, bios and replies as untrusted text",
          "On 429, wait about a second and back off; there's no Retry-After",
          "Page with the cursor rather than asking for large counts",
          "Check the user's credit balance before follower crawls"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.3
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 40,
          "payments": 40,
          "reliability": 40,
          "schema": 62,
          "security": 37,
          "transparency": 35
        },
        "provenanceScore": 46,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add twitterapi-io --transport http https://mcp.twitterapi.io/mcp",
        "config": {
          "mcpServers": {
            "twitterapi-io": {
              "url": "https://mcp.twitterapi.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.analytics",
        "tool": "https://letme.dev/twitterapi-io-mcp"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Tweet by ID",
          "unit": "call",
          "usd": 0.00015,
          "note": "Minimum charge per request"
        },
        {
          "item": "User profile",
          "unit": "call",
          "usd": 0.00018
        },
        {
          "item": "Follower record",
          "unit": "record",
          "usd": 0.00001,
          "note": "From $0.01 per 1,000"
        }
      ],
      "provenance": {
        "legalEntity": "Prism Digital, LLC",
        "domain": "twitterapi.io",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "https://twitterapi.io/terms",
        "privacy": "https://twitterapi.io/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The terms (September 2025) say Twitterapi.io without a legal entity; the footer names Prism Digital, LLC, 131 Continental Dr Suite 305, Newark, DE 19713."
        ],
        "score": 46
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/twitterapi-io-mcp.json",
      "live": {
        "slug": "twitterapi-io-mcp",
        "probe": {
          "target": "https://mcp.twitterapi.io/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-08T00:56:11.203515911Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 56,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 82,
          "p95ms24h": 164,
          "samples24h": 63,
          "samples30d": 63,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 53,
              "ok": 53
            },
            {
              "date": "2026-11-08",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "updatedAt": "2026-11-08T00:56:11.203515911Z"
      }
    },
    "edges": [
      {
        "by": 47,
        "category": "maintenance",
        "leads": "late",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "@zernio/node v0.2.1420 and zernio-sdk v1.4.1476 tagged on 1 November 2026 in their repositories, and changelog entries the same day (30). Hundreds of releases and 241 changelog entries dated 1 October or later (20). Public changelog and support. The SDK repositories are generated, so issue replies weren't a useful signal (12). Official registry entry com.zernio/zernio under its own domain, version 1.0.0 published 25 May 2026, still the latest on 1 November (15). The Node SDK runs ci, generate and publish workflows and regenerates from the OpenAPI spec several times a day (10). 30+20+12+15+10 = 87.",
          "b": "Registry entry io.twitterapi/mcp-server updated 6 November 2026 (30). No dated changelog (0). Support channel not checked (0 of 15). Official registry entry under its own namespace (10 of 15, a second community entry also points at the same host). No package health read (0). 30 + 0 + 0 + 10 + 0 = 40. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API."
        },
        "scores": {
          "a": 87,
          "b": 40
        }
      },
      {
        "by": 40,
        "category": "reliability",
        "leads": "late",
        "name": "Reliability",
        "reasons": {
          "a": "Better Stack page at zernio-status.com with components for the API, each network, schedulers, webhooks, inbox and analytics, read through its RSS feed (20). From 3 August to 1 November 2026 the feed lists many incidents, each partial by its own text. The longest touching the API, on 8 October from 14:44 to 15:52 UTC, had some customers see the dashboard and API slow or time out. On 19 October post creation failed for 21 minutes, and on 26 October many API requests failed for about 20 minutes. Reddit has been unavailable since 19 October because Reddit blocked third-party apps, and other items hit one network, the inbox or webhooks. No full outage of everything and nothing over an hour that wasn't partial, so minor only (20). Limits published by tier, 60, 600 or 1,200 requests a minute, a per-second analytics window and per-network posting caps (15). 429 carries Retry-After and X-RateLimit headers, and an Idempotency-Key covers posts and other writes (15). The terms state no SLA (0). GA (10). 20+20+15+15+0+10 = 80.",
          "b": "No status page found (0). No incident history (5). Per-account QPS limits documented by tier (15). 'Hitting the ceiling returns an HTTP 429 (no Retry-After header is sent). Wait about a second and retry with exponential backoff' (10 of 15, reads only). No SLA; the terms disclaim uninterrupted service (0). Not labelled beta (10). 0 + 5 + 15 + 10 + 0 + 10 = 40."
        },
        "scores": {
          "a": 80,
          "b": 40
        }
      },
      {
        "by": 30,
        "category": "transparency",
        "leads": "late",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed API under published terms (last updated 9 October 2026), with the Node SDK under Apache-2.0 (15). The privacy policy, updated 26 October 2026, deletes data within 30 days of account deletion, keeps other data as long as needed, says content reached through the MCP or API isn't used to train models, and links a subprocessor list. A public DPA (19 October 2026, replacing a version dated 2 July 2026) is part of the terms with no signature needed, names ZERNIO SOFTWARE SL as processor, and deletes customer personal data within 10 business days of the end of the service, with backups within 30 days and logs within 90. The privacy policy also sets token lifetimes and deletion on disconnect for Google and Microsoft data. The statements agree, though general account data is kept as long as needed (26). No deprecation policy in practice. The changelog says a breaking change ships only as a new path version, yet breaking changes ship inside v1 on the day they're marked, and old getlate.dev URLs still redirect (6). The subprocessor list (9 October 2026) names 25 providers with purpose, data and transfer safeguard, and gives 14 days' notice of changes. Core hosting and the database are in London, and 18 entries say the location is provider-managed and not pinned to one region (15). 15+26+6+15 = 62.",
          "b": "The MCP package is MIT on npm; the service is closed under terms from September 2025 that don't name the company, which appears in the footer as Prism Digital, LLC of Newark, Delaware (15). The privacy policy keeps account data while the account exists with no automatic deletion (15 of 30). No deprecation policy (0). Subprocessors not listed in the pages read (5 of 20). 15 + 15 + 0 + 5 = 35."
        },
        "scores": {
          "a": 71,
          "b": 41
        }
      },
      {
        "by": 28,
        "category": "security",
        "leads": "late",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "API keys as Bearer tokens, restricted keys created through POST /v1/api-keys with any of ten resource groups switched off or limited to chosen profiles, and OAuth 2.1 with dynamic client registration on the MCP with eight scopes such as posts:read and analytics:read (30). Read-only keys and scopes are possible, members can be limited to profiles, and tools are annotated, but we found no approval guidance for publishing (14). The inbox, comments and DM tools return text from strangers and we found no prompt-injection guidance (0). A unified activity log endpoint (`GET /v1/logs`) covers publishing, connections, webhooks and messaging, webhook delivery logs are listed, X-Request-Id is on every response, and the security overview describes an append-only audit log of team-management actions for the owner. API calls aren't attributed to a key in a log we found (11). The DPA and pricing page say the SOC 2 Type II report and GDPR paperwork are available on request through the trust centre at trust.zernio.com. No security.txt (404 on 1 November) and no disclosure route, and the privacy contact is a named person's email (10). 30+14+0+11+10 = 65.",
          "b": "OAuth or a single API key per account (20 of 30). All tools are reads (12 of 20). Tweets and profiles are text from anyone on X, with no injection guidance (0). No audit log (0). No security.txt or programme found (5 of 20). 20 + 12 + 0 + 0 + 5 = 37."
        },
        "scores": {
          "a": 65,
          "b": 37
        }
      },
      {
        "by": 21,
        "category": "schema",
        "leads": "late",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 at zernio.com/openapi.yaml, API version 1.431.1 on 1 November with 761 paths (25). llms.txt and Markdown pages (10). The MCP has a docs_search tool and annotated tools. We didn't read tool descriptions in source (12). Inputs typed in the spec with resource groups and enums (12). A shared ErrorResponse with a machine code and message, X-Request-Id on responses, examples on operations (12). Dated public changelog with JSON and RSS feeds and a changelog API, but breaking changes ship inside v1, 15 of them marked `breaking_change` from 2 to 29 October (12). 25+10+12+12+12+12 = 83.",
          "b": "12 tools read from tools/list with JSON Schema inputs (25). llms.txt (10). Short descriptions of what each returns (10 of 20). Typed inputs with two enums (10 of 15). Examples on the docs page, errors described only as 429 (7 of 15). No changelog found (404); registry version 1.0.1 (0). 25 + 10 + 10 + 10 + 7 + 0 = 62."
        },
        "scores": {
          "a": 83,
          "b": 62
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "late",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The tools page lists 20 core tools and says tools/list returns about 50 everyday ones, with search_tools and call_tool loading the long tail on demand (5 plus 10). Page and cursor pagination on list endpoints (20). ErrorResponse codes such as idempotency_conflict, and the MCP returns the list of accounts when account_id is ambiguous (18). Idempotency-Key with 24-hour keys and an Idempotent-Replayed header, plus readOnlyHint, destructiveHint and openWorldHint on tools (20). The SDKs page lists official clients in eight languages, including Node and Python (15). 15+20+18+20+15 = 88.",
          "b": "12 compact tools, about 12 KB (15). Cursor-based paging on followers and search (18 of 20). 429 handling documented (10 of 20). All 12 annotated read-only (20). Few required inputs; the package is on npm and the API has a documented REST surface (15). 15 + 18 + 10 + 20 + 15 = 78."
        },
        "scores": {
          "a": 88,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Zernio",
        "b": "Prism Digital, LLC",
        "name": "Vendor"
      },
      {
        "a": "https://zernio.com/api/v1",
        "b": "https://mcp.twitterapi.io/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "Streamable HTTP",
        "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": "12",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.zernio/zernio",
        "b": "io.twitterapi/mcp-server",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-01",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-10-08",
        "b": "not read yet",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-08",
        "b": "not read yet",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "46k npm/wk, 44k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zernio (formerly Late) API + MCP scores 69 (B) on agent readiness against TwitterAPI.io MCP's 49.3 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Zernio (formerly Late) API + MCP or TwitterAPI.io MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Zernio (formerly Late) API + MCP and TwitterAPI.io MCP need an API key?"
      },
      {
        "answer": "Yes. Zernio (formerly Late) API + MCP has a hosted endpoint at https://zernio.com/api/v1 and TwitterAPI.io MCP at https://mcp.twitterapi.io/mcp.",
        "question": "Can an agent call Zernio (formerly Late) API + MCP and TwitterAPI.io MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 40",
          "Schema \u0026 documentation, 83 against 62",
          "Agent ergonomics, 88 against 78",
          "Security \u0026 auth, 65 against 37",
          "Maintenance \u0026 community, 87 against 40",
          "Transparency \u0026 trust, 71 against 41"
        ],
        "also": [
          "Runs on your own machine",
          "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": "Breaking changes ship inside v1 on the day they're marked, 15 from 2 to 29 October 2026, while the changelog says they ship only as a new path version"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Zernio (formerly Late) API + MCP loses 5 points for them"
        ],
        "goodFor": "Agents that need to read X posts, profiles and followers cheaply, where a third-party source is acceptable.",
        "slug": "twitterapi-io-mcp",
        "watchFor": "A third-party X data service, not X's own API"
      }
    ],
    "history": {
      "late": [
        {
          "causes": [
            "terms",
            "evidence",
            "event"
          ],
          "date": "2026-11-01",
          "delta": 1.4,
          "from": 67.6,
          "fromGrade": "B",
          "to": 69,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 67.5,
          "fromGrade": "B",
          "to": 67.6,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": 0,
          "from": 67.5,
          "fromGrade": "B",
          "to": 67.5,
          "toGrade": "B"
        }
      ],
      "twitterapi-io-mcp": null
    },
    "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/blotato-vs-late.json",
        "title": "Blotato vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-late"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/bundle-social-vs-late.json",
        "title": "bundle.social vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-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-repostit.json",
        "title": "Zernio (formerly Late) API + MCP vs Repostit",
        "url": "https://www.anchorterminal.com/compare/late-vs-repostit"
      },
      {
        "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/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-twitterapi-io-mcp.json",
        "title": "Ayrshare API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-twitterapi-io-mcp.json",
        "title": "Blotato vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-twitterapi-io-mcp.json",
        "title": "Buffer API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-twitterapi-io-mcp.json",
        "title": "bundle.social vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-sprout-social.json",
        "title": "Zernio (formerly Late) API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/late-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-x-mcp.json",
        "title": "Zernio (formerly Late) API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-xpoz-mcp.json",
        "title": "Zernio (formerly Late) API + MCP vs Xpoz MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-xpoz-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-twitterapi-io-mcp.json",
        "title": "Metricool API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-twitterapi-io-mcp.json",
        "title": "Mixpost API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-twitterapi-io-mcp.json",
        "title": "OneUp API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-twitterapi-io-mcp.json",
        "title": "Post Bridge API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-twitterapi-io-mcp.json",
        "title": "Postiz API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-twitterapi-io-mcp.json",
        "title": "Publer API + MCP vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socialcannon-vs-twitterapi-io-mcp.json",
        "title": "SocialCannon vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/socialcannon-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprout-social-vs-twitterapi-io-mcp.json",
        "title": "Sprout Social API vs TwitterAPI.io MCP",
        "url": "https://www.anchorterminal.com/compare/sprout-social-vs-twitterapi-io-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-upload-post.json",
        "title": "TwitterAPI.io MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-x-mcp.json",
        "title": "TwitterAPI.io MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-xpoz-mcp.json",
        "title": "TwitterAPI.io MCP vs Xpoz MCP",
        "url": "https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-xpoz-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-socialcannon.json",
        "title": "Zernio (formerly Late) API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/late-vs-socialcannon"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 40,
        "edge": "late",
        "key": "reliability",
        "late": 80,
        "name": "Reliability",
        "twitterapi-io-mcp": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "late",
        "key": "schema",
        "late": 83,
        "name": "Schema \u0026 documentation",
        "twitterapi-io-mcp": 62,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "late",
        "key": "ergonomics",
        "late": 88,
        "name": "Agent ergonomics",
        "twitterapi-io-mcp": 78,
        "weight": 13
      },
      {
        "by": 28,
        "edge": "late",
        "key": "security",
        "late": 65,
        "name": "Security \u0026 auth",
        "twitterapi-io-mcp": 37,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "late": 40,
        "name": "Payments \u0026 pricing",
        "twitterapi-io-mcp": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 47,
        "edge": "late",
        "key": "maintenance",
        "late": 87,
        "name": "Maintenance \u0026 community",
        "twitterapi-io-mcp": 40,
        "weight": 7
      },
      {
        "by": 30,
        "edge": "late",
        "key": "transparency",
        "late": 71,
        "name": "Transparency \u0026 trust",
        "twitterapi-io-mcp": 41,
        "weight": 7
      }
    ],
    "summary": "Zernio (formerly Late) API + MCP scores 69 (B) on agent readiness against TwitterAPI.io MCP's 49.3 (D), and leads in 6 of 7 scored categories. Both do social analytics.",
    "tasks": null,
    "tutorials": [
      {
        "title": "Save an announcement draft with Zernio",
        "tool": "late",
        "url": "https://www.anchorterminal.com/tutorials/late/"
      }
    ],
    "verdicts": {
      "late": "Idempotency-Key on post creation and other writes, kept 24 hours, and a public DPA with a subprocessor list. Breaking changes keep shipping inside v1 on the day they're marked, 15 from 2 to 29 October 2026, while the changelog says they ship only as a new path version.",
      "twitterapi-io-mcp": "TwitterAPI.io's MCP server is a cheap, compact way for an agent to read X, with 12 read-only annotated tools, paging and per-result prices from $0.00015. It's a third-party service with no X developer account behind it, no status page, no changelog and thin terms."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp",
    "json": "https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp.min.md"
  },
  "markdown": "Zernio (formerly Late) API + MCP scores 69 (B) on agent readiness against TwitterAPI.io MCP's 49.3 (D), and leads in 6 of 7 scored categories. Both do social analytics.\n\n- Zernio (formerly Late) API + MCP: grade B, 69/100, rank #265 of 1510. Markdown https://www.anchorterminal.com/tools/late.md · JSON https://www.anchorterminal.com/api/v1/tools/late.json\n- TwitterAPI.io MCP: grade D, 49.3/100, rank #1101 of 1510. Markdown https://www.anchorterminal.com/tools/twitterapi-io-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/twitterapi-io-mcp.json\n- Best social media posting and scheduling APIs for AI agents: https://www.anchorterminal.com/best/social-media/index.md\n- All 163 social comparisons: https://www.anchorterminal.com/compare/social-media/index.md\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 40\n- Schema \u0026 documentation, 83 against 62\n- Agent ergonomics, 88 against 78\n- Security \u0026 auth, 65 against 37\n- Maintenance \u0026 community, 87 against 40\n- Transparency \u0026 trust, 71 against 41\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Breaking changes ship inside v1 on the day they're marked, 15 from 2 to 29 October 2026, while the changelog says they ship only as a new path version\n\n### TwitterAPI.io MCP (D)\n\nGood for: Agents that need to read X posts, profiles and followers cheaply, where a third-party source is acceptable.\n\nAlso in its favour:\n- No incidents deducted, where Zernio (formerly Late) API + MCP loses 5 points for them\n\nWatch for: A third-party X data service, not X's own API\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Zernio (formerly Late) API + MCP +47\n\n- Zernio (formerly Late) API + MCP (87): @zernio/node v0.2.1420 and zernio-sdk v1.4.1476 tagged on 1 November 2026 in their repositories, and changelog entries the same day (30). Hundreds of releases and 241 changelog entries dated 1 October or later (20). Public changelog and support. The SDK repositories are generated, so issue replies weren't a useful signal (12). Official registry entry com.zernio/zernio under its own domain, version 1.0.0 published 25 May 2026, still the latest on 1 November (15). The Node SDK runs ci, generate and publish workflows and regenerates from the OpenAPI spec several times a day (10). 30+20+12+15+10 = 87.\n- TwitterAPI.io MCP (40): Registry entry io.twitterapi/mcp-server updated 6 November 2026 (30). No dated changelog (0). Support channel not checked (0 of 15). Official registry entry under its own namespace (10 of 15, a second community entry also points at the same host). No package health read (0). 30 + 0 + 0 + 10 + 0 = 40. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.\n\n### Reliability: Zernio (formerly Late) API + MCP +40\n\n- Zernio (formerly Late) API + MCP (80): Better Stack page at zernio-status.com with components for the API, each network, schedulers, webhooks, inbox and analytics, read through its RSS feed (20). From 3 August to 1 November 2026 the feed lists many incidents, each partial by its own text. The longest touching the API, on 8 October from 14:44 to 15:52 UTC, had some customers see the dashboard and API slow or time out. On 19 October post creation failed for 21 minutes, and on 26 October many API requests failed for about 20 minutes. Reddit has been unavailable since 19 October because Reddit blocked third-party apps, and other items hit one network, the inbox or webhooks. No full outage of everything and nothing over an hour that wasn't partial, so minor only (20). Limits published by tier, 60, 600 or 1,200 requests a minute, a per-second analytics window and per-network posting caps (15). 429 carries Retry-After and X-RateLimit headers, and an Idempotency-Key covers posts and other writes (15). The terms state no SLA (0). GA (10). 20+20+15+15+0+10 = 80.\n- TwitterAPI.io MCP (40): No status page found (0). No incident history (5). Per-account QPS limits documented by tier (15). 'Hitting the ceiling returns an HTTP 429 (no Retry-After header is sent). Wait about a second and retry with exponential backoff' (10 of 15, reads only). No SLA; the terms disclaim uninterrupted service (0). Not labelled beta (10). 0 + 5 + 15 + 10 + 0 + 10 = 40.\n\n### Transparency \u0026 trust: Zernio (formerly Late) API + MCP +30\n\n- Zernio (formerly Late) API + MCP (71): Closed API under published terms (last updated 9 October 2026), with the Node SDK under Apache-2.0 (15). The privacy policy, updated 26 October 2026, deletes data within 30 days of account deletion, keeps other data as long as needed, says content reached through the MCP or API isn't used to train models, and links a subprocessor list. A public DPA (19 October 2026, replacing a version dated 2 July 2026) is part of the terms with no signature needed, names ZERNIO SOFTWARE SL as processor, and deletes customer personal data within 10 business days of the end of the service, with backups within 30 days and logs within 90. The privacy policy also sets token lifetimes and deletion on disconnect for Google and Microsoft data. The statements agree, though general account data is kept as long as needed (26). No deprecation policy in practice. The changelog says a breaking change ships only as a new path version, yet breaking changes ship inside v1 on the day they're marked, and old getlate.dev URLs still redirect (6). The subprocessor list (9 October 2026) names 25 providers with purpose, data and transfer safeguard, and gives 14 days' notice of changes. Core hosting and the database are in London, and 18 entries say the location is provider-managed and not pinned to one region (15). 15+26+6+15 = 62.\n- TwitterAPI.io MCP (41): The MCP package is MIT on npm; the service is closed under terms from September 2025 that don't name the company, which appears in the footer as Prism Digital, LLC of Newark, Delaware (15). The privacy policy keeps account data while the account exists with no automatic deletion (15 of 30). No deprecation policy (0). Subprocessors not listed in the pages read (5 of 20). 15 + 15 + 0 + 5 = 35.\n\n### Security \u0026 auth: Zernio (formerly Late) API + MCP +28\n\n- Zernio (formerly Late) API + MCP (65): API keys as Bearer tokens, restricted keys created through POST /v1/api-keys with any of ten resource groups switched off or limited to chosen profiles, and OAuth 2.1 with dynamic client registration on the MCP with eight scopes such as posts:read and analytics:read (30). Read-only keys and scopes are possible, members can be limited to profiles, and tools are annotated, but we found no approval guidance for publishing (14). The inbox, comments and DM tools return text from strangers and we found no prompt-injection guidance (0). A unified activity log endpoint (`GET /v1/logs`) covers publishing, connections, webhooks and messaging, webhook delivery logs are listed, X-Request-Id is on every response, and the security overview describes an append-only audit log of team-management actions for the owner. API calls aren't attributed to a key in a log we found (11). The DPA and pricing page say the SOC 2 Type II report and GDPR paperwork are available on request through the trust centre at trust.zernio.com. No security.txt (404 on 1 November) and no disclosure route, and the privacy contact is a named person's email (10). 30+14+0+11+10 = 65.\n- TwitterAPI.io MCP (37): OAuth or a single API key per account (20 of 30). All tools are reads (12 of 20). Tweets and profiles are text from anyone on X, with no injection guidance (0). No audit log (0). No security.txt or programme found (5 of 20). 20 + 12 + 0 + 0 + 5 = 37.\n\n### Schema \u0026 documentation: Zernio (formerly Late) API + MCP +21\n\n- Zernio (formerly Late) API + MCP (83): OpenAPI 3.1 at zernio.com/openapi.yaml, API version 1.431.1 on 1 November with 761 paths (25). llms.txt and Markdown pages (10). The MCP has a docs_search tool and annotated tools. We didn't read tool descriptions in source (12). Inputs typed in the spec with resource groups and enums (12). A shared ErrorResponse with a machine code and message, X-Request-Id on responses, examples on operations (12). Dated public changelog with JSON and RSS feeds and a changelog API, but breaking changes ship inside v1, 15 of them marked `breaking_change` from 2 to 29 October (12). 25+10+12+12+12+12 = 83.\n- TwitterAPI.io MCP (62): 12 tools read from tools/list with JSON Schema inputs (25). llms.txt (10). Short descriptions of what each returns (10 of 20). Typed inputs with two enums (10 of 15). Examples on the docs page, errors described only as 429 (7 of 15). No changelog found (404); registry version 1.0.1 (0). 25 + 10 + 10 + 10 + 7 + 0 = 62.\n\n### Agent ergonomics: Zernio (formerly Late) API + MCP +10\n\n- Zernio (formerly Late) API + MCP (88): The tools page lists 20 core tools and says tools/list returns about 50 everyday ones, with search_tools and call_tool loading the long tail on demand (5 plus 10). Page and cursor pagination on list endpoints (20). ErrorResponse codes such as idempotency_conflict, and the MCP returns the list of accounts when account_id is ambiguous (18). Idempotency-Key with 24-hour keys and an Idempotent-Replayed header, plus readOnlyHint, destructiveHint and openWorldHint on tools (20). The SDKs page lists official clients in eight languages, including Node and Python (15). 15+20+18+20+15 = 88.\n- TwitterAPI.io MCP (78): 12 compact tools, about 12 KB (15). Cursor-based paging on followers and search (18 of 20). 429 handling documented (10 of 20). All 12 annotated read-only (20). Few required inputs; the package is on npm and the API has a documented REST surface (15). 15 + 18 + 10 + 20 + 15 = 78.\n\n## Score by category\n\n| Category | Weight | Zernio (formerly Late) API + MCP | TwitterAPI.io MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 40 | Zernio (formerly Late) API + MCP +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 62 | Zernio (formerly Late) API + MCP +21 |\n| Agent ergonomics | 13% (16.2 this run) | 88 | 78 | Zernio (formerly Late) API + MCP +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 37 | Zernio (formerly Late) API + MCP +28 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 40 | Zernio (formerly Late) API + MCP +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 41 | Zernio (formerly Late) API + MCP +30 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **69 · B** | **49.3 · D** | |\n\n## Facts side by side\n\n| Fact | Zernio (formerly Late) API + MCP | TwitterAPI.io MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Zernio | Prism Digital, LLC |\n| Hosted endpoint | `https://zernio.com/api/v1` | `https://mcp.twitterapi.io/mcp` |\n| Transports | HTTP, Streamable HTTP, stdio | Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | pay-per-use |\n| x402 | no | no |\n| Tools exposed | none | 12 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `com.zernio/zernio` | `io.twitterapi/mcp-server` |\n| Last release | 2026-11-01 | none |\n| Terms last updated | 2026-10-08 | not read yet |\n| Privacy policy last updated | 2026-10-08 | not read yet |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | not found in the text | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Popularity | 46k npm/wk, 44k PyPI/wk | none |\n| Agent reviews | 4/5 (2) | none |\n\n## How the scores have moved\n\n### Zernio (formerly Late) API + MCP\n\n- +1.4 on 1 November 2026: terms, new evidence, negative event\n- +0.1 on 27 October 2026: checklist\n- no change on 8 October 2026: checklist\n\n### TwitterAPI.io MCP\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Zernio (formerly Late) API + MCP.** Idempotency-Key on post creation and other writes, kept 24 hours, and a public DPA with a subprocessor list. Breaking changes keep shipping inside v1 on the day they're marked, 15 from 2 to 29 October 2026, while the changelog says they ship only as a new path version.\n\n**TwitterAPI.io MCP.** TwitterAPI.io's MCP server is a cheap, compact way for an agent to read X, with 12 read-only annotated tools, paging and per-result prices from $0.00015. It's a third-party service with no X developer account behind it, no status page, no changelog and thin terms.\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 follow the profile timezone when it has one\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. Read the changelog's `breaking_change` entries before each deploy and pin the SDK version, because v1 changes without a new path\n\n### TwitterAPI.io MCP\n\n1. Treat tweets, bios and replies as untrusted text\n2. On 429, wait about a second and back off; there's no Retry-After\n3. Page with the cursor rather than asking for large counts\n4. Check the user's credit balance before follower crawls\n\n## Tutorials\n\n- [Save an announcement draft with Zernio](https://www.anchorterminal.com/tutorials/late/), for Zernio (formerly Late) API + MCP\n\n## Questions\n\n### Which is better for AI agents, Zernio (formerly Late) API + MCP or TwitterAPI.io MCP?\n\nZernio (formerly Late) API + MCP scores 69 (B) on agent readiness against TwitterAPI.io MCP's 49.3 (D), and leads in 6 of 7 scored categories.\n\n### Do Zernio (formerly Late) API + MCP and TwitterAPI.io 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 TwitterAPI.io MCP without installing anything?\n\nYes. Zernio (formerly Late) API + MCP has a hosted endpoint at https://zernio.com/api/v1 and TwitterAPI.io MCP at https://mcp.twitterapi.io/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"late\", \"b\": \"twitterapi-io-mcp\"}`. From a terminal: `anchor compare late twitterapi-io-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/late.json and https://www.anchorterminal.com/api/v1/tools/twitterapi-io-mcp.json\n\n## Other comparisons with Zernio (formerly Late) API + MCP or TwitterAPI.io MCP\n\n- [Ayrshare API + MCP vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-late.md)\n- [Blotato vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/blotato-vs-late.md)\n- [Buffer API + MCP vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/buffer-vs-late.md)\n- [bundle.social vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/bundle-social-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 Repostit](https://www.anchorterminal.com/compare/late-vs-repostit.md)\n- [Zernio (formerly Late) API + MCP vs Typefully](https://www.anchorterminal.com/compare/late-vs-typefully.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 TwitterAPI.io MCP](https://www.anchorterminal.com/compare/ayrshare-vs-twitterapi-io-mcp.md)\n- [Blotato vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/blotato-vs-twitterapi-io-mcp.md)\n- [Buffer API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/buffer-vs-twitterapi-io-mcp.md)\n- [bundle.social vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/bundle-social-vs-twitterapi-io-mcp.md)\n- [Zernio (formerly Late) API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/late-vs-sprout-social.md)\n- [Zernio (formerly Late) API + MCP vs X MCP](https://www.anchorterminal.com/compare/late-vs-x-mcp.md)\n- [Zernio (formerly Late) API + MCP vs Xpoz MCP](https://www.anchorterminal.com/compare/late-vs-xpoz-mcp.md)\n- [Metricool API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/metricool-vs-twitterapi-io-mcp.md)\n- [Mixpost API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/mixpost-vs-twitterapi-io-mcp.md)\n- [OneUp API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/oneup-vs-twitterapi-io-mcp.md)\n- [Post Bridge API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/post-bridge-vs-twitterapi-io-mcp.md)\n- [Postiz API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/postiz-vs-twitterapi-io-mcp.md)\n- [Publer API + MCP vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/publer-vs-twitterapi-io-mcp.md)\n- [SocialCannon vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/socialcannon-vs-twitterapi-io-mcp.md)\n- [Sprout Social API vs TwitterAPI.io MCP](https://www.anchorterminal.com/compare/sprout-social-vs-twitterapi-io-mcp.md)\n- [TwitterAPI.io MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-upload-post.md)\n- [TwitterAPI.io MCP vs X MCP](https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-x-mcp.md)\n- [TwitterAPI.io MCP vs Xpoz MCP](https://www.anchorterminal.com/compare/twitterapi-io-mcp-vs-xpoz-mcp.md)\n- [Zernio (formerly Late) API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/late-vs-socialcannon.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Zernio (formerly Late) API + MCP vs TwitterAPI.io MCP",
        "url": ""
      }
    ],
    "description": "Zernio scores 69 (B) to TwitterAPI.io MCP's 49.3 (D) for social analytics. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Zernio (formerly Late) API + MCP B 69",
      "TwitterAPI.io MCP D 49.3",
      "scores"
    ],
    "h1": "Zernio (formerly Late) API + MCP vs TwitterAPI.io MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/late-vs-twitterapi-io-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Zernio vs TwitterAPI.io MCP for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/late-vs-twitterapi-io-mcp"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 2780
  },
  "version": 1
}
