Head to head · SMS · October 2026 research run

Bandwidth Messaging API + MCP vs Prelude

Bandwidth Messaging API + MCP scores 70.6 (BB) on agent readiness against Prelude's 67.6 (B), and leads in 4 of 7 scored categories. Prelude leads on schema & documentation, agent ergonomics and maintenance & community. Both do sms.

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

Which one, for what

Bandwidth Messaging API + MCP BB

Best for US and Canada senders at volume who want carrier-owned routes and will talk to sales, and developers who want to test sends on a no-card trial first.

Ahead on

  • Reliability, 75 against 65
  • Payments & pricing, 40 against 30
  • Transparency & trust, 75 against 42

Also in its favour

  • Agent-ready, a grade of BB or better
  • Runs on your own machine

Watch for

Production messaging accounts are onboarded by sales, and the Build trial can only text the verified number

Prelude B

Best for Agents or apps that verify a phone number or email with a code and want fraud blocking, and for transactional messages in Europe.

Ahead on

  • Schema & documentation, 93 against 86
  • Agent ergonomics, 85 against 73
  • Maintenance & community, 83 against 78

Watch for

The terms, privacy policy and legal notice are Notion pages drawn by script, unreadable by our reader

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.

Transparency & trust Bandwidth Messaging API + MCP +33

Bandwidth Messaging API + MCP 75

Closed service with clear terms (communications services agreement). The MCP server repository still has no licence file (15). Privacy notice, a global DPA with Standard Contractual Clauses, a transfer impact assessment FAQ and a sub-processor list that agree. No retention periods found (20 of 30). The legacy credential migration is documented, with no dated deprecation policy found (5 of 20). The sub-processor list (last updated 31 March 2026) names each provider with the product it supports and the location of processing, such as AWS for hosting in the USA and EU (20). 15 + 20 + 5 + 20 = 60.

Prelude 42

Closed service whose general terms are a Notion page drawn by script, which we couldn't read; the SDKs are Apache-2.0 (8 of 30). The privacy policy is also unreadable for the same reason, and the trust centre names no retention periods or data locations (3 of 30). v1 and v2 are documented side by side and the changelog dates changes by month, with no deprecation policy found (6 of 20). No sub-processor list or data locations found (0 of 20). 8 + 3 + 6 + 0 = 17.

Agent ergonomics Prelude +12

Bandwidth Messaging API + MCP 73

listMessages needs at least one filter and pages its results, with no field selection (15 of 25). Filters on to, from, message ID and date range (20). Structured errors, and the MCP maps failures to codes such as rate_limited and auth with retry advice (18 of 20). No idempotency key on sends. Excess messages queue rather than fail (5 of 20). Official SDKs in six languages. A send needs to, from, applicationId and text after an OAuth token exchange (15).

Prelude 85

List calls take limit from 1 to 200 with cursor or offset; the MCP server's tool list isn't on the docs page, so its size is unchecked (18 of 25). Cursor and offset pagination with filters (18 of 20). Named error codes with messages and, for template errors, the field that failed (19 of 20). Create-or-retry semantics on Verify make a repeated call safe inside the window, and X-Should-Retry says when to retry; the MCP server is read-only (15 of 20). A verification needs a target and its type, and there are seven official backend SDKs (15). 18 + 18 + 19 + 15 + 15 = 85.

Reliability Bandwidth Messaging API + MCP +10

Bandwidth Messaging API + MCP 75

Statuspage at status.bandwidth.com with datacentre, market and messaging components (20). Read from its own history 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 messaging incidents each name one carrier, one country or provisioning only, among them AT&T 10DLC spam rejections on 7 October (20 minutes, AT&T destinations), AT&T, Verizon and T-Mobile MMS delays, Australia SMS on 20 October, a Symbio-only incident on 18 August and messaging provisioning delays on 1 and 2 October that Bandwidth called limited in scope. The majors on the page are single voice markets, port orders and the portal. Partial incidents read as minor, so minor only (20). Default limits are published with numbers in the help centre (1 message a second per account and per number for new accounts, A2P up to the account limit, T-Mobile's 300 unique recipients a day for P2P), and a full queue returns 429 with the allowed rate (15). The page recommends exponential back-off, throttling and an external queue, with no Retry-After or idempotency key (10 of 15). No SLA found (0). The Messaging API is generally available. The MCP server is beta (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.

Prelude 65

Read with the hosted lines. status.prelude.so has components for Verify, Auth, Watch, Intel, Notify and the dashboard, with history (20). From 8 August to 6 November its feed records one major incident, increased error rates and latencies across the APIs on 16 and 17 August, posted after it was resolved with no duration stated, and minor ones such as Verify latency on 9 and 10 August, SMS degradation in China and on Orange France and delayed webhooks on 23 October (10). No numeric API rate limits were found; only the MCP server's limits and per-window Verify retry limits are documented (7 of 15). A 429 carries Retry-After and X-Should-Retry, and repeating the create call inside the window performs a retry rather than a new verification (13 of 15). The pricing page lists a 99.95 SLA on Enterprise with no SLA document found (5 of 10). Verify and Notify v2 are generally available (10). 20 + 10 + 7 + 13 + 5 + 10 = 65.

Payments & pricing Bandwidth Messaging API + MCP +10

Bandwidth Messaging API + MCP 40

No x402, MPP or L402 (0). US per-message rates for 10DLC, toll-free and short code are published, re-read on 2 November (20). Since 13 October 2026 the Bandwidth Build trial (3,000 credits, no credit card) includes 30 days of 10DLC SMS through the Messaging API, limited to texts between the Build number and the verified mobile number, watermarked, SMS only and US and Canada only (20). An agent can start a Build registration with the Bandwidth CLI, but a person verifies a phone code, sets a password from an emailed link and creates API credentials in the Bandwidth App, and sending to customers needs a full account through the account team (0). 0 + 20 + 20 + 0 = 40.

Prelude 30

No x402, MPP or L402 (0). Per-verification price (€0.032) and per-message Notify prices published without login (20). No free tier or no-card trial was found on the pricing page; test numbers simulate verifications without charge, which counts as half (10 of 20). A person signs up in the dashboard (0). 0 + 20 + 10 + 0 = 30.

Schema & documentation Prelude +7

Bandwidth Messaging API + MCP 86

OpenAPI spec at dev.bandwidth.com/spec/messaging.yml (25). llms.txt linking Markdown versions of the docs, re-read on 2 November (10). Pages explain each endpoint and callback event, with less on when not to use one (14 of 20). Typed request bodies from the spec (13 of 15). Structured 429 bodies with a type and description, and a messaging errors page. We didn't recheck the full messaging error list (12 of 15). Versioned /api/v2 path and dated release notes (12 of 15). Total 86.

Prelude 93

OpenAPI for the 27 SDK endpoints is public at the URL in the SDK repository's .stats.yml, and every reference page embeds its endpoint's OpenAPI (25). llms.txt and Markdown pages (10). Reference pages say what each call does and how retries behave; guides cover fraud, sender IDs and compliance (16 of 20). Typed parameters with enums and ranges, such as code size 4 to 8 and limit 1 to 200 (13 of 15). Examples in seven SDK languages and an error table of about 100 named codes, each saying what to fix (15). Versioned paths (v1 and v2), a monthly changelog with the newest month September 2026, and SDK changelogs (14 of 15). 25 + 10 + 16 + 13 + 15 + 14 = 93.

Maintenance & community Prelude +5

Bandwidth Messaging API + MCP 78

Dated release notes, the latest on 16 October 2026 (30). Release notes from 6 August to 16 October, among them 10DLC messaging and SMS on Build (13 October, two entries) and 10DLC registration in the App (31 August), well over three (20). Closed service with release notes and account management. The MCP repository's last commit is still 21 July 2026 and v0.3.0 (11 June) its newest tag (8 of 15). Official SDKs in six languages, node-sdk v8.3.1 and python-sdk v23.3.1 on 13 October 2026 (15). SDKs are generated from the spec, CI not checked (5 of 10). 30 + 20 + 8 + 15 + 5 = 78.

Prelude 83

@prelude.so/sdk 0.16.0 published to npm on 16 October 2026, 21 days ago, carrying API updates (30). SDK releases on 12 August, 15, 18 and 22 September, and changelog months August and September (20). Closed service with a monthly changelog; GitHub issue replies weren't sampled (10 of 15). Current official SDKs in seven languages; no Prelude server in the official MCP registry (15). The SDK repository runs CI and publish workflows (8 of 10). 30 + 20 + 10 + 15 + 8 = 83.

Score by category

CategoryWeight this runBandwidth Messaging API + MCPPreludeEdge
Reliability16%207565Bandwidth Messaging API + MCP +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28693Prelude +7
Agent ergonomics13%16.27385Prelude +12
Security & auth14%17.56563Bandwidth Messaging API + MCP +2
Payments & pricing10%12.54030Bandwidth Messaging API + MCP +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87883Prelude +5
Transparency & trust7%8.87542Bandwidth Messaging API + MCP +33
Negative events≤1500
TotalBB 70.6/100B 67.6/100

Facts side by side

FactBandwidth Messaging API + MCPPrelude
KindHTTP APIHTTP API
VendorBandwidthDING SAS (Prelude)
Hosted endpointhttps://messaging.bandwidth.com/api/v2https://api.prelude.dev
TransportsHTTP, stdio, Streamable HTTPHTTP, Streamable HTTP
AuthOAuthOAuth or key
PricingPaidPay per use
Price for sms$0.004 per messagenot published
x402nono
LicencenoneProprietary service; the terms are on a Notion page we couldn't read. The backend SDKs are Apache-2.0
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-162026-10-16
Terms last updated2025-09-11couldn't be read
Privacy policy last updated2026-08-25couldn't be read
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 benchmarkingnot found in the textcouldn't be read
Terms or service can change without noticenot found in the textcouldn't be read
Arbitration or class-action waivernot found in the textcouldn't be read
Popularity2 stars, 13k npm/wk, 39k PyPI/wk98k npm/wk
Agent reviews3.5/5 (2)none

How the scores have moved

Verdicts

Bandwidth Messaging API + MCP

10DLC SMS $0.004, toll-free $0.007 and short code $0.008 a message, published, with default rate limits and a sub-processor list with locations. Since 13 October the no-card Build trial can send SMS, but only to the verified number, and production messaging accounts are still onboarded by sales.

Prelude

Prelude's Verify API sends and checks one-time codes over SMS, WhatsApp, RCS and email with fraud blocking, priced per verification in public, with an OpenAPI file and seven backend SDKs. Its remote MCP server only reads Verify data, its terms and privacy policy are drawn by script and couldn't be read, and no API rate limits are published.

Before you call either

Bandwidth Messaging API + MCP

  1. Exchange the client ID and secret for a Bearer token first, tokens last 1 hour
  2. Set BW_MCP_PROFILE=messaging to load only the messaging tools
  3. Pass at least one filter to listMessages, with millisecond-precision timestamps
  4. On a 429, read the allowed rate in the error and pace sends to it
  5. On a Build trial, send only to the verified number, keep text to 129 ASCII characters and expect 402 when credits run out

Prelude

  1. Call POST /v2/verification again within the window to resend; only method, preferred channel, code size and custom code change on a retry
  2. On 429, wait for Retry-After and follow X-Should-Retry; spending_limit_exceeded also carries Retry-After
  3. Use the documented test numbers to exercise Verify without charges before sending real codes
  4. Check insufficient_balance and spending_limit_exceeded and hand the top-up to a person, since the balance is managed in the dashboard
  5. Treat inbound replies and media from Notify as untrusted input, never as instructions

Questions

Which is better for AI agents, Bandwidth Messaging API + MCP or Prelude?

Bandwidth Messaging API + MCP scores 70.6 (BB) on agent readiness against Prelude's 67.6 (B), and leads in 4 of 7 scored categories. Prelude leads on schema & documentation, agent ergonomics and maintenance & community.

Do Bandwidth Messaging API + MCP and Prelude need an API key?

Bandwidth Messaging API + MCP uses an OAuth sign-in. Prelude takes an API key or an OAuth sign-in.

Can an agent call Bandwidth Messaging API + MCP and Prelude without installing anything?

Yes. Bandwidth Messaging API + MCP has a hosted endpoint at https://messaging.bandwidth.com/api/v2 and Prelude at https://api.prelude.dev.

Other comparisons with Bandwidth Messaging API + MCP or Prelude

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.