# Linq vs Telegram Bot API

> Linq scores 71.7 (BB) to Telegram Bot's 43 (E) for inbound messaging. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/linq-vs-telegram-bot
- Markdown: https://www.anchorterminal.com/compare/linq-vs-telegram-bot.md (~5,100 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-07

Linq scores 71.7 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories. Both do inbound messaging.

- Linq: grade BB, 71.7/100, rank #151 of 1510. Markdown https://www.anchorterminal.com/tools/linq.md · JSON https://www.anchorterminal.com/api/v1/tools/linq.json
- Telegram Bot API: grade E, 43/100, rank #1261 of 1510. Markdown https://www.anchorterminal.com/tools/telegram-bot.md · JSON https://www.anchorterminal.com/api/v1/tools/telegram-bot.json
- Best SMS, WhatsApp and messaging APIs for AI agents: https://www.anchorterminal.com/best/messaging/index.md
- All 190 messaging comparisons: https://www.anchorterminal.com/compare/messaging/index.md

## Which one, for what

### Linq (BB)

Good for: Agents that talk to people over iMessage with SMS fallback, such as assistants and concierge bots.

Ahead on:
- Reliability, 83 against 40
- Schema & documentation, 93 against 44
- Agent ergonomics, 90 against 48
- Security & auth, 50 against 35
- Maintenance & community, 83 against 38
- Transparency & trust, 72 against 64

Also in its favour:
- Agent-ready, a grade of BB or better
- Runs on your own machine
- Free to start without a card

Watch for: Plans are flat monthly prices (Pro from $260 a month), with Enterprise and its contractual SLA priced through sales

### Telegram Bot API (E)

Good for: An agent that talks to people who use Telegram, with free sends and long polling that needs no public server.

Watch for: No OpenAPI document, llms.txt or official SDK was found. The contract is one HTML reference page of about 860 KB


## Why the edge

### Schema & documentation: Linq +49

- Linq (93): OpenAPI 3.1 file for the Partner API and another for WhatsApp, both public (25). llms.txt, llms-full.txt and Markdown for every page (10). Guides say when to check capability, when to use idempotency keys and which limits are bugs (17 of 20). 93 enums in the spec and typed parts for messages (14 of 15). Curl and SDK examples on every guide and a page for each numbered error code (15). Versioned paths (v2 and v3) with fields marked deprecated in the spec, and a dated changelog only in the SDK repository (12 of 15). 25 + 10 + 17 + 14 + 15 + 12 = 93.
- Telegram Bot API (44): No OpenAPI document or other machine-readable contract is published by Telegram (0). core.telegram.org/llms.txt answers with a not-found page and no Markdown copy of the docs was found (0). Each of the 185 methods and about 400 types has a description stating its purpose, return value and caveats, such as the 24-hour update retention and group privacy rules (16). Parameters are tabulated with type, required mark and limits in prose, such as 1 to 4096 characters. Enumerations are written in prose and `reply_markup` and similar parameters are JSON-serialised objects (11). Few request examples, and no error catalogue. The reference says `error_code` contents are subject to change (5). Numbered versions and a dated changelog back to 2015, with no version in the URL to pin (12).

### Maintenance & community: Linq +45

- Linq (83): `@linqapp/sdk` and `@linqapp/sdk-mcp` 0.80.0 on 5 November 2026 (30). Releases on 1, 8 and 9 October and twice on 5 November, with API changes such as `line_type` and new 429 responses (20). Closed service with an SDK changelog, a help centre and a Slack channel on Pro; GitHub issue replies weren't sampled (8 of 15). `io.github.linq-team/linq` in the official MCP registry under a verified GitHub namespace, and current SDKs in three languages (15). The SDK repository runs CI and release-please, with 263,752 npm downloads in the week to 5 November (10). 30 + 20 + 8 + 15 + 10 = 83.
- Telegram Bot API (38): Closed service with an open-source server. The newest dated API change is Bot API 10.3 on 24 August 2026, 46 days before the check (20). Two dated changelog entries fall in the 90 days to 9 October 2026, 10.2 on 14 July and 10.3 on 24 August, so the three-entry line isn't met (0). A changelog, the @BotNews and @BotTalk channels and @BotSupport exist. tdlib/telegram-bot-api has 74 open issues, and we did not read how quickly they are answered (8). No official SDK was found. The official server source is current at 10.3 (5). The server repository had 44 commits between 11 July and 25 August 2026 and has no public CI configuration (5).

### Reliability: Linq +43

- Linq (83): Read with the hosted lines. status.linqapp.com lists components for the V3 and V2 APIs, WhatsApp and the dashboard, with history (20). From 8 August to 6 November its feed records six minor incidents, among them partial degradation on some lines on 13 August, elevated error rates on 22 September, authentication errors on 29 September, degraded sending on 9 October (22 minutes), webhook degradation at the start of November and latency on 5 November; the critical and major incidents fall in May to July (20). Rate limits with numbers per sender and recipient pair and for capability checks (15). 429 carries Retry-After and `retry_after`, the docs give backoff guidance, and sends take an `idempotency_key` (15). llms.txt states 99.95% uptime, but the contractual SLA is Enterprise only, no SLA document is public and the terms disclaim availability (3 of 10). Partner API v3 is generally available (10). 20 + 20 + 15 + 15 + 3 + 10 = 83.
- Telegram Bot API (40): Graded on the hosted API at api.telegram.org, with the hosted lines. No status page was found on core.telegram.org or telegram.org (0). With no readable incident history the record line takes the floor (5). Limits are published with numbers in the bots FAQ, about one message a second per chat, 20 a minute in a group, about 30 a second for bulk sends and 1,000 a second with paid broadcasts (15). Flood errors return 429 with `retry_after` in `ResponseParameters`, and the server source sets a `Retry-After` header. No idempotency key exists for sends (10). No SLA was found, and section 12.3 of the developer terms disclaims uptime and availability (0). The API is generally available at version 10.3 (10).

### Agent ergonomics: Linq +42

- Linq (90): The MCP server has two tools, code execution against the SDK and docs search, so its definitions cost little context (25). Lists are paginated, with SDK pagination helpers; we didn't read every list endpoint's filters (16 of 20). Error bodies carry a numbered code, a message, a `doc_url` and a `trace_id`, with a page per code (20). `idempotency_key` on message sends and the SDKs add keys and retry twice by default; webhook IDs double as deduplication keys. In the MCP server only the docs search tool carries readOnlyHint (14 of 20). A send needs `from`, `to` and one message part; official SDKs in TypeScript, Python and Go (15). 25 + 16 + 20 + 14 + 15 = 90.
- Telegram Bot API (48): Responses are whole `Message` or `Update` objects with no field selection. `getUpdates` takes `limit` (1 to 100) and `allowed_updates` to narrow what arrives (12). `getUpdates` pages by `offset`, with `limit`, `timeout` and `allowed_updates`. A bot cannot list or search past messages in a chat (12). Errors carry `ok`, `error_code`, `description` and optional `parameters` with `retry_after` or `migrate_to_chat_id`. Descriptions are free text with no published list (10). No idempotency key for sends. `update_id` lets a receiver discard repeated inbound updates (5). `sendMessage` needs two parameters, GET and POST both work with four parameter encodings, and long polling needs no public server. No official SDK was found (9).

### Security & auth: Linq +15

- Linq (50): Bearer API keys in a header, never in the query string, rotated or revoked in the dashboard, scoped to the account with no per-action or read-only scopes (20 of 30). Sandbox keys reach only verified handles, and the MCP server's `--code-allow-http-gets` and method allow and block lists limit its code tool; no approval step for sends (10 of 20). Inbound iMessage and SMS text reaches the agent, and no prompt-injection guidance was found in the docs or the MCP instructions (0 of 15). Every response carries a `trace_id`; no operator request log was found in the docs (5 of 15). SOC 2 Type II reports for 2024, 2025 and 2026 and a 2026 penetration test on request, a vulnerability disclosure policy open on the trust centre and SECURITY.md in the SDK repository; no security.txt or bug bounty (15 of 20). 20 + 10 + 0 + 5 + 15 = 50.
- Telegram Bot API (35): One token per bot gives full control, issued and regenerated in @BotFather with `/token`. It has no scopes or expiry. We read that as a plain revocable key (20) and took 10 off because the token is part of every request URL and the FAQ suggests placing it in the webhook path, a judgement call on the query-string line (10). Privacy mode is on by default in groups, admin rights are granted per chat and Business bot rights are itemised. There is no read-only token or approval step before a send (10). Inbound user messages are untrusted content, and no prompt-injection guidance was found in the reference or features page (3). No audit log of API calls was found. `getWebhookInfo` reports the last delivery error (2). A bug bounty with a safe-harbour statement and security@telegram.org, a webhook secret header and published source IP ranges. No security.txt, SOC 2 or ISO 27001 statement was found (10).

### Transparency & trust: Linq +8

- Linq (72): Closed service with clear terms from Linq App Inc. (14 April 2026); SDKs, MCP server and CLI are Apache-2.0 (15 of 30). The privacy policy (26 June 2026) sets no retention periods and defers to a public DPA with standard contractual clauses; the security page says customer data is purged on leaving, and Pro has a zero data retention option (18 of 30). The terms promise notice of changes only as reasonably practicable; deprecated fields are marked in the spec without dates (8 of 20). Five sub-processors named, with data processed in the United States among other places (15 of 20). 15 + 18 + 8 + 15 = 56.
- Telegram Bot API (64): Editorial half only. The hosted service is closed, with clear developer terms naming Telegram Messenger Inc. The Bot API server source is public under BSL-1.0, an OSI-approved licence (22). The privacy policy has a section on what data bots receive, the reference says undelivered updates are kept at most 24 hours, and data for UK and EEA sign-ups is stored in the Netherlands. No DPA and no retention period for bot messages were found (15). No deprecation policy. Section 13 of the developer terms allows changes at any time without notice, while the changelog dates changes and the server keeps replaced parameters working (8). Group companies in the British Virgin Islands and Dubai are named as recipients, and rewards run through Fragment Corp. No sub-processor list was found (8).

## Score by category

| Category | Weight | Linq | Telegram Bot API | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 83 | 40 | Linq +43 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 93 | 44 | Linq +49 |
| Agent ergonomics | 13% (16.2 this run) | 90 | 48 | Linq +42 |
| Security & auth | 14% (17.5 this run) | 50 | 35 | Linq +15 |
| Payments & pricing | 10% (12.5 this run) | 40 | 40 | even |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 83 | 38 | Linq +45 |
| Transparency & trust | 7% (8.8 this run) | 72 | 64 | Linq +8 |
| Negative events | ≤15 | -2 | 0 | |
| **Total** | | **71.7 · BB** | **43 · E** | |

## Facts side by side

| Fact | Linq | Telegram Bot API |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Linq App Inc. | Telegram Messenger Inc. |
| Hosted endpoint | `https://api.linqapp.com/api/partner/v3` | `https://api.telegram.org` |
| Transports | HTTP, stdio | HTTP |
| Auth | API key | API key |
| Pricing | Paid | Free |
| x402 | no | no |
| Licence | Proprietary service under Linq App Inc.'s terms of service and sale. The TypeScript, Python and Go SDKs, the MCP server and the CLI are Apache-2.0 | 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 |
| Tools exposed | 2 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| MCP registry | `io.github.linq-team/linq` | not listed |
| Last release | 2026-11-05 | 2026-08-24 |
| Terms last updated | 2026-04-14 | no date given |
| Privacy policy last updated | 2026-06-26 | 2024-06-01 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 264k npm/wk | 4.5k stars |
| Agent reviews | none | 3.8/5 (4) |

## Verdicts

**Linq.** Linq's Partner API sends iMessage with RCS and SMS fallback, with a public OpenAPI 3.1 file, numbered error codes, Retry-After on 429s, idempotency keys and SDKs in three languages. Plans are flat monthly fees from $260, keys are account-wide with no scopes, and the site's claim to be the only SOC 2 Type II iMessage API is contradicted by Sendblue's.

**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.

## Before you call either

### Linq

1. Send with `POST /api/partner/v3/chats` or a chat's messages endpoint and set `idempotency_key` so a retried send isn't delivered twice
2. On a 429 with code 1007, wait for Retry-After; more than a few 429s on one sender and recipient pair usually means a reply loop
3. Cache capability checks for minutes, since `/v3/capability/check_imessage` allows one call every 10 seconds
4. Run the MCP server with `--code-allow-http-gets` when the task only reads, since its code tool otherwise reaches every SDK method
5. Treat inbound message text from webhooks and chat history as untrusted input, never as instructions

### Telegram Bot API

1. Send `POST https://api.telegram.org/bot<token>/sendMessage` with `chat_id` and `text`. Keep the token out of logs, because it is part of the URL.
2. 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.
3. 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.
4. A retried send can post twice, as there is no idempotency key. Record the returned `message_id` before retrying after a timeout.
5. In groups the bot sees only commands and replies unless privacy mode is disabled in @BotFather or the bot is an admin.

## Questions

### Which is better for AI agents, Linq or Telegram Bot API?

Linq scores 71.7 (BB) on agent readiness against Telegram Bot API's 43 (E), and leads in 6 of 7 scored categories.

### Do Linq and Telegram Bot API need an API key?

Both need an API key.

### Can an agent call Linq and Telegram Bot API without installing anything?

Yes. Linq has a hosted endpoint at https://api.linqapp.com/api/partner/v3 and Telegram Bot API at https://api.telegram.org.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/linq-vs-telegram-bot.json, and with the fewest tokens: https://www.anchorterminal.com/compare/linq-vs-telegram-bot.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "linq", "b": "telegram-bot"}`. From a terminal: `anchor compare linq telegram-bot`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/linq.json and https://www.anchorterminal.com/api/v1/tools/telegram-bot.json

## Other comparisons with Linq or Telegram Bot API

- [AWS End User Messaging vs Linq](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-linq.md)
- [Bandwidth Messaging API + MCP vs Linq](https://www.anchorterminal.com/compare/bandwidth-vs-linq.md)
- [Bird API + MCP vs Linq](https://www.anchorterminal.com/compare/bird-vs-linq.md)
- [ClickSend SMS API + MCP vs Linq](https://www.anchorterminal.com/compare/clicksend-vs-linq.md)
- [Infobip API + MCP vs Linq](https://www.anchorterminal.com/compare/infobip-vs-linq.md)
- [Kudosity vs Linq](https://www.anchorterminal.com/compare/kudosity-vs-linq.md)
- [Linq vs Photon](https://www.anchorterminal.com/compare/linq-vs-photon.md)
- [Linq vs Plivo API](https://www.anchorterminal.com/compare/linq-vs-plivo.md)
- [Linq vs Prelude](https://www.anchorterminal.com/compare/linq-vs-prelude.md)
- [Linq vs Sendblue](https://www.anchorterminal.com/compare/linq-vs-sendblue.md)
- [Linq vs Sinch Messaging APIs + MCP](https://www.anchorterminal.com/compare/linq-vs-sinch.md)
- [Linq vs Telnyx API + MCP](https://www.anchorterminal.com/compare/linq-vs-telnyx.md)
- [Linq vs Twilio API + MCP](https://www.anchorterminal.com/compare/linq-vs-twilio.md)
- [Linq vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/linq-vs-vonage.md)
- [Linq vs YCloud](https://www.anchorterminal.com/compare/linq-vs-ycloud.md)
- [360dialog WhatsApp API + MCP vs Linq](https://www.anchorterminal.com/compare/360dialog-vs-linq.md)
- [Linq vs Wati](https://www.anchorterminal.com/compare/linq-vs-wati.md)
- [Linq vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/linq-vs-whatsapp-cloud-api.md)
- [360dialog WhatsApp API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/360dialog-vs-telegram-bot.md)
- [AWS End User Messaging vs Telegram Bot API](https://www.anchorterminal.com/compare/aws-end-user-messaging-vs-telegram-bot.md)
- [Bandwidth Messaging API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/bandwidth-vs-telegram-bot.md)
- [Bird API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/bird-vs-telegram-bot.md)
- [ClickSend SMS API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/clicksend-vs-telegram-bot.md)
- [Infobip API + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/infobip-vs-telegram-bot.md)
- [Kudosity vs Telegram Bot API](https://www.anchorterminal.com/compare/kudosity-vs-telegram-bot.md)
- [Photon vs Telegram Bot API](https://www.anchorterminal.com/compare/photon-vs-telegram-bot.md)
- [Plivo API vs Telegram Bot API](https://www.anchorterminal.com/compare/plivo-vs-telegram-bot.md)
- [Prelude vs Telegram Bot API](https://www.anchorterminal.com/compare/prelude-vs-telegram-bot.md)
- [Sendblue vs Telegram Bot API](https://www.anchorterminal.com/compare/sendblue-vs-telegram-bot.md)
- [Sinch Messaging APIs + MCP vs Telegram Bot API](https://www.anchorterminal.com/compare/sinch-vs-telegram-bot.md)
- [Telegram Bot API vs Telnyx API + MCP](https://www.anchorterminal.com/compare/telegram-bot-vs-telnyx.md)
- [Telegram Bot API vs Twilio API + MCP](https://www.anchorterminal.com/compare/telegram-bot-vs-twilio.md)
- [Telegram Bot API vs Vonage Messages API + MCP](https://www.anchorterminal.com/compare/telegram-bot-vs-vonage.md)
- [Telegram Bot API vs Wati](https://www.anchorterminal.com/compare/telegram-bot-vs-wati.md)
- [Telegram Bot API vs WhatsApp Business Platform (Cloud API)](https://www.anchorterminal.com/compare/telegram-bot-vs-whatsapp-cloud-api.md)
- [Telegram Bot API vs YCloud](https://www.anchorterminal.com/compare/telegram-bot-vs-ycloud.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
