{
  "data": {
    "a": {
      "slug": "telegram-bot",
      "name": "Telegram Bot API",
      "vendor": "Telegram Messenger Inc.",
      "vendorUrl": "https://telegram.org",
      "kind": "http-api",
      "category": "messaging",
      "summary": "The Telegram Bot API is Telegram's HTTP interface for bot accounts. A bot sends and edits messages, media and polls, manages chats and takes payments, and receives user messages by long polling or webhook, with a token issued by @BotFather.",
      "url": "https://www.anchorterminal.com/tools/telegram-bot",
      "markdownUrl": "https://www.anchorterminal.com/tools/telegram-bot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/telegram-bot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/telegram-bot.json",
      "repo": "https://github.com/tdlib/telegram-bot-api",
      "license": "Proprietary hosted service under the Telegram Bot Platform Developer Terms of Service. The Bot API server source in tdlib/telegram-bot-api is BSL-1.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.telegram.org",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Self-serve. A person with a Telegram account sends `/newbot` to @BotFather and receives one token per bot. The token goes in the URL path of every request, as `https://api.telegram.org/bot\u003ctoken\u003e/METHOD_NAME`. It has no scopes or expiry and gives full control of the bot. `/token` in @BotFather generates a new one. No OAuth, app review or sales approval applies.",
      "pricing": "free",
      "pricingNotes": "Free, with no card or contract. The one fee found is for paid broadcasts, 0.1 Telegram Stars per message sent above 30 a second, open to bots with at least 100,000 Stars and 100,000 monthly active users. A separate test environment exists for bots (checked 2026-10-09).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Bot API reference, the FAQ, the developer terms or the server source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4478,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://core.telegram.org/bots/api",
      "capabilities": [
        "messaging.inbound"
      ],
      "tags": [
        "hosted",
        "free",
        "api-key",
        "webhooks",
        "long-polling",
        "telegram",
        "chat",
        "open-source-server",
        "bug-bounty",
        "self-serve"
      ],
      "lastRelease": "2026-08-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43,
        "grade": "E",
        "agentReady": false,
        "rank": 885,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 14,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 38,
          "payments": 40,
          "reliability": 40,
          "schema": 44,
          "security": 35,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Telegram's first-party bot interface is free, needs no card and documents 185 methods on one page with a dated changelog and numeric send limits. No OpenAPI document, status page, SLA or idempotency key was found, one token controls the whole bot and travels in the URL, and a person must create the bot in a chat with @BotFather.",
        "bestFor": "An agent that talks to people who use Telegram, with free sends and long polling that needs no public server.",
        "strengths": [
          "Free to use with no card. Limits are published as numbers, about one message a second per chat, 20 a minute in a group and about 30 a second in bulk",
          "Flood errors return HTTP 429 with `retry_after` in the response `parameters`, and the open-source server sets a `Retry-After` header",
          "Inbound messages arrive by `getUpdates` long polling with no public server, or by webhook with a `secret_token` echoed in `X-Telegram-Bot-Api-Secret-Token`",
          "The Bot API server is open source under BSL-1.0 in tdlib/telegram-bot-api, at version 10.3, and can be self-hosted for larger files",
          "A dated changelog covers every version, and the server source still accepts `receiver_user_id` and `correct_option_id` after the changelog said they were replaced"
        ],
        "weaknesses": [
          "No OpenAPI document, llms.txt or official SDK was found. The contract is one HTML reference page of about 860 KB",
          "One token gives full control of the bot, sits in the URL path of every request, and has no scopes or read-only form",
          "No status page, SLA or incident history was found, and the developer terms disclaim uptime and allow changes without notice",
          "No idempotency key exists for sends, and `error_code` contents are described as subject to change with no published error catalogue",
          "A person with a Telegram account must create the bot in a chat with @BotFather, and a bot cannot message a user who has not started it",
          "Developer terms section 4.3 prohibits collecting data for large datasets, machine learning models and AI products. Recorded as a fact, and it matters before any probe is run"
        ],
        "agentNotes": [
          "Send `POST https://api.telegram.org/bot\u003ctoken\u003e/sendMessage` with `chat_id` and `text`. Keep the token out of logs, because it is part of the URL.",
          "On HTTP 429 wait the `parameters.retry_after` seconds before retrying. Stay under one message a second per chat and 20 a minute per group.",
          "Call `getUpdates` with `offset` set to the last `update_id` plus one, or the same updates return. Updates are kept for at most 24 hours.",
          "A retried send can post twice, as there is no idempotency key. Record the returned `message_id` before retrying after a timeout.",
          "In groups the bot sees only commands and replies unless privacy mode is disabled in @BotFather or the bot is an admin."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 38,
          "payments": 40,
          "reliability": 40,
          "schema": 44,
          "security": 35,
          "transparency": 53
        },
        "provenanceScore": 74
      },
      "connect": {
        "http": "curl https://api.telegram.org/bot\u003ctoken\u003e/getMe"
      },
      "letme": {
        "capability": "https://letme.dev/messaging.inbound",
        "tool": "https://letme.dev/telegram-bot"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Telegram Messenger Inc.",
        "domain": "telegram.org",
        "domainRegistered": "2003-12-15",
        "endpointOnVendorDomain": true,
        "terms": "https://telegram.org/tos/bot-developers",
        "privacy": "https://telegram.org/privacy",
        "statusPage": "",
        "changelog": "https://core.telegram.org/bots/api-changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Bot Platform Developer Terms of Service name Telegram Messenger Inc. as the contracting party and incorporate the Telegram Terms of Service and Privacy Policy. The page carries no date.",
          "The privacy policy names Telegram Messenger Inc. as controller, Telegram Group Inc and Telegraph Inc. in the British Virgin Islands and Telegram FZ-LLC in Dubai as group recipients, and EDPO as EEA representative. Its last listed change is 29 September 2024.",
          "The API answers at api.telegram.org and the docs at core.telegram.org, both telegram.org subdomains.",
          "telegram.org/.well-known/security.txt returns 404, and core.telegram.org/.well-known/security.txt and telegram.org/security.txt return ordinary web pages. The bug bounty page at core.telegram.org/bug-bounty takes reports at security@telegram.org.",
          "Neither core.telegram.org nor telegram.org serves a robots.txt (404 on both).",
          "No status page was found.",
          "RDAP for telegram.org gives a registration date of 2003-12-15."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/telegram-bot.json",
      "live": {
        "slug": "telegram-bot",
        "probe": {
          "target": "https://api.telegram.org",
          "method": "get",
          "lastAt": "2026-10-10T02:07:27.256450952Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 123,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 116,
          "p95ms24h": 503,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "githubStars": 4480,
        "pages": [
          {
            "url": "https://telegram.org/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:33.627004977Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "797939d5eedb"
          },
          {
            "url": "https://telegram.org/tos/bot-developers",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:35.690260958Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e5a72833c44e"
          }
        ],
        "updatedAt": "2026-10-10T02:07:27.256450952Z"
      }
    },
    "answer": "Vonage Messages API + MCP scores 66.8 (B) on agent readiness against Telegram Bot API's 43 (E), and leads in 5 of 7 scored categories. Telegram Bot API leads on transparency \u0026 trust.",
    "b": {
      "slug": "vonage",
      "name": "Vonage Messages API + MCP",
      "vendor": "Vonage (Ericsson)",
      "vendorUrl": "https://www.vonage.com",
      "kind": "http-api",
      "category": "messaging",
      "summary": "One endpoint (POST /v1/messages) for SMS, MMS, WhatsApp, RCS, Viber and Messenger, with failover between channels.",
      "url": "https://www.anchorterminal.com/tools/vonage",
      "markdownUrl": "https://www.anchorterminal.com/tools/vonage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vonage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vonage.json",
      "repo": "https://github.com/Vonage-Community/vonage-mcp-server-api-bindings",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://api.nexmo.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@vonage/server-sdk"
        },
        {
          "registry": "pypi",
          "name": "vonage"
        },
        {
          "registry": "npm",
          "name": "@vonage/vonage-mcp-server-api-bindings"
        }
      ],
      "auth": "mixed",
      "authNotes": "Messages API takes a Vonage Application JWT (RS256, signed with the application's private key) or Basic auth with the API key and secret. Basic auth doesn't deliver to application-level webhooks. Inbound webhooks carry an HS256 JWT to verify. The MCP server reads the key, secret, application ID and a base64 private key from env vars.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go per message. Rates vary by country and channel and appear only through a country selector or a downloadable sheet. WhatsApp adds a Vonage platform fee to Meta's template fees. New accounts get €2 of test credit and no card is needed (https://www.vonage.com/communications-apis/messages/pricing/).",
      "priceSummary": "Pay per use",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 15,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 154249,
        "pypiWeekly": 67062,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.vonage.com/en/messages/overview",
      "llmsTxt": "https://developer.vonage.com/llms.txt",
      "openapi": "https://developer.vonage.com/api/v1/developer/api/file/messages?format=json",
      "registryName": "io.github.Vonage/vonage-documentation-mcp",
      "capabilities": [
        "messaging.sms",
        "messaging.mms",
        "messaging.whatsapp",
        "messaging.rcs",
        "messaging.verify",
        "messaging.inbound"
      ],
      "tags": [
        "hosted",
        "no-card",
        "mcp",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "webhooks",
        "whatsapp",
        "sms",
        "enterprise"
      ],
      "lastRelease": "2026-09-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.8,
        "grade": "B",
        "agentReady": false,
        "rank": 274,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 80,
          "payments": 37,
          "reliability": 77,
          "schema": 90,
          "security": 73,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "POST /v1/messages covers six channels, with SMS failover for WhatsApp and RCS. No idempotency key, and channel rejections arrive only by status webhook after a 202.",
        "bestFor": "Agents that need several chat channels behind one call with SMS failover.",
        "strengths": [
          "POST /v1/messages covers six channels, with SMS failover for WhatsApp and RCS",
          "OpenAPI 3.0.3 spec for the Messages API (version 1.19.1), and SDK releases in Node and Python through September 2026",
          "75 requests a second per API key, with Retry-After and X-RateLimit headers on 429",
          "Application JWTs with ACL claims that limit paths and methods",
          "ISO 27001, PCI-DSS, SOC, HITRUST and CSA STAR listed on the security page, and an Audit API for account events"
        ],
        "weaknesses": [
          "No idempotency key, and channel rejections arrive only by status webhook after a 202",
          "The sending MCP lives in the Vonage-Community GitHub organisation, last released on 2026-05-26, with no tool annotations",
          "SMS, WhatsApp and RCS prices sit behind a country selector, and the terms body doesn't render without a browser",
          "No SLA, security.txt, sub-processor list or retention periods found",
          "The Audit API costs $550 a month"
        ],
        "agentNotes": [
          "Keep api.nexmo.com as the host, don't rewrite it to vonage.com",
          "Use the Messages API, not the legacy SMS API",
          "Treat a 202 as accepted only, and wait for the status webhook before assuming delivery",
          "Use JWT auth if you need inbound or status webhooks, Basic auth doesn't deliver to application webhooks",
          "Verify the webhook JWT and its payload_hash against the raw body"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.8
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 80,
          "payments": 37,
          "reliability": 77,
          "schema": 90,
          "security": 73,
          "transparency": 28
        },
        "provenanceScore": 69
      },
      "connect": {
        "http": "curl https://api.nexmo.com/v1/messages -u \"$VONAGE_API_KEY:$VONAGE_API_SECRET\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"message_type\":\"text\",\"channel\":\"sms\",\"to\":\"447700900000\",\"from\":\"Vonage\",\"text\":\"Hello from Vonage\"}'",
        "claudeCode": "claude mcp add --transport http vonage-docs https://documentation-mcp.vonage.dev/mcp",
        "config": {
          "mcpServers": {
            "vonage": {
              "args": [
                "-y",
                "@vonage/vonage-mcp-server-api-bindings"
              ],
              "command": "npx",
              "env": {
                "VONAGE_API_KEY": "${VONAGE_API_KEY}",
                "VONAGE_API_SECRET": "${VONAGE_API_SECRET}",
                "VONAGE_APPLICATION_ID": "${VONAGE_APPLICATION_ID}",
                "VONAGE_PRIVATE_KEY64": "${VONAGE_PRIVATE_KEY64}",
                "VONAGE_VIRTUAL_NUMBER": "${VONAGE_VIRTUAL_NUMBER}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/messaging.sms",
        "tool": "https://letme.dev/vonage"
      },
      "sameCompany": [
        "vonage-voice"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "Vonage Holdings Corp.",
        "domain": "vonage.com",
        "domainRegistered": "2000-12-12",
        "domainNote": "The API endpoints sit on the legacy nexmo.com domain, from Nexmo's acquisition in 2016.",
        "endpointOnVendorDomain": false,
        "terms": "https://www.vonage.com/legal/communications-apis/terms-of-use/",
        "privacy": "https://www.vonage.com/legal/privacy-policy/",
        "statusPage": "https://vonageapi.statuspage.io",
        "changelog": "https://developer.vonage.com/en/changelogs",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The privacy notice names Vonage Holdings Corp. as controller where one entity applies. The API terms set the contracting entity by customer region in Schedule 1, which we couldn't read because vonage.com returned 403 to automated requests."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vonage.json",
      "live": {
        "slug": "vonage",
        "probe": {
          "target": "https://api.nexmo.com/v1",
          "method": "get",
          "lastAt": "2026-10-10T02:07:30.732593559Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 21,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 22,
          "p95ms24h": 59,
          "samples24h": 250,
          "samples30d": 2458,
          "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": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://vonageapi.statuspage.io",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-10-10T02:06:33.310655717Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Vonage-Community/vonage-mcp-server-api-bindings",
            "version": "v1.5.0",
            "released": "2026-05-21",
            "seenAt": "2026-10-09T17:27:42.501240421Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.Vonage/vonage-documentation-mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@vonage/server-sdk",
            "version": "3.30.1",
            "seenAt": "2026-10-09T17:27:38.469462428Z"
          },
          {
            "registry": "npm",
            "name": "@vonage/vonage-mcp-server-api-bindings",
            "version": "1.5.1",
            "seenAt": "2026-10-09T17:27:40.626886658Z"
          },
          {
            "registry": "pypi",
            "name": "vonage",
            "version": "4.9.0",
            "released": "2026-09-16",
            "seenAt": "2026-10-09T17:27:40.508685469Z"
          }
        ],
        "githubStars": 3,
        "npmWeekly": 126786,
        "pypiWeekly": 63712,
        "securityTxt": {
          "url": "https://vonage.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:55.313957613Z"
        },
        "llmsTxt": {
          "url": "https://developer.vonage.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:03:01.126154531Z"
        },
        "domain": {
          "domain": "vonage.com",
          "registered": "2000-12-12",
          "source": "https://rdap.verisign.com/com/v1/domain/vonage.com",
          "checkedAt": "2026-10-04T13:04:15.703583171Z"
        },
        "pages": [
          {
            "url": "https://www.vonage.com/communications-apis/messages/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:29.77078794Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "78c0a0681698"
          }
        ],
        "updatedAt": "2026-10-10T02:07:30.732593559Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Telegram Messenger Inc.",
        "b": "Vonage (Ericsson)",
        "name": "Vendor"
      },
      {
        "a": "https://api.telegram.org",
        "b": "https://api.nexmo.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under the Telegram Bot Platform Developer Terms of Service. The Bot API server source in tdlib/telegram-bot-api is BSL-1.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "15",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.Vonage/vonage-documentation-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-24",
        "b": "2026-09-16",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2024-06-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.5k stars",
        "b": "154k npm/wk, 67k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Vonage Messages API + MCP scores 66.8 (B) on agent readiness against Telegram Bot API's 43 (E), and leads in 5 of 7 scored categories. Telegram Bot API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Telegram Bot API or Vonage Messages API + MCP?"
      },
      {
        "answer": "Telegram Bot API needs an API key. Vonage Messages API + MCP takes an API key or an OAuth sign-in.",
        "question": "Do Telegram Bot API and Vonage Messages API + MCP need an API key?"
      },
      {
        "answer": "Yes. Telegram Bot API has a hosted endpoint at https://api.telegram.org and Vonage Messages API + MCP at https://api.nexmo.com/v1.",
        "question": "Can an agent call Telegram Bot API and Vonage Messages API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 64 against 49"
        ],
        "also": null,
        "goodFor": "An agent that talks to people who use Telegram, with free sends and long polling that needs no public server.",
        "slug": "telegram-bot",
        "watchFor": "No OpenAPI document, llms.txt or official SDK was found. The contract is one HTML reference page of about 860 KB"
      },
      {
        "aheadOn": [
          "Reliability, 77 against 40",
          "Schema \u0026 documentation, 90 against 44",
          "Security \u0026 auth, 73 against 35",
          "Maintenance \u0026 community, 80 against 38"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Agents that need several chat channels behind one call with SMS failover.",
        "slug": "vonage",
        "watchFor": "No idempotency key, and channel rejections arrive only by status webhook after a 202"
      }
    ],
    "job": {
      "capability": "messaging.inbound",
      "name": "Inbound messaging"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-vonage.json",
        "title": "AWS End User Messaging vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-vs-vonage.json",
        "title": "Bandwidth Messaging API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/bandwidth-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-vonage.json",
        "title": "Bird API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/bird-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clicksend-vs-vonage.json",
        "title": "ClickSend SMS API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/clicksend-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-vs-vonage.json",
        "title": "Infobip API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/infobip-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-vs-vonage.json",
        "title": "Plivo API vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/plivo-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendblue-vs-vonage.json",
        "title": "Sendblue vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/sendblue-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sinch-vs-vonage.json",
        "title": "Sinch Messaging APIs + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/sinch-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/telnyx-vs-vonage.json",
        "title": "Telnyx API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/telnyx-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/twilio-vs-vonage.json",
        "title": "Twilio API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/twilio-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/360dialog-vs-telegram-bot.json",
        "title": "360dialog WhatsApp API + MCP vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/360dialog-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot.json",
        "title": "AWS End User Messaging vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-vs-telegram-bot.json",
        "title": "Bandwidth Messaging API + MCP vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/bandwidth-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot.json",
        "title": "Bird API + MCP vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clicksend-vs-telegram-bot.json",
        "title": "ClickSend SMS API + MCP vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/clicksend-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infobip-vs-telegram-bot.json",
        "title": "Infobip API + MCP vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/infobip-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plivo-vs-telegram-bot.json",
        "title": "Plivo API vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/plivo-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendblue-vs-telegram-bot.json",
        "title": "Sendblue vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/sendblue-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sinch-vs-telegram-bot.json",
        "title": "Sinch Messaging APIs + MCP vs Telegram Bot API",
        "url": "https://www.anchorterminal.com/compare/sinch-vs-telegram-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/telegram-bot-vs-telnyx.json",
        "title": "Telegram Bot API vs Telnyx API + MCP",
        "url": "https://www.anchorterminal.com/compare/telegram-bot-vs-telnyx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/telegram-bot-vs-twilio.json",
        "title": "Telegram Bot API vs Twilio API + MCP",
        "url": "https://www.anchorterminal.com/compare/telegram-bot-vs-twilio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/telegram-bot-vs-whatsapp-cloud-api.json",
        "title": "Telegram Bot API vs WhatsApp Business Platform (Cloud API)",
        "url": "https://www.anchorterminal.com/compare/telegram-bot-vs-whatsapp-cloud-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/360dialog-vs-vonage.json",
        "title": "360dialog WhatsApp API + MCP vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/360dialog-vs-vonage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vonage-vs-whatsapp-cloud-api.json",
        "title": "Vonage Messages API + MCP vs WhatsApp Business Platform (Cloud API)",
        "url": "https://www.anchorterminal.com/compare/vonage-vs-whatsapp-cloud-api"
      }
    ],
    "scores": [
      {
        "by": 37,
        "edge": "vonage",
        "key": "reliability",
        "name": "Reliability",
        "telegram-bot": 40,
        "vonage": 77,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 46,
        "edge": "vonage",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "telegram-bot": 44,
        "vonage": 90,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "vonage",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "telegram-bot": 48,
        "vonage": 50,
        "weight": 13
      },
      {
        "by": 38,
        "edge": "vonage",
        "key": "security",
        "name": "Security \u0026 auth",
        "telegram-bot": 35,
        "vonage": 73,
        "weight": 14
      },
      {
        "by": 3,
        "edge": "telegram-bot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "telegram-bot": 40,
        "vonage": 37,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "edge": "vonage",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "telegram-bot": 38,
        "vonage": 80,
        "weight": 7
      },
      {
        "by": 15,
        "edge": "telegram-bot",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "telegram-bot": 64,
        "vonage": 49,
        "weight": 7
      }
    ],
    "summary": "Vonage Messages API + MCP scores 66.8 (B) on agent readiness against Telegram Bot API's 43 (E), and leads in 5 of 7 scored categories. Telegram Bot API leads on transparency \u0026 trust. Both do inbound messaging.",
    "verdicts": {
      "telegram-bot": "Telegram's first-party bot interface is free, needs no card and documents 185 methods on one page with a dated changelog and numeric send limits. No OpenAPI document, status page, SLA or idempotency key was found, one token controls the whole bot and travels in the URL, and a person must create the bot in a chat with @BotFather.",
      "vonage": "POST /v1/messages covers six channels, with SMS failover for WhatsApp and RCS. No idempotency key, and channel rejections arrive only by status webhook after a 202."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/telegram-bot-vs-vonage",
    "json": "https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.md",
    "slim": "https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.min.md"
  },
  "markdown": "Vonage Messages API + MCP scores 66.8 (B) on agent readiness against Telegram Bot API's 43 (E), and leads in 5 of 7 scored categories. Telegram Bot API leads on transparency \u0026 trust. Both do inbound messaging.\n\n- Telegram Bot API: grade E, 43/100, rank #885 of 950. Markdown https://www.anchorterminal.com/tools/telegram-bot.md · JSON https://www.anchorterminal.com/api/v1/tools/telegram-bot.json\n- Vonage Messages API + MCP: grade B, 66.8/100, rank #274 of 950. Markdown https://www.anchorterminal.com/tools/vonage.md · JSON https://www.anchorterminal.com/api/v1/tools/vonage.json\n- Best SMS, WhatsApp and messaging APIs for AI agents: https://www.anchorterminal.com/best/messaging/index.md\n- All 91 messaging comparisons: https://www.anchorterminal.com/compare/messaging/index.md\n\n## Which one, for what\n\n### Telegram Bot API (E)\n\nGood for: An agent that talks to people who use Telegram, with free sends and long polling that needs no public server.\n\nAhead on:\n- Transparency \u0026 trust, 64 against 49\n\nWatch for: No OpenAPI document, llms.txt or official SDK was found. The contract is one HTML reference page of about 860 KB\n\n### Vonage Messages API + MCP (B)\n\nGood for: Agents that need several chat channels behind one call with SMS failover.\n\nAhead on:\n- Reliability, 77 against 40\n- Schema \u0026 documentation, 90 against 44\n- Security \u0026 auth, 73 against 35\n- Maintenance \u0026 community, 80 against 38\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: No idempotency key, and channel rejections arrive only by status webhook after a 202\n\n\n## Score by category\n\n| Category | Weight | Telegram Bot API | Vonage Messages API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 77 | Vonage Messages API + MCP +37 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 44 | 90 | Vonage Messages API + MCP +46 |\n| Agent ergonomics | 13% (16.2 this run) | 48 | 50 | Vonage Messages API + MCP +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 35 | 73 | Vonage Messages API + MCP +38 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 37 | Telegram Bot API +3 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 38 | 80 | Vonage Messages API + MCP +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 49 | Telegram Bot API +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43 · E** | **66.8 · B** | |\n\n## Facts side by side\n\n| Fact | Telegram Bot API | Vonage Messages API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Telegram Messenger Inc. | Vonage (Ericsson) |\n| Hosted endpoint | `https://api.telegram.org` | `https://api.nexmo.com/v1` |\n| Transports | HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Free | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted service under the Telegram Bot Platform Developer Terms of Service. The Bot API server source in tdlib/telegram-bot-api is BSL-1.0 | Apache-2.0 |\n| Tools exposed | none | 15 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.Vonage/vonage-documentation-mcp` |\n| Last release | 2026-08-24 | 2026-09-16 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2024-06-01 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 4.5k stars | 154k npm/wk, 67k PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**Telegram Bot API.** Telegram's first-party bot interface is free, needs no card and documents 185 methods on one page with a dated changelog and numeric send limits. No OpenAPI document, status page, SLA or idempotency key was found, one token controls the whole bot and travels in the URL, and a person must create the bot in a chat with @BotFather.\n\n**Vonage Messages API + MCP.** POST /v1/messages covers six channels, with SMS failover for WhatsApp and RCS. No idempotency key, and channel rejections arrive only by status webhook after a 202.\n\n## Before you call either\n\n### Telegram Bot API\n\n1. Send `POST https://api.telegram.org/bot\u003ctoken\u003e/sendMessage` with `chat_id` and `text`. Keep the token out of logs, because it is part of the URL.\n2. On HTTP 429 wait the `parameters.retry_after` seconds before retrying. Stay under one message a second per chat and 20 a minute per group.\n3. Call `getUpdates` with `offset` set to the last `update_id` plus one, or the same updates return. Updates are kept for at most 24 hours.\n4. A retried send can post twice, as there is no idempotency key. Record the returned `message_id` before retrying after a timeout.\n5. In groups the bot sees only commands and replies unless privacy mode is disabled in @BotFather or the bot is an admin.\n\n### Vonage Messages API + MCP\n\n1. Keep api.nexmo.com as the host, don't rewrite it to vonage.com\n2. Use the Messages API, not the legacy SMS API\n3. Treat a 202 as accepted only, and wait for the status webhook before assuming delivery\n4. Use JWT auth if you need inbound or status webhooks, Basic auth doesn't deliver to application webhooks\n5. Verify the webhook JWT and its payload_hash against the raw body\n\n## Questions\n\n### Which is better for AI agents, Telegram Bot API or Vonage Messages API + MCP?\n\nVonage Messages API + MCP scores 66.8 (B) on agent readiness against Telegram Bot API's 43 (E), and leads in 5 of 7 scored categories. Telegram Bot API leads on transparency \u0026 trust.\n\n### Do Telegram Bot API and Vonage Messages API + MCP need an API key?\n\nTelegram Bot API needs an API key. Vonage Messages API + MCP takes an API key or an OAuth sign-in.\n\n### Can an agent call Telegram Bot API and Vonage Messages API + MCP without installing anything?\n\nYes. Telegram Bot API has a hosted endpoint at https://api.telegram.org and Vonage Messages API + MCP at https://api.nexmo.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.json, and with the fewest tokens: https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"telegram-bot\", \"b\": \"vonage\"}`. From a terminal: `anchor compare telegram-bot vonage`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/telegram-bot.json and https://www.anchorterminal.com/api/v1/tools/vonage.json\n\n## Other comparisons with Telegram Bot API or Vonage Messages API + MCP\n\n- [AWS End User Messaging vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-vonage.md)\n- [Bandwidth Messaging API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/bandwidth-vs-vonage.md)\n- [Bird API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/bird-vs-vonage.md)\n- [ClickSend SMS API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/clicksend-vs-vonage.md)\n- [Infobip API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/infobip-vs-vonage.md)\n- [Plivo API vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/plivo-vs-vonage.md)\n- [Sendblue vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/sendblue-vs-vonage.md)\n- [Sinch Messaging APIs + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/sinch-vs-vonage.md)\n- [Telnyx API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/telnyx-vs-vonage.md)\n- [Twilio API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/twilio-vs-vonage.md)\n- [360dialog WhatsApp API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/360dialog-vs-telegram-bot.md)\n- [AWS End User Messaging vs Telegram Bot API](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot.md)\n- [Bandwidth Messaging API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/bandwidth-vs-telegram-bot.md)\n- [Bird API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/bird-vs-telegram-bot.md)\n- [ClickSend SMS API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/clicksend-vs-telegram-bot.md)\n- [Infobip API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/infobip-vs-telegram-bot.md)\n- [Plivo API vs Telegram Bot API](https://www.anchorterminal.com/compare/plivo-vs-telegram-bot.md)\n- [Sendblue vs Telegram Bot API](https://www.anchorterminal.com/compare/sendblue-vs-telegram-bot.md)\n- [Sinch Messaging APIs + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/sinch-vs-telegram-bot.md)\n- [Telegram Bot API vs Telnyx API + MCP](https://www.anchorterminal.com/compare/telegram-bot-vs-telnyx.md)\n- [Telegram Bot API vs Twilio API + MCP](https://www.anchorterminal.com/compare/telegram-bot-vs-twilio.md)\n- [Telegram Bot API vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/telegram-bot-vs-whatsapp-cloud-api.md)\n- [360dialog WhatsApp API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/360dialog-vs-vonage.md)\n- [Vonage Messages API + MCP vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/vonage-vs-whatsapp-cloud-api.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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": "Telegram Bot API vs Vonage Messages API + MCP",
        "url": ""
      }
    ],
    "description": "Vonage Messages scores 66.8 (B) to Telegram Bot's 43 (E) for inbound messaging. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Telegram Bot API E 43",
      "Vonage Messages API + MCP B 66.8",
      "scores"
    ],
    "h1": "Telegram Bot API vs Vonage Messages API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-telegram-bot-vs-vonage.png",
    "path": "/compare/telegram-bot-vs-vonage",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Telegram Bot vs Vonage Messages for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/telegram-bot-vs-vonage"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 780
  },
  "version": 1
}
