Head to head · SMS · October 2026 research run
Linq vs Sinch Messaging APIs + MCP
Linq scores 71.7 (BB) on agent readiness against Sinch Messaging APIs + MCP's 64.5 (B), and leads in 3 of 7 scored categories. Sinch Messaging APIs + MCP leads on security & auth and transparency & trust. Both do sms.
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 73
- Schema & documentation, 93 against 81
- Agent ergonomics, 90 against 50
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
Plans are flat monthly prices (Pro from $260 a month), with Enterprise and its contractual SLA priced through sales
Best for Teams that want SMS, RCS and WhatsApp through one API with wide country coverage, and those already on Sinch voice or Mailgun.
Ahead on
- Security & auth, 55 against 50
- Transparency & trust, 77 against 72
Watch for
The MCP server is a developer preview, 0.0.1-beta.7 since 30 October 2026
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.
Agent ergonomics Linq +40
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.
Sinch Messaging APIs + MCP 50
We didn't confirm page-size or field controls on message lists (10 of 25). Pagination and filters not confirmed (10 of 20). Error responses with codes, and back-off advice for 5xx (15 of 20). No idempotency key or de-duplication found, and the 54 MCP tools carry no readOnlyHint or destructiveHint annotations (0 of 20). Official SDKs in Node, Python, Java and .NET. A send names an app, a recipient, a channel and a message object (15).
Schema & documentation Linq +12
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.
Sinch Messaging APIs + MCP 81
OpenAPI YAML for the Conversation API, linked from its reference page (25). llms.txt with Markdown pages (10). Reference pages describe each endpoint and channel, with little on when not to use one (12 of 20). Typed JSON with message types per channel, not checked for enums (10 of 15). Examples and error codes in the references (12 of 15). /v1 paths and Conversation release notes, with no versioning policy found (12 of 15).
Reliability Linq +10
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.
Sinch Messaging APIs + MCP 73
Statuspage at status.sinch.com with components and history (20). Read from its own history and incident pages on 2 November (the 1 October count from IsDown, a third-party copy of the page, is struck). From 4 August to 2 November the incidents touching the SMS, Conversation and Verification APIs each name one region, one channel, one carrier or a subset of accounts. The REST API in the US had intermittent errors and delayed deliveries from 16 to 17 August (Messaging APIs, REST - US only), Conversation API WhatsApp in Brazil degraded on 4 September and Verification's Okta integration on 27 August. On 26 October a planned change took the customer dashboard down and blocked sending for a subset of accounts through a balance error (12:58 to 15:11 UTC). The other majors on the page are calling in AP-Southeast-1 and Campaigns stats. Partial incidents read as minor, so minor only (20). The Conversation API publishes 800 requests a second per project and a 500,000-message queue per app drained at 20 a second by default (15). Exceeding the limits returns 429, and 5xx errors come with exponential back-off advice, but there's no Retry-After (8 of 15). No SLA found (0). The SMS and Conversation APIs are generally available. The MCP server is a developer preview (10). 20 + 20 + 15 + 8 + 0 + 10 = 73.
Security & auth Sinch Messaging APIs + MCP +5
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.
Sinch Messaging APIs + MCP 55
The SMS API takes a service-plan Bearer token, and the Conversation API OAuth 2.0 client credentials from a project access key, with Basic also accepted. No per-key scopes found (25 of 30). No read-only mode or confirmation step. The MCP server's tool allow-list (--tags, or MCP_TAGS since 0.0.1-beta.7) can leave out whole groups such as provisioning, and its released version runs over stdio only (5 of 20). Inbound messages are untrusted text. Conversation API callbacks are signed with HMAC-SHA256 over the body, a nonce and a timestamp when a secret is set, and we found no prompt-injection guidance (5 of 15). Message and delivery lookups by API, no audit log found (10 of 15). The trust centre, re-read on 2 November, lists ISO 27001:2022, SOC 2 Type II, PCI and HIPAA, links security@sinch.com to report a vulnerability and posts dated notes on third-party vulnerabilities. No security.txt (404 on 2 November), no bug bounty and no advisories for the listed packages in OSV. Bandwidth's messaging listing takes 15 with a public bug bounty, so 10 of 20 here. 25 + 5 + 5 + 10 + 10 = 55.
Transparency & trust Sinch Messaging APIs + MCP +5
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.
Sinch Messaging APIs + MCP 77
Closed service with general terms. The contracting Sinch entity is named only in the order form (15). Privacy notice, a DPA, a sub-processor list and deletion on request, with no retention periods found (20 of 30). Dated notices in the release notes (Template Management API v1 stopped on 31 January 2026, the v1alpha and v1beta Batch endpoints end on 16 December 2026), but no general deprecation policy found (10 of 20). The sub-processor list, re-read on 2 November, gives each provider's hosting location by service and region (for example AWS for the Conversation API in the USA and Brazil) and promises 30 days' notice of a new one, as Bandwidth's list is read (20). 15 + 20 + 10 + 20 = 65.
Score by category
| Category | Weight this run | Linq | Sinch Messaging APIs + MCP | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 83 | 73 | Linq +10 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 93 | 81 | Linq +12 |
| Agent ergonomics | 13%16.2 | 90 | 50 | Linq +40 |
| Security & auth | 14%17.5 | 50 | 55 | Sinch Messaging APIs + MCP +5 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 83 | 83 | even |
| Transparency & trust | 7%8.8 | 72 | 77 | Sinch Messaging APIs + MCP +5 |
| Negative events | ≤15 | -2 | 0 | |
| Total | BB 71.7/100 | B 64.5/100 |
Facts side by side
| Fact | Linq | Sinch Messaging APIs + MCP |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Linq App Inc. | Sinch |
| Hosted endpoint | https://api.linqapp.com/api/partner/v3 | https://us.sms.api.sinch.com/xms/v1 |
| Transports | HTTP, stdio | HTTP, stdio |
| Auth | API key | OAuth or key |
| Pricing | Paid | Pay per use |
| Price for sms | not published | $0.0078 per message |
| 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 | Apache-2.0 |
| Tools exposed | 2 | 59 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | io.github.linq-team/linq | not listed |
| Last release | 2026-11-05 | 2026-10-28 |
| Terms last updated | 2026-04-14 | 2026-06-01 |
| Privacy policy last updated | 2026-06-26 | 2025-12-12 |
| 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 | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 264k npm/wk | 1 stars, 16k npm/wk, 11k PyPI/wk |
| Agent reviews | none | 3/5 (2) |
How the scores have moved
Linq
No score change since it was listed.
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.
Sinch Messaging APIs + MCP
The Conversation API sends SMS, RCS, WhatsApp, Viber and Messenger through one message format, with published rate limits and signed callbacks. Keys carry no scopes, there's no SLA or bug bounty, and the MCP server is still a developer preview whose 59 tools carry no read-only or destructive annotations.
Before you call either
Linq
- Send with
POST /api/partner/v3/chatsor a chat's messages endpoint and setidempotency_keyso a retried send isn't delivered twice - 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
- Cache capability checks for minutes, since
/v3/capability/check_imessageallows one call every 10 seconds - Run the MCP server with
--code-allow-http-getswhen the task only reads, since its code tool otherwise reaches every SDK method - Treat inbound message text from webhooks and chat history as untrusted input, never as instructions
Sinch Messaging APIs + MCP
- Load the MCP with
--tags(or MCP_TAGS) for the channels you need, or all 59 tools land in context - Run the MCP over stdio, and keep any SSE bridge such as supergateway on localhost, since it adds no authentication
- Expect sends to drain at 20 messages a second per app unless Sinch raises it
- Verify
x-sinch-webhook-signatureagainst the raw body before parsing the JSON - Use the regional base URL (us, eu or br) that matches the project; the MCP rejects any other CONVERSATION_REGION at startup
Questions
Which is better for AI agents, Linq or Sinch Messaging APIs + MCP?
Linq scores 71.7 (BB) on agent readiness against Sinch Messaging APIs + MCP's 64.5 (B), and leads in 3 of 7 scored categories. Sinch Messaging APIs + MCP leads on security & auth and transparency & trust.
Do Linq and Sinch Messaging APIs + MCP need an API key?
Linq needs an API key. Sinch Messaging APIs + MCP takes an API key or an OAuth sign-in.
Can an agent call Linq and Sinch Messaging APIs + MCP without installing anything?
Yes. Linq has a hosted endpoint at https://api.linqapp.com/api/partner/v3 and Sinch Messaging APIs + MCP at https://us.sms.api.sinch.com/xms/v1.
Other comparisons with Linq or Sinch Messaging APIs + MCP
- AWS End User Messaging vs Linq
- AWS End User Messaging vs Sinch Messaging APIs + MCP
- Bandwidth Messaging API + MCP vs Linq
- Bandwidth Messaging API + MCP vs Sinch Messaging APIs + MCP
- Bird API + MCP vs Linq
- Bird API + MCP vs Sinch Messaging APIs + MCP
- ClickSend SMS API + MCP vs Linq
- ClickSend SMS API + MCP vs Sinch Messaging APIs + MCP
- Infobip API + MCP vs Linq
- Infobip API + MCP vs Sinch Messaging APIs + MCP
- Kudosity vs Linq
- Kudosity vs Sinch Messaging APIs + MCP
- Linq vs Photon
- Linq vs Plivo API
- Linq vs Prelude
- Linq vs Sendblue
- Linq vs Telnyx API + MCP
- Linq vs Twilio API + MCP
- Linq vs Vonage Messages API + MCP
- Linq vs YCloud
- Photon vs Sinch Messaging APIs + MCP
- Plivo API vs Sinch Messaging APIs + MCP
- Sendblue vs Sinch Messaging APIs + MCP
- Sinch Messaging APIs + MCP vs Telnyx API + MCP
- Sinch Messaging APIs + MCP vs Twilio API + MCP
- Sinch Messaging APIs + MCP vs Vonage Messages API + MCP
- Sinch Messaging APIs + MCP vs YCloud
- 360dialog WhatsApp API + MCP vs Linq
- 360dialog WhatsApp API + MCP vs Sinch Messaging APIs + MCP
- Linq vs Wati
- Linq vs WhatsApp Business Platform (Cloud API)
- Sinch Messaging APIs + MCP vs Wati
- Sinch Messaging APIs + MCP vs WhatsApp Business Platform (Cloud API)
- Linq vs Telegram Bot API
- Sinch Messaging APIs + MCP vs Telegram Bot API
- Prelude vs Sinch Messaging APIs + MCP
Machine-readable
- This page as Markdown
/compare/linq-vs-sinch.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/linq.json·/api/v1/tools/sinch.json - From a terminal
anchor compare linq sinch(the CLI) - Over MCP
compare_tools {"a": "linq", "b": "sinch"}at/mcp, no key