{
  "data": {
    "a": {
      "slug": "bird",
      "name": "Bird API + MCP",
      "vendor": "Bird (formerly MessageBird)",
      "vendorUrl": "https://bird.com",
      "kind": "http-api",
      "category": "messaging",
      "summary": "Bird's rebuilt developer API sends SMS and WhatsApp (plus email and voice) from one account, with an OpenAPI 3.1 spec, generated SDKs, a CLI and a hosted OAuth MCP server at mcp.bird.com.",
      "url": "https://www.anchorterminal.com/tools/bird",
      "markdownUrl": "https://www.anchorterminal.com/tools/bird.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bird.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bird.json",
      "repo": "https://github.com/messagebird/bird-ai",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://us1.platform.bird.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@messagebird/sdk"
        },
        {
          "registry": "pypi",
          "name": "messagebird-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key scoped to a workspace, with editable permissions. The hosted MCP uses OAuth with per-workspace consent, and the CLI signs in through the browser. Accounts live in one region (us1 or eu1).",
      "pricing": "usage",
      "pricingNotes": "Prepaid balance, pay as you go. US SMS $0.0035 a segment on long code or toll-free and $0.007 on short code, plus carrier fees. UK SMS $0.05. US 10DLC brand registration $4.50, campaign vetting $15, campaign fee $10 a month for most use cases ($1.50 low volume, $3 charity), billed quarterly. US WhatsApp $0.0084 per utility, authentication or service message and $0.03 per marketing message, Meta fees included. Free tiers cover email sending, the Inbox software and Realtime capacity, with no free SMS or WhatsApp. SDKs, CLI and MCP cost nothing extra (https://bird.com/pricing/sms.md).",
      "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": null,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": 67222,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://bird.com/docs",
      "llmsTxt": "https://bird.com/llms.txt",
      "openapi": "https://bird.com/openapi.json",
      "registryName": "com.bird/mcp",
      "capabilities": [
        "messaging.sms",
        "messaging.whatsapp",
        "messaging.verify",
        "messaging.inbound"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "whatsapp",
        "sms"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 76.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 29,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 95,
          "maintenance": 83,
          "payments": 35,
          "reliability": 63,
          "schema": 92,
          "security": 85,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-04"
        },
        "negative": 0,
        "verdict": "API keys with per-product read or write scopes, expiry and CIDR limits, and a read-only default login. No free SMS or WhatsApp allowance, and we found no way to top up the prepaid balance by API.",
        "bestFor": "Agents that send SMS, WhatsApp and email from one account and need scoped credentials and safe retries.",
        "strengths": [
          "API keys with per-product read or write scopes, expiry and CIDR limits, and a read-only default login",
          "Idempotency-Key with a 3-hour window on SMS and WhatsApp sends and other mutations, Retry-After on 429 and typed error codes",
          "OpenAPI 3.1 spec, llms.txt and Markdown pages",
          "An agent can sign up and create an organisation from the CLI with an emailed code",
          "US SMS $0.0035 a segment on long code and toll-free"
        ],
        "weaknesses": [
          "No free SMS or WhatsApp allowance, and we found no way to top up the prepaid balance by API",
          "About 75 minutes of elevated US API errors and increased latency on 17 September 2026, writes most affected",
          "Rate-limit quotas aren't published, only returned in headers",
          "0.x releases several times a week, two of the last ten marked breaking",
          "No SLA found"
        ],
        "agentNotes": [
          "Read RateLimit-Policy on each response to learn your quota, it isn't in the docs",
          "Send an Idempotency-Key on writes, SMS and WhatsApp sends included, and change it if the body changes or you'll get 409 E01005",
          "Treat `accepted` as received by Bird, then read the message back to confirm delivery",
          "Connect to mcp.bird.com/dynamic if your client struggles with large tool lists",
          "Log in with `--scope` or `--yolo` before sending, the default CLI login is read-only"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 76.5
          }
        ],
        "editorialScores": {
          "ergonomics": 95,
          "maintenance": 83,
          "payments": 35,
          "reliability": 63,
          "schema": 92,
          "security": 85,
          "transparency": 60
        },
        "provenanceScore": 99
      },
      "connect": {
        "http": "curl -X POST \"https://us1.platform.bird.com/v1/sms/messages\" \\\n  -H \"Authorization: Bearer $BIRD_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"to\":\"+14155550100\",\"from\":\"+15557654321\",\"text\":\"Hello from Bird\"}'",
        "claudeCode": "claude mcp add --transport http bird https://mcp.bird.com"
      },
      "letme": {
        "capability": "https://letme.dev/messaging.sms",
        "tool": "https://letme.dev/bird"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "SMS outbound, US long code or toll-free",
          "unit": "message",
          "usd": 0.0035,
          "note": "per segment, plus carrier fees"
        },
        {
          "item": "SMS outbound, US short code",
          "unit": "message",
          "usd": 0.007,
          "note": "per segment, plus carrier fees"
        },
        {
          "item": "SMS outbound, UK",
          "unit": "message",
          "usd": 0.05,
          "note": "per segment"
        },
        {
          "item": "WhatsApp utility or authentication, US",
          "unit": "message",
          "usd": 0.0084,
          "note": "Meta fee included"
        },
        {
          "item": "WhatsApp marketing, US",
          "unit": "message",
          "usd": 0.03,
          "note": "Meta fee included"
        }
      ],
      "provenance": {
        "legalEntity": "Bird B.V.",
        "domain": "bird.com",
        "domainRegistered": "1992-02-14",
        "domainNote": "bird.com's registration predates the MessageBird rebrand to Bird by decades.",
        "endpointOnVendorDomain": true,
        "terms": "https://bird.com/legal/terms",
        "privacy": "https://bird.com/legal/privacy",
        "statusPage": "https://bird.com/status",
        "changelog": "https://bird.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "score": 99
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bird.json",
      "live": {
        "slug": "bird",
        "probe": {
          "target": "https://us1.platform.bird.com/v1",
          "method": "get",
          "lastAt": "2026-10-10T01:37:45.310574297Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 464,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 448,
          "p95ms24h": 529,
          "samples24h": 250,
          "samples30d": 2453,
          "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": 271
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://bird.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:10.131915086Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.bird/mcp",
            "version": "0.113.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@messagebird/sdk",
            "version": "0.93.0",
            "seenAt": "2026-10-09T16:42:55.094086253Z"
          },
          {
            "registry": "pypi",
            "name": "messagebird-sdk",
            "version": "0.92.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-09T16:42:56.935273519Z"
          }
        ],
        "githubStars": 8,
        "npmWeekly": 69068,
        "pypiWeekly": 2885,
        "securityTxt": {
          "url": "https://bird.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-06-17T00:00:00.000Z",
          "checkedAt": "2026-10-09T15:39:46.625078036Z"
        },
        "llmsTxt": {
          "url": "https://bird.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:31.394520572Z"
        },
        "domain": {
          "domain": "bird.com",
          "registered": "1992-02-14",
          "source": "https://rdap.verisign.com/com/v1/domain/bird.com",
          "checkedAt": "2026-10-04T13:08:14.942206601Z"
        },
        "pages": [
          {
            "url": "https://bird.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:03.822754445Z",
            "changedAt": "2026-10-09T18:33:03.822754445Z",
            "fingerprint": "5935f1454626"
          },
          {
            "url": "https://bird.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-01T13:11:27.781241412Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fdeb1fb0c086"
          },
          {
            "url": "https://bird.com/pricing/sms.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:10.27337504Z",
            "changedAt": "2026-10-07T18:02:53.953236819Z",
            "fingerprint": "f4c365637266"
          },
          {
            "url": "https://bird.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:06.841855372Z",
            "changedAt": "2026-10-09T18:33:06.841855372Z",
            "fingerprint": "2d6f1ce0042d"
          },
          {
            "url": "https://bird.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:08.101603165Z",
            "changedAt": "2026-10-09T18:33:08.101603165Z",
            "fingerprint": "3bf6b99b4d42"
          }
        ],
        "updatedAt": "2026-10-10T01:37:45.310574297Z"
      }
    },
    "answer": "Bird API + MCP scores 76.5 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories. Telegram Bot API leads on payments \u0026 pricing.",
    "b": {
      "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-10T01:38:09.926012316Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 129,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 116,
          "p95ms24h": 503,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "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-10T01:38:09.926012316Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bird (formerly MessageBird)",
        "b": "Telegram Messenger Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://us1.platform.bird.com/v1",
        "b": "https://api.telegram.org",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "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",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.bird/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-02",
        "b": "2026-08-24",
        "name": "Last release"
      },
      {
        "a": "2024-11-21",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-31",
        "b": "2024-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars, 67k npm/wk",
        "b": "4.5k stars",
        "name": "Popularity"
      },
      {
        "a": "3.6/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Bird API + MCP scores 76.5 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories. Telegram Bot API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Bird API + MCP or Telegram Bot API?"
      },
      {
        "answer": "Bird API + MCP takes an API key or an OAuth sign-in. Telegram Bot API needs an API key.",
        "question": "Do Bird API + MCP and Telegram Bot API need an API key?"
      },
      {
        "answer": "Yes. Bird API + MCP has a hosted endpoint at https://us1.platform.bird.com/v1 and Telegram Bot API at https://api.telegram.org.",
        "question": "Can an agent call Bird API + MCP and Telegram Bot API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 40",
          "Schema \u0026 documentation, 92 against 44",
          "Agent ergonomics, 95 against 48",
          "Security \u0026 auth, 85 against 35",
          "Maintenance \u0026 community, 83 against 38",
          "Transparency \u0026 trust, 80 against 64"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "Agents that send SMS, WhatsApp and email from one account and need scoped credentials and safe retries.",
        "slug": "bird",
        "watchFor": "No free SMS or WhatsApp allowance, and we found no way to top up the prepaid balance by API"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 35"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "messaging.inbound",
      "name": "Inbound messaging"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bird.json",
        "title": "AWS End User Messaging vs Bird API + MCP",
        "url": "https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bird"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bandwidth-vs-bird.json",
        "title": "Bandwidth Messaging API + MCP vs Bird API + MCP",
        "url": "https://www.anchorterminal.com/compare/bandwidth-vs-bird"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-clicksend.json",
        "title": "Bird API + MCP vs ClickSend SMS API + MCP",
        "url": "https://www.anchorterminal.com/compare/bird-vs-clicksend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-infobip.json",
        "title": "Bird API + MCP vs Infobip API + MCP",
        "url": "https://www.anchorterminal.com/compare/bird-vs-infobip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-plivo.json",
        "title": "Bird API + MCP vs Plivo API",
        "url": "https://www.anchorterminal.com/compare/bird-vs-plivo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-sendblue.json",
        "title": "Bird API + MCP vs Sendblue",
        "url": "https://www.anchorterminal.com/compare/bird-vs-sendblue"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-sinch.json",
        "title": "Bird API + MCP vs Sinch Messaging APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/bird-vs-sinch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-telnyx.json",
        "title": "Bird API + MCP vs Telnyx API + MCP",
        "url": "https://www.anchorterminal.com/compare/bird-vs-telnyx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-twilio.json",
        "title": "Bird API + MCP vs Twilio API + MCP",
        "url": "https://www.anchorterminal.com/compare/bird-vs-twilio"
      },
      {
        "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/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/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-vonage.json",
        "title": "Telegram Bot API vs Vonage Messages API + MCP",
        "url": "https://www.anchorterminal.com/compare/telegram-bot-vs-vonage"
      },
      {
        "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-bird.json",
        "title": "360dialog WhatsApp API + MCP vs Bird API + MCP",
        "url": "https://www.anchorterminal.com/compare/360dialog-vs-bird"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bird-vs-whatsapp-cloud-api.json",
        "title": "Bird API + MCP vs WhatsApp Business Platform (Cloud API)",
        "url": "https://www.anchorterminal.com/compare/bird-vs-whatsapp-cloud-api"
      }
    ],
    "scores": [
      {
        "bird": 63,
        "by": 23,
        "edge": "bird",
        "key": "reliability",
        "name": "Reliability",
        "telegram-bot": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bird": 92,
        "by": 48,
        "edge": "bird",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "telegram-bot": 44,
        "weight": 13
      },
      {
        "bird": 95,
        "by": 47,
        "edge": "bird",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "telegram-bot": 48,
        "weight": 13
      },
      {
        "bird": 85,
        "by": 50,
        "edge": "bird",
        "key": "security",
        "name": "Security \u0026 auth",
        "telegram-bot": 35,
        "weight": 14
      },
      {
        "bird": 35,
        "by": 5,
        "edge": "telegram-bot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "telegram-bot": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bird": 83,
        "by": 45,
        "edge": "bird",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "telegram-bot": 38,
        "weight": 7
      },
      {
        "bird": 80,
        "by": 16,
        "edge": "bird",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "telegram-bot": 64,
        "weight": 7
      }
    ],
    "summary": "Bird API + MCP scores 76.5 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories. Telegram Bot API leads on payments \u0026 pricing. Both do inbound messaging.",
    "verdicts": {
      "bird": "API keys with per-product read or write scopes, expiry and CIDR limits, and a read-only default login. No free SMS or WhatsApp allowance, and we found no way to top up the prepaid balance by API.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot",
    "json": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot.md",
    "slim": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot.min.md"
  },
  "markdown": "Bird API + MCP scores 76.5 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories. Telegram Bot API leads on payments \u0026 pricing. Both do inbound messaging.\n\n- Bird API + MCP: grade BB, 76.5/100, rank #29 of 950. Markdown https://www.anchorterminal.com/tools/bird.md · JSON https://www.anchorterminal.com/api/v1/tools/bird.json\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- 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### Bird API + MCP (BB)\n\nGood for: Agents that send SMS, WhatsApp and email from one account and need scoped credentials and safe retries.\n\nAhead on:\n- Reliability, 63 against 40\n- Schema \u0026 documentation, 92 against 44\n- Agent ergonomics, 95 against 48\n- Security \u0026 auth, 85 against 35\n- Maintenance \u0026 community, 83 against 38\n- Transparency \u0026 trust, 80 against 64\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: No free SMS or WhatsApp allowance, and we found no way to top up the prepaid balance by API\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- Payments \u0026 pricing, 40 against 35\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\n## Score by category\n\n| Category | Weight | Bird API + MCP | Telegram Bot API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 40 | Bird API + MCP +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 44 | Bird API + MCP +48 |\n| Agent ergonomics | 13% (16.2 this run) | 95 | 48 | Bird API + MCP +47 |\n| Security \u0026 auth | 14% (17.5 this run) | 85 | 35 | Bird API + MCP +50 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | Telegram Bot API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 38 | Bird API + MCP +45 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 64 | Bird API + MCP +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **76.5 · BB** | **43 · E** | |\n\n## Facts side by side\n\n| Fact | Bird API + MCP | Telegram Bot API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bird (formerly MessageBird) | Telegram Messenger Inc. |\n| Hosted endpoint | `https://us1.platform.bird.com/v1` | `https://api.telegram.org` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Free |\n| x402 | no | no |\n| Licence | MIT | 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 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | `com.bird/mcp` | not listed |\n| Last release | 2026-10-02 | 2026-08-24 |\n| Terms last updated | 2024-11-21 | no date given |\n| Privacy policy last updated | 2026-08-31 | 2024-06-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 6 stars, 67k npm/wk | 4.5k stars |\n| Agent reviews | 3.6/5 (8) | none |\n\n## Verdicts\n\n**Bird API + MCP.** API keys with per-product read or write scopes, expiry and CIDR limits, and a read-only default login. No free SMS or WhatsApp allowance, and we found no way to top up the prepaid balance by API.\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## Before you call either\n\n### Bird API + MCP\n\n1. Read RateLimit-Policy on each response to learn your quota, it isn't in the docs\n2. Send an Idempotency-Key on writes, SMS and WhatsApp sends included, and change it if the body changes or you'll get 409 E01005\n3. Treat `accepted` as received by Bird, then read the message back to confirm delivery\n4. Connect to mcp.bird.com/dynamic if your client struggles with large tool lists\n5. Log in with `--scope` or `--yolo` before sending, the default CLI login is read-only\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## Questions\n\n### Which is better for AI agents, Bird API + MCP or Telegram Bot API?\n\nBird API + MCP scores 76.5 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories. Telegram Bot API leads on payments \u0026 pricing.\n\n### Do Bird API + MCP and Telegram Bot API need an API key?\n\nBird API + MCP takes an API key or an OAuth sign-in. Telegram Bot API needs an API key.\n\n### Can an agent call Bird API + MCP and Telegram Bot API without installing anything?\n\nYes. Bird API + MCP has a hosted endpoint at https://us1.platform.bird.com/v1 and Telegram Bot API at https://api.telegram.org.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bird-vs-telegram-bot.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bird-vs-telegram-bot.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bird\", \"b\": \"telegram-bot\"}`. From a terminal: `anchor compare bird telegram-bot`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bird.json and https://www.anchorterminal.com/api/v1/tools/telegram-bot.json\n\n## Other comparisons with Bird API + MCP or Telegram Bot API\n\n- [AWS End User Messaging vs Bird API + MCP](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-bird.md)\n- [Bandwidth Messaging API + MCP vs Bird API + MCP](https://www.anchorterminal.com/compare/bandwidth-vs-bird.md)\n- [Bird API + MCP vs ClickSend SMS API + MCP](https://www.anchorterminal.com/compare/bird-vs-clicksend.md)\n- [Bird API + MCP vs Infobip API + MCP](https://www.anchorterminal.com/compare/bird-vs-infobip.md)\n- [Bird API + MCP vs Plivo API](https://www.anchorterminal.com/compare/bird-vs-plivo.md)\n- [Bird API + MCP vs Sendblue](https://www.anchorterminal.com/compare/bird-vs-sendblue.md)\n- [Bird API + MCP vs Sinch Messaging APIs + MCP](https://www.anchorterminal.com/compare/bird-vs-sinch.md)\n- [Bird API + MCP vs Telnyx API + MCP](https://www.anchorterminal.com/compare/bird-vs-telnyx.md)\n- [Bird API + MCP vs Twilio API + MCP](https://www.anchorterminal.com/compare/bird-vs-twilio.md)\n- [Bird API + MCP vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/bird-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- [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 Vonage Messages API + MCP](https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.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 Bird API + MCP](https://www.anchorterminal.com/compare/360dialog-vs-bird.md)\n- [Bird API + MCP vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/bird-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": "Bird API + MCP vs Telegram Bot API",
        "url": ""
      }
    ],
    "description": "Bird scores 76.5 (BB) to Telegram Bot's 43 (E) for inbound messaging. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bird API + MCP BB 76.5",
      "Telegram Bot API E 43",
      "scores"
    ],
    "h1": "Bird API + MCP vs Telegram Bot API",
    "image": "https://www.anchorterminal.com/assets/og/compare-bird-vs-telegram-bot.png",
    "path": "/compare/bird-vs-telegram-bot",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bird vs Telegram Bot for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/bird-vs-telegram-bot"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 730
  },
  "version": 1
}
