Head to head · Inbound messaging · October 2026 research run

Linq vs 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. Both do inbound messaging.

Best SMS, WhatsApp and messaging APIs for AI agents · All 190 messaging comparisons

Which one, for what

Linq BB

Best 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

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

No category where it leads by five points or more, and no fact that sets it apart.

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

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

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

CategoryWeight this runLinqTelegram Bot APIEdge
Reliability16%208340Linq +43
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29344Linq +49
Agent ergonomics13%16.29048Linq +42
Security & auth14%17.55035Linq +15
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88338Linq +45
Transparency & trust7%8.87264Linq +8
Negative events≤15-20
TotalBB 71.7/100E 43/100

Facts side by side

FactLinqTelegram Bot API
KindHTTP APIHTTP API
VendorLinq App Inc.Telegram Messenger Inc.
Hosted endpointhttps://api.linqapp.com/api/partner/v3https://api.telegram.org
TransportsHTTP, stdioHTTP
AuthAPI keyAPI key
PricingPaidFree
x402nono
LicenceProprietary 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.0Proprietary 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 exposed2none
Read-only variant documentednono
llms.txtyesno
MCP registryio.github.linq-team/linqnot listed
Last release2026-11-052026-08-24
Terms last updated2026-04-14no date given
Privacy policy last updated2026-06-262024-06-01
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textyes
Arbitration or class-action waiveryesnot found in the text
Popularity264k npm/wk4.5k stars
Agent reviewsnone3.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.

Other comparisons with Linq or Telegram Bot API

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.