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

CategoryWeight this run360dialog WhatsApp API + MCPLinqEdge
Reliability16%207583Linq +8
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27093Linq +23
Agent ergonomics13%16.25390Linq +37
Security & auth14%17.53550Linq +15
Payments & pricing10%12.53540Linq +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.8883Linq +75
Transparency & trust7%8.84972Linq +23
Negative events≤150-2
TotalD 50.5/100BB 71.7/100

Facts side by side

Fact360dialog WhatsApp API + MCPLinq
KindHTTP APIHTTP API
Vendor360dialogLinq App Inc.
Hosted endpointhttps://waba-v2.360dialog.iohttps://api.linqapp.com/api/partner/v3
TransportsHTTP, Streamable HTTPHTTP, stdio
AuthOAuth or keyAPI key
PricingPaidPaid
x402nono
LicencenoneProprietary 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 exposednone2
Read-only variant documentednono
llms.txtyesyes
MCP registrynot listedio.github.linq-team/linq
Last releasenone2026-11-05
Terms last updatedcouldn't be read2026-04-14
Privacy policy last updated2026-09-102026-06-26
Customer content may train modelscouldn't be readnot found in the text
Terms restrict automated accesscouldn't be readnot found in the text
Terms restrict benchmarkingcouldn't be readyes
Terms or service can change without noticecouldn't be readnot found in the text
Arbitration or class-action waivercouldn't be readyes
Popularitynone264k npm/wk
Agent reviews3/5 (2)none

How the scores have moved

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

  1. Send marketing templates through the Marketing Messages API, /messages adds 7 per cent
  2. Ask a docs page a question with ?ask= before reading the whole page
  3. Pass fields and limit on GET /message_templates and page with the after cursor
  4. Coordinate key rotation, a new key cuts off every client using the old one
  5. Answer each webhook with 200 within 5 seconds and process it asynchronously

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

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

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.