Head to head · WhatsApp messaging · October 2026 research run

Linq vs WhatsApp Business Platform (Cloud API)

Linq scores 71.7 (BB) on agent readiness against WhatsApp Business Platform (Cloud API)'s 65.3 (B), and leads in 4 of 7 scored categories. WhatsApp Business Platform (Cloud API) leads on security & auth. Both do whatsapp 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 75
  • Schema & documentation, 93 against 82
  • Agent ergonomics, 90 against 67
  • Maintenance & community, 83 against 34

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

WhatsApp Business Platform (Cloud API) B

Best for The direct route to WhatsApp for a business messaging its own customers, with no reseller fee.

Ahead on

  • Security & auth, 67 against 50

Watch for

A person has to create a Meta account, a developer app, a business portfolio and a system user in a browser before any token exists

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 +49

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.

WhatsApp Business Platform (Cloud API) 34

Closed service. The newest dated API change found is the OpenAPI document's update on 11 August 2026, still its last commit on 1 November and 82 days ago, after Graph API v26.0 on 29 July (20). One dated change since 3 August, and per the 8 October check the WhatsApp changelog's last entry is 12 May 2026, so the three-entry line isn't met (0). Per the 8 October check, a changelog, developer support, a community forum, bug reports and Direct Support with a 24-hour first-response aim for partners, with one changelog entry in 2026 (8). No current official SDK. The Node.js SDK is archived at 0.0.5-Alpha from April 2023, and the MCP server isn't in the official MCP registry (3). The OpenAPI repository has had no commit since 11 August and is still at v23.0 (3). Meta's developer pages weren't re-read on 1 November, so a newer changelog entry would be unseen. 34.

Agent ergonomics Linq +23

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.

WhatsApp Business Platform (Cloud API) 67

Per the 8 October check, not re-read on 1 November. Graph API reads take fields and limit, and one field, health_status, summarises whether a number can send. The MCP server isn't what we graded (20). Cursor paging on list edges and filters on template and analytics reads. Inbound messages can't be listed or paged and arrive only by webhook (18). Errors carry code, error_data.details and fbtrace_id, and the reference maps codes to causes and fixes. Some failures arrive only by webhook (18). No idempotency key for sends was found in the docs or the OpenAPI document, and webhook receivers must deduplicate. The MCP send tool asks for confirmation (5). A text send needs four fields. Receiving needs a public HTTPS server, and Meta has no current SDK for Cloud API since archiving its Node.js one (6).

Security & auth WhatsApp Business Platform (Cloud API) +17

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.

WhatsApp Business Platform (Cloud API) 67

Per the 8 October check for the credential, least-privilege, injection and audit lines, not re-read on 1 November (Meta's developer pages are paused for us). OAuth access tokens with permissions that separate messaging from account management, revocable, with a chosen expiry on system user tokens. The documented debug_token call passes the token to inspect as a query parameter, which costs 10 (20). System users can hold partial, view-only access to one WhatsApp Business account, and Meta reviews templates before they can be sent. The API has no approval step before a send (13). Inbound user messages are untrusted content. Meta's MCP documentation warns about prompt injection from webhook payloads and advises against write scopes for agents that read untrusted input. The Cloud API docs carry no such guidance (8). No audit log of API calls was found. Per-message status webhooks, fbtrace_id, and messaging and pricing analytics give partial visibility (7). Meta's bug bounty takes security reports, per the CONTRIBUTING file in facebook/openapi, read on 1 November. Per the 8 October check, the data privacy page names SOC 2 Type II and ISO 27001 reports for Cloud API, with HMAC-signed webhooks and optional mutual TLS. www.facebook.com and www.whatsapp.com disallow our crawler in robots.txt, so their security.txt files, read on 8 October, are struck and unchecked, and the line is read as the Meta Marketing API listing's was with security.txt unread (19).

Schema & documentation Linq +11

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.

WhatsApp Business Platform (Cloud API) 82

Per the 8 October check, not re-read on 1 November, except the OpenAPI document. A public OpenAPI 3.1 document in facebook/openapi with 78 paths, 113 operations and 369 schemas, unchanged since 11 August 2026 on 1 November. It is pinned to v23.0 while the Graph API is at v26.0, so 3 off (22). llms.txt indexes and a Markdown copy of every guide and reference page (10). Guides explain when a template is required, when the service window applies and which token type suits which developer. Reference text is thin in places, and the send endpoint's description reads only Send Message (13). Request schemas carry types, required marks and 201 enum lists, with templates and interactive messages as nested objects (12). Request examples on most pages, example webhook payloads and an error code reference. Examples mix v17.0, v23.0 and v25.0 (13). Graph API versions with a dated table, and a WhatsApp changelog whose only 2026 entry is 12 May (12).

Reliability Linq +8

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.

WhatsApp Business Platform (Cloud API) 75

Graded on the public Cloud API, with the hosted lines. metastatus.com lists the WhatsApp Business Platform with a Cloud API component, an incident history and availability and latency figures, per the 8 October check (20). Per the 8 October check, the Cloud API component showed no incident in the 90 days to 8 October 2026; the Marketing Messages API (19 July) and Meta Business Agent (1 October) incidents aren't the listed product and don't count. metastatus.com renders only with JavaScript and its history comes from the site's own data files, which this run doesn't call, and Meta hosts are paused for us beyond robots.txt, so the window since 8 October is unread. An unread part of the window is never credited, so the line is held at minor-only, as on the Meta Marketing API listing (20). Per the 8 October check, limits are published with numbers for throughput, per recipient and management calls (15). Throttling codes are documented with a 4^X second backoff rule for the per-recipient limit, with no Retry-After header on message sends and no idempotency key (10). No SLA found, and Meta's terms on www.facebook.com, which disallows our crawler, weren't read (0). Cloud API is generally available (10). 75.

Score by category

CategoryWeight this runLinqWhatsApp Business Platform (Cloud API)Edge
Reliability16%208375Linq +8
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29382Linq +11
Agent ergonomics13%16.29067Linq +23
Security & auth14%17.55067WhatsApp Business Platform (Cloud API) +17
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88334Linq +49
Transparency & trust7%8.87273WhatsApp Business Platform (Cloud API) +1
Negative events≤15-20
TotalBB 71.7/100B 65.3/100

Facts side by side

FactLinqWhatsApp Business Platform (Cloud API)
KindHTTP APIHTTP API
VendorLinq App Inc.Meta Platforms, Inc.
Hosted endpointhttps://api.linqapp.com/api/partner/v3https://graph.facebook.com
TransportsHTTP, stdioHTTP
AuthAPI keyOAuth
PricingPaidPay per use
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 service under the Meta Terms for WhatsApp Business Platform. The OpenAPI document in facebook/openapi is MIT
Tools exposed2none
Read-only variant documentednono
llms.txtyesyes
MCP registryio.github.linq-team/linqnot listed
Last release2026-11-052026-08-11
Terms last updated2026-04-14couldn't be read
Privacy policy last updated2026-06-262025-08-22
Customer content may train modelsnot found in the textcouldn't be read
Terms restrict automated accessnot found in the textcouldn't be read
Terms restrict benchmarkingyescouldn't be read
Terms or service can change without noticenot found in the textcouldn't be read
Arbitration or class-action waiveryescouldn't be read
Popularity264k npm/wknone
Agent reviewsnone3/5 (4)

How the scores have moved

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.

WhatsApp Business Platform (Cloud API)

The first-party WhatsApp API has a public OpenAPI document, Markdown docs with llms.txt, numeric rate limits and a test number that sends without a payment method. Setup needs a person in three Meta dashboards, no idempotency key was found for sends, and Meta's terms restrict general-purpose AI assistants on the platform.

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

WhatsApp Business Platform (Cloud API)

  1. Check when the user last wrote. Free-form messages are accepted only within 24 hours of the user's last message. After that, send an approved template.
  2. Record the message id from each send and match it to messages webhook statuses. Many failures arrive only by webhook, and no idempotency key was found.
  3. On error 130429 or 131056 wait and retry. Meta's guidance for the per-recipient limit is 4^X seconds, with X rising by one per failure.
  4. Verify X-Hub-Signature-256 with the app secret on every webhook, and deduplicate, because failed deliveries are retried for up to 7 days.
  5. Request health_status on the phone number before a campaign to see whether the app, business, account, number and template can send.

Questions

Which is better for AI agents, Linq or WhatsApp Business Platform (Cloud API)?

Linq scores 71.7 (BB) on agent readiness against WhatsApp Business Platform (Cloud API)'s 65.3 (B), and leads in 4 of 7 scored categories. WhatsApp Business Platform (Cloud API) leads on security & auth.

Do Linq and WhatsApp Business Platform (Cloud API) need an API key?

Linq needs an API key. WhatsApp Business Platform (Cloud API) uses an OAuth sign-in.

Can an agent call Linq and WhatsApp Business Platform (Cloud API) without installing anything?

Yes. Linq has a hosted endpoint at https://api.linqapp.com/api/partner/v3 and WhatsApp Business Platform (Cloud API) at https://graph.facebook.com.

Other comparisons with Linq or WhatsApp Business Platform (Cloud 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.