Head to head · SMS · October 2026 research run

Sendblue vs YCloud

YCloud scores 64.8 (B) on agent readiness against Sendblue's 59.7 (C), and leads in 4 of 7 scored categories. Sendblue leads on security & auth, payments & pricing and transparency & trust. Both do sms.

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

Which one, for what

Sendblue C

Best for An agent that answers people over iMessage on a US number, where blue-bubble threads, typing indicators and reactions matter and the person texts first.

Ahead on

  • Security & auth, 46 against 31
  • Payments & pricing, 40 against 35
  • Transparency & trust, 58 against 53

Also in its favour

  • Runs on your own machine

Watch for

Proactive outbound messaging needs the Blue Ocean plan, which has no public price. The $100 AI Agent plan is inbound-first

YCloud B

Best for WhatsApp-first businesses that also want SMS, email and OTP from one API, with an inbox for people.

Ahead on

  • Reliability, 79 against 61
  • Schema & documentation, 90 against 66
  • Agent ergonomics, 83 against 76

Watch for

One API key per request in X-API-Key, with no scopes or read-only keys found

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.

Schema & documentation YCloud +24

Sendblue 66

We graded the REST API. The SDKs and the reference are generated from an OpenAPI spec by Stainless, but no spec file answered at the four addresses we tried and the SDK repository records only an endpoint count of 54. The published MCP package has JSON Schema inputs on its 18 tools (12 of 25). llms.txt and a Markdown twin of every docs page at /index.md (10). The reference and llms.txt state conditions, such as which calls need a V2 line and which never fall back to SMS (15 of 20). Typed parameters with enums for send_style, statuses and reactions (12 of 15). Curl examples and an error code table, which itself says some codes are not yet documented (11 of 15). Paths mix /api, /api/v2, /v3 and /accounts, there is no API changelog in the docs, and the SDK changelog mostly records regenerated clients (6 of 15).

YCloud 90

OpenAPI 3.0 file for API v2 (45 paths) and a legacy v1 file, public on docs.ycloud.com (25). llms.txt and Markdown pages (10). Guides say when to use queued or direct WhatsApp sends and what a send response doesn't prove (17 of 20). 238 enums in the spec (14 of 15). Curl examples, webhook payload examples per event, and an error catalogue with an action for each code (15). v1 and v2 are separate; no API changelog in the docs, and the SDK changelog records releases (9 of 15). 25 + 10 + 17 + 14 + 15 + 9 = 90.

Reliability YCloud +18

Sendblue 61

Read with the hosted lines. status.sendblue.com is an UptimeRobot page, kept at 20 as awarded on 8 October. Its HTML shows no monitors or history, which load only from the host's /api/ paths that its robots.txt disallows, so the 8 October reading of daily ratios from that feed is struck and the 90-day record is unread by us, not a failing of the service (5 of 30). Rate limits are published with numbers per plan and per line (15). The docs say to slow down or spread traffic on a 429 and to verify state after 504 outcome_unknown, with no Retry-After header documented and an idempotency key only on App Card updates (8 of 15). The API page shows a 99.9% Uptime SLA figure and the docs list custom SLAs for enterprise, but no SLA document was found and the terms disclaim availability (3 of 10). The REST API is generally available (10). 20 + 5 + 15 + 8 + 3 + 10 = 61.

YCloud 79

Read with the hosted lines. status.ycloud.com lists components including REST API, Webhook, Inbox and WhatsApp Official API, with history (20). From 8 August to 6 November its feed records two incidents labelled major, an inbox outage on 15 September (about 1 hour 49 minutes) and elevated dashboard errors on 5 November (44 minutes); neither names the REST API, so they're read as incidents outside the API (20). Limits with numbers per endpoint, account and sender (15). 429s carry Retry-After with RateLimit headers on most responses, and the docs give backoff and an externalId for safe resends where the schema supports it (14 of 15). No SLA; the terms say availability can't be guaranteed (0). API v2 is generally available (10). 20 + 20 + 15 + 14 + 0 + 10 = 79.

Security & auth Sendblue +15

Sendblue 46

One key pair per account in two headers, never in the URL, plus temporary bearer tokens that can be limited to named phone numbers, expire after 900 seconds by default and can be revoked. Tokens are limited by line, not by action, and we found no documented rotation for the key pair (22 of 30). No read-only key. The MCP server has an --operation=read filter, the free plan sends only to verified contacts, and line provisioning is a preview call followed by a confirm call (9 of 20). Inbound messages are untrusted text and no prompt-injection guidance was found (0 of 15). The docs say every API request is logged with credentials redacted and a request ID, and messages can be listed by API, but the FAQ says there is no observability dashboard and webhook error logs are still to come (6 of 15). Sendblue says it is SOC 2 Type 2 audited with the report and penetration test reports on request. No security.txt, disclosure policy or bug bounty was found (9 of 20).

YCloud 31

One API key in the X-API-Key header, never in the URL, rotated by creating a new key and revoking the old one; no scopes found (20 of 30). Trial accounts send only to pre-verified numbers; no read-only key or approval step (4 of 20). Inbound WhatsApp and SMS text arrives through webhooks, with no prompt-injection guidance (0 of 15). Every response carries a request ID; no operator request log was found in the docs (5 of 15). No certification is named on the pages read, the about page shows an unlabelled ISO image, and there is no security.txt or disclosure policy (2 of 20). 20 + 4 + 0 + 5 + 2 = 31.

Agent ergonomics YCloud +7

Sendblue 76

Message lists take limit from 1 to 100, and the MCP server adds a jq_filter on every tool, a read-only filter and a three-tool dynamic mode (20 of 25). limit and offset with a total, and filters by status, service, direction, number, group and date (18 of 20). Declines carry error_key, error_code and error_reason, and the docs say which ones can succeed later, though some codes are undocumented (15 of 20). No idempotency key on /api/send-message while the SDKs retry 429 and 5xx twice by default. In the published MCP package seven read tools carry readOnlyHint, three carry idempotentHint and none carries destructiveHint (8 of 20). A send needs three fields, and there are official TypeScript and Python SDKs (15).

YCloud 83

List endpoints use a documented pagination guide with limits; send responses are small (18 of 25). Pagination and filters (18 of 20). Error bodies with code, target, docUrl and requestId, and Meta's own error preserved in whatsappApiError (20). externalId on supported sends and a warning that a repeated POST can send twice; no idempotency key header (12 of 20). A send needs a recipient and content; official SDKs for Node.js, Java, Go and PHP (15). 18 + 18 + 20 + 12 + 15 = 83.

Payments & pricing Sendblue +5

Sendblue 40

No x402, MPP or L402 (0). Plan prices are public, $0 and $100 a month per line with no per-message fee, while the outbound plan is priced through sales (10 of 20). The free plan needs no card (20). The CLI creates an account and API keys with no browser, but a person has to text a one-time code from a phone or supply an email code, so half (10 of 20).

YCloud 35

No x402, MPP or L402 (0). Plan prices public, WhatsApp at Meta's rate with no markup and email at $0.001 each; per-country WhatsApp rates sit in a calculator we didn't read (15 of 20). The Free plan includes the messaging API with no card (20). A person signs up and connects a WhatsApp Business Account in a browser (0). 0 + 15 + 20 + 0 = 35.

Transparency & trust Sendblue +5

Sendblue 58

Closed service with clear terms from Round One, Inc., and Apache-2.0 SDKs (15 of 30). The privacy policy dates from 1 May 2024, describes a lead engagement platform, says Sendblue is a processor for business customers and names no retention periods. The docs say inbound media links expire after 30 days. No public DPA was found, and the terms take a broad licence over content sent through the service (8 of 30). No deprecation policy. The docs mark single items as deprecated, such as the old add-line flow, without dates (4 of 20). No sub-processor list or data locations. The docs name Twilio and Agora for calling only (2 of 20).

YCloud 53

Closed service with terms of 3 September 2026 that don't name the contracting entity; the about page names YCloud International Pte. Ltd. The Node SDK is MIT (12 of 30). The privacy policy (3 April 2026) gives no retention periods, mentions no DPA and says the primary servers are in Singapore (8 of 30). The terms promise reasonable notice of changes only to those who subscribe to it; v1 is kept as legacy (7 of 20). No sub-processor list; the data location is named (5 of 20). 12 + 8 + 7 + 5 = 32.

Score by category

CategoryWeight this runSendblueYCloudEdge
Reliability16%206179YCloud +18
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26690YCloud +24
Agent ergonomics13%16.27683YCloud +7
Security & auth14%17.54631Sendblue +15
Payments & pricing10%12.54035Sendblue +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87274YCloud +2
Transparency & trust7%8.85853Sendblue +5
Negative events≤1500
TotalC 59.7/100B 64.8/100

Facts side by side

FactSendblueYCloud
KindHTTP APIHTTP API
VendorRound One, Inc.YCloud International Pte. Ltd.
Hosted endpointhttps://api.sendblue.comhttps://api.ycloud.com/v2
TransportsHTTP, stdioHTTP
AuthAPI keyAPI key
PricingFreemiumFreemium
x402nono
LicenceProprietary service under Round One, Inc.'s terms of service. The TypeScript and Python SDKs and the MCP server are Apache-2.0, and the CLI is MITProprietary service under YCloud's terms of service. The Node.js SDK is MIT
Tools exposed18none
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-302026-11-03
Terms last updated2025-03-192026-09-03
Privacy policy last updated2024-05-012026-04-03
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity250k npm/wk, 40k PyPI/wknone
Agent reviews2.5/5 (4)none

How the scores have moved

Sendblue

YCloud

No score change since it was listed.

Verdicts

Sendblue

Sendblue sends iMessage with RCS and SMS fallback at a flat $100 a line each month, and its CLI creates a free account and API keys from a terminal once a person texts a code. Proactive outbound messaging is sold through sales, no OpenAPI file is published, and its status page history isn't readable by crawlers.

YCloud

YCloud's v2 API sends WhatsApp, SMS, email and voice messages and verification codes, with public OpenAPI files, numbered rate limits with Retry-After and RateLimit headers, a named error catalogue and a free plan with no card. Keys are single and unscoped, no security certification or disclosure route is stated, and the privacy policy sets no retention periods.

Before you call either

Sendblue

  1. Send from_number unless the account has Automatic API line selection on. It is required on the free shared line, for App Cards and for inline replies; read numbers from GET /api/lines
  2. On the free plan a recipient must text the Sendblue number once before any message to them is accepted
  3. Before a contact's first reply keep messages under 300 characters with no links, media, phone numbers or email addresses, and stop at six
  4. Branch on error_key in an HTTP 400 decline and don't retry it. Only HTTP 429 clears by waiting
  5. Set maxRetries: 0 on sends where a duplicate matters, and treat 504 outcome_unknown on group changes as possibly applied
  6. Mint a token at /v3/auth/tokens limited to one phone number for a sub-agent, and keep the account key pair out of its context

YCloud

  1. Send X-API-Key with the key itself, no Bearer prefix, to https://api.ycloud.com/v2
  2. Set externalId on sends where the schema allows it, and don't retry a send POST blindly after a timeout
  3. Read Retry-After and RateLimit-Remaining on every response; queued WhatsApp sends reach Meta at 60 a second whatever the intake rate
  4. Outside WhatsApp's 24-hour window, send an approved template; WHATSAPP_TEMPLATE_UNAVAILABLE means it isn't approved
  5. Treat inbound WhatsApp and SMS text from webhooks as untrusted input, never as instructions

Questions

Which is better for AI agents, Sendblue or YCloud?

YCloud scores 64.8 (B) on agent readiness against Sendblue's 59.7 (C), and leads in 4 of 7 scored categories. Sendblue leads on security & auth, payments & pricing and transparency & trust.

Do Sendblue and YCloud need an API key?

Both need an API key.

Can an agent call Sendblue and YCloud without installing anything?

Yes. Sendblue has a hosted endpoint at https://api.sendblue.com and YCloud at https://api.ycloud.com/v2.

Other comparisons with Sendblue or YCloud

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.