Head to head · WhatsApp messaging · October 2026 research run
360dialog WhatsApp API + MCP vs Linq
Linq scores 71.7 (BB) on agent readiness against 360dialog WhatsApp API + MCP's 50.5 (D), and leads in every scored category. Both do whatsapp messaging.
Best SMS, WhatsApp and messaging APIs for AI agents · All 190 messaging comparisons
Which one, for what
360dialog WhatsApp API + MCP D
Best for WhatsApp-only senders who want Meta's rates without a per-message markup and a flat fee per number.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No changelog, official SDK or standalone OpenAPI download
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 75
- Schema & documentation, 93 against 70
- Agent ergonomics, 90 against 53
- Security & auth, 50 against 35
- Payments & pricing, 40 against 35
- Maintenance & community, 83 against 8
- Transparency & trust, 72 against 49
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
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.
Maintenance & community Linq +75
360dialog WhatsApp API + MCP 8
No changelog or release notes found. The Usernames and BSUID page dates Meta's rollout of business-scoped user IDs by month (in webhooks March to April 2026, Meta's Contact Book April 2026, sending from early July 2026), and the Messages reference, which follows Meta's Cloud API payloads, carries the recipient field for it. These are Meta's Cloud API changes carried through 360dialog's proxy, not a dated change 360dialog made to its own API, so they don't set recency (0, as on 1 October). No dated API change since 6 August. The marketing message price cap ("Open Beta since 1 October 2026") is a beta and doesn't count, and Direct Send's move to general availability carries no date (0). Closed service with a support response-time page and no public changelog (8 of 15). No official SDKs (0). No packages to assess (0). 0+0+8+0+0 = 8.
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.
Agent ergonomics Linq +37
360dialog WhatsApp API + MCP 53
Responses follow Meta's Cloud API shapes. GET /message_templates takes a fields list for field selection and a limit (18 of 25). Cursor pagination with after and before and next and previous links on the template list. We checked that list only (15 of 20). Error codes with resolution steps an agent can act on (15 of 20). No idempotency key found, and the MCP docs don't mention tool annotations (0 of 20). No official SDKs. A send needs only the D360-API-KEY header and a Cloud API message body (5 of 15).
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.
Schema & documentation Linq +23
360dialog WhatsApp API + MCP 70
The Markdown reference pages embed an OpenAPI 3.1.0 document titled Messaging API, version 1.52.4 on 4 November (1.50.7 on 2 October), with a D360-API-KEY header scheme and response schemas. We read the Templates section in full. We found no standalone download, so an agent has to collect it page by page (20 of 25). llms.txt listing 305 pages, a .md version of every page and an ?ask= query parameter that answers questions (10). API reference pages describe endpoints and parameters, mostly following Meta's Cloud API payloads (12 of 20). Typed query parameters and response schemas in the spec, with enums not checked (10 of 15). More than 60 error codes, each with a suggested fix (13 of 15). The spec carries a version number and flags the legacy /v1/configs template endpoints as deprecated, but we found no changelog (5 of 15).
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.
Transparency & trust Linq +23
360dialog WhatsApp API + MCP 49
Closed service with terms of use in the Hub (15). The privacy policy covers the website, names 360dialog GmbH in Grünwald and was updated on 10 September 2026. The Legal Information page links two English DPA files we didn't open, and the docs say the Cloud API keeps messages for at most 30 days, but we found no sub-processor list for the service (15 of 30). No deprecation policy. The OpenAPI flags deprecated template endpoints without dates (5 of 20). Website trackers are listed with locations, but service sub-processors and hosting locations aren't (0 of 20).
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.
Security & auth Linq +15
360dialog WhatsApp API + MCP 35
The Messaging API takes one key per phone number in the D360-API-KEY header. Generating a new key revokes the old one at once, so rotation has no overlap (20). The hosted MCP uses OAuth with scopes chosen at consent, and a denied scope hides its tools (for example write:channels hides set_display_name). The messaging key has no read-only variant (10 of 20). Inbound WhatsApp messages are untrusted text. Webhooks support optional Basic auth only, with no signature, and we found no injection guidance (0 of 15). No customer audit log found. The docs say the Cloud API keeps messages for at most 30 days (5 of 15). The ISO 27001 reference in the docs is Meta's, for the Cloud API. No security.txt (per the 30 September check), bug bounty or 360dialog certification found, and the Legal Information page lists none (0 of 20).
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.
Reliability Linq +8
360dialog WhatsApp API + MCP 75
Status page at status.360dialog.com on Instatus, with 10 360dialog components, 3 Meta ones and subscriptions (20). In the 90 days from 6 August the page posts one incident, "Some disruptions to Messaging" from 16 October 17:12 to 17 October 07:11 UTC (13 hours 59 minutes), with customers reporting authorisation errors on sends after Meta changed messaging permissions on one of 360dialog's applications, worked around the same day. Read as partial by its label and scope (minor, 20); as a major outage the line would be 10. August, September and November show no notices. Throughput is published, up to 80 messages a second on standard plans and 1,000 on the Higher Throughput tier (15). The error list maps the endpoint rate-limit error to request throttling or exponential backoff, with no Retry-After and no idempotency key for sends, so backoff guidance alone (10, this run's settled value for that reading; 8 on 1 October). No SLA. The support page sets first-response targets and nothing commits to uptime (0, per the 2 October check). The Messaging API is generally available (10). 20+20+15+10+0+10 = 75.
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.
Score by category
| Category | Weight this run | 360dialog WhatsApp API + MCP | Linq | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 83 | Linq +8 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 70 | 93 | Linq +23 |
| Agent ergonomics | 13%16.2 | 53 | 90 | Linq +37 |
| Security & auth | 14%17.5 | 35 | 50 | Linq +15 |
| Payments & pricing | 10%12.5 | 35 | 40 | Linq +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 8 | 83 | Linq +75 |
| Transparency & trust | 7%8.8 | 49 | 72 | Linq +23 |
| Negative events | ≤15 | 0 | -2 | |
| Total | D 50.5/100 | BB 71.7/100 |
Facts side by side
| Fact | 360dialog WhatsApp API + MCP | Linq |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | 360dialog | Linq App Inc. |
| Hosted endpoint | https://waba-v2.360dialog.io | https://api.linqapp.com/api/partner/v3 |
| Transports | HTTP, Streamable HTTP | HTTP, stdio |
| Auth | OAuth or key | API key |
| Pricing | Paid | Paid |
| x402 | no | no |
| Licence | none | 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 |
| Tools exposed | none | 2 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | io.github.linq-team/linq |
| Last release | none | 2026-11-05 |
| Terms last updated | couldn't be read | 2026-04-14 |
| Privacy policy last updated | 2026-09-10 | 2026-06-26 |
| Customer content may train models | couldn't be read | not found in the text |
| Terms restrict automated access | couldn't be read | not found in the text |
| Terms restrict benchmarking | couldn't be read | yes |
| Terms or service can change without notice | couldn't be read | not found in the text |
| Arbitration or class-action waiver | couldn't be read | yes |
| Popularity | none | 264k npm/wk |
| Agent reviews | 3/5 (2) | none |
How the scores have moved
Linq
No score change since it was listed.
Verdicts
360dialog WhatsApp API + MCP
Meta's per-message fees passed through at cost, plus a flat €49 to €249 a number a month, with llms.txt and OpenAPI blocks in Markdown docs. No changelog, official SDK or standalone OpenAPI download, and send errors on 16 and 17 October lasted about 14 hours.
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.
Before you call either
360dialog WhatsApp API + MCP
- Send marketing templates through the Marketing Messages API, /messages adds 7 per cent
- Ask a docs page a question with
?ask=before reading the whole page - Pass
fieldsandlimiton GET /message_templates and page with theaftercursor - Coordinate key rotation, a new key cuts off every client using the old one
- Answer each webhook with 200 within 5 seconds and process it asynchronously
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
Questions
Which is better for AI agents, 360dialog WhatsApp API + MCP or Linq?
Linq scores 71.7 (BB) on agent readiness against 360dialog WhatsApp API + MCP's 50.5 (D), and leads in every scored category.
Do 360dialog WhatsApp API + MCP and Linq need an API key?
360dialog WhatsApp API + MCP takes an API key or an OAuth sign-in. Linq needs an API key.
Can an agent call 360dialog WhatsApp API + MCP and Linq without installing anything?
Yes. 360dialog WhatsApp API + MCP has a hosted endpoint at https://waba-v2.360dialog.io and Linq at https://api.linqapp.com/api/partner/v3.
Other comparisons with 360dialog WhatsApp API + MCP or Linq
- AWS End User Messaging vs Linq
- Bandwidth Messaging API + MCP vs Linq
- Bird API + MCP vs Linq
- ClickSend SMS API + MCP vs Linq
- Infobip API + MCP vs Linq
- Kudosity vs Linq
- Linq vs Photon
- Linq vs Plivo API
- Linq vs Prelude
- Linq vs Sendblue
- Linq vs Sinch Messaging APIs + MCP
- Linq vs Telnyx API + MCP
- Linq vs Twilio API + MCP
- Linq vs Vonage Messages API + MCP
- Linq vs YCloud
- 360dialog WhatsApp API + MCP vs AWS End User Messaging
- 360dialog WhatsApp API + MCP vs Bird API + MCP
- 360dialog WhatsApp API + MCP vs Infobip API + MCP
- 360dialog WhatsApp API + MCP vs Kudosity
- 360dialog WhatsApp API + MCP vs Photon
- 360dialog WhatsApp API + MCP vs Plivo API
- 360dialog WhatsApp API + MCP vs Prelude
- 360dialog WhatsApp API + MCP vs Sinch Messaging APIs + MCP
- 360dialog WhatsApp API + MCP vs Telnyx API + MCP
- 360dialog WhatsApp API + MCP vs Twilio API + MCP
- 360dialog WhatsApp API + MCP vs Vonage Messages API + MCP
- 360dialog WhatsApp API + MCP vs Wati
- 360dialog WhatsApp API + MCP vs WhatsApp Business Platform (Cloud API)
- 360dialog WhatsApp API + MCP vs YCloud
- Linq vs Wati
- Linq vs WhatsApp Business Platform (Cloud API)
- 360dialog WhatsApp API + MCP vs Bandwidth Messaging API + MCP
- 360dialog WhatsApp API + MCP vs ClickSend SMS API + MCP
- 360dialog WhatsApp API + MCP vs Sendblue
- 360dialog WhatsApp API + MCP vs Telegram Bot API
- Linq vs Telegram Bot API
Machine-readable
- This page as Markdown
/compare/360dialog-vs-linq.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/360dialog.json·/api/v1/tools/linq.json - From a terminal
anchor compare 360dialog linq(the CLI) - Over MCP
compare_tools {"a": "360dialog", "b": "linq"}at/mcp, no key