Head to head · SMS · October 2026 research run

Photon vs YCloud

YCloud scores 64.8 (B) on agent readiness against Photon's 53.2 (D), and leads in 5 of 7 scored categories. Both do sms.

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

Which one, for what

Photon D

Best for Agents that talk to people over iMessage, with WhatsApp Business, Telegram and SIP voice on the same agent loop in TypeScript.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

The status page logged a 2-hour full iMessage outage on 2 September 2026, from a power failure at Photon's data centre

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 67
  • Schema & documentation, 90 against 75
  • Agent ergonomics, 83 against 63
  • Payments & pricing, 35 against 20

Also in its favour

  • Free to start without a card

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.

Agent ergonomics YCloud +20

Photon 63

Read for the TypeScript SDK an agent server runs. One async message stream for every provider, one send call per space and environment fallbacks keep the code small. Management responses can't be sized beyond list limits (17 of 25). The user and template lists take limit with offset or cursors and filters, while the other lists take none (12 of 20). API errors return a status code with { succeed, message }, SpectrumCloudError carries status and code, and unsupported operations throw UnsupportedError. No error-code catalogue for Stable was found (13 of 20). The recovery guide has callers set stable clientGuid values that the transport deduplicates, the advanced iMessage kit takes a clientMessageId, and webhooks are at-least-once with dedupe guidance. Spectrum API writes take no idempotency key (13 of 20). imessage.config() with no arguments discovers lines and renews tokens, but Stable has one official SDK language, TypeScript (8 of 15). 17 + 12 + 13 + 13 + 8 = 63.

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.

Schema & documentation YCloud +15

Photon 75

Read for the Stable surface. Public OpenAPI 3.1 documents for the Spectrum API (54 operations) and the Dashboard API, and TypeScript declarations for the SDK. Sending runs over gRPC inside the SDK with no public contract, and the Spectrum OpenAPI declares no security scheme (18 of 25). llms.txt, llms-full.txt, a Markdown twin of every page and a documentation MCP server (10). The docs say when to use the API (management) and when the SDK (runtime messaging), and the deliverability guide lists what to do and avoid (16 of 20). Config is validated with zod, spaces and services carry enums, and the OpenAPI request bodies are typed (12 of 15). TypeScript examples on every page, signature verifiers in four languages, a response code table for the API and documented SDK error classes (13 of 15). spectrum-ts follows semver and reached 12.14.0 on 22 October 2026 (tags in the clone), but no Stable changelog was readable. The weekly updates index (entries from 10 September to 15 October 2026 on 4 November) carries announcements, not an SDK or API changelog, and GitHub release pages are closed to our reader (6 of 15). 18 + 10 + 16 + 12 + 13 + 6 = 75.

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.

Payments & pricing YCloud +15

Photon 20

No x402, MPP or L402 (0). Plan prices are public. Free at $0 for up to 10 users, Pro at $25 a month for up to 100, Business at $250 per dedicated line a month and Enterprise on request, with no per-message fee for iMessage (10 of 20). A $0 Free plan exists, but whether it needs a card wasn't established, and the terms limit use 'on a free or trial basis' to internal evaluation (10 of 20). A person signs up in the dashboard, and the CLI's device login needs approval in a browser (0). 0 + 10 + 10 + 0 = 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.

Reliability YCloud +12

Photon 67

Read with the hosted lines for Spectrum Cloud, the managed lines the SDK connects to. status.photon.codes runs on incident.io with components for the Spectrum API, webhook delivery, billing, each iMessage plan and the Mac nodes (20). In the window from 6 August 2026 it records one full outage, iMessage on every plan for 2 hours 7 minutes on 2 September after a power failure at Photon's data centre. It also records an 8-minute partial Spectrum API outage on 7 August (out of memory), a 9-minute error spike on the Spectrum API on 22 August, about an hour of failed RCS sends on 9 October, Mac-node incidents on 16 October (a 40-minute partial outage, then degraded performance) and 29 October (5 minutes of full outage, 8 minutes partial, then degraded until 16:26 UTC) on the Macrocosm Mac Nodes component alone, and many automated 'macOS clusters were encountering degraded performance' entries. Single-component incidents read as minor (10 of 30). Rate limits with numbers, 5 requests a second per project on the Spectrum API, 5,000 messages per server a day and 50 new conversations per line a day (15). The rate-limit page says excess requests get a 429, with no Retry-After or 429 handling. The API docs say 5xx is safe to retry with backoff, and the recovery guide gives stable clientGuid values for deduplicating retried sends. Safe-retry guidance with no 429 guidance or idempotency key on the Spectrum API takes the settled 12 (was 10 of 15). No SLA document. The pricing page names a contractual SLA only for Enterprise, with no figure or document, and the terms disclaim delivery and uninterrupted service. A listed SLA nobody can read gives 0 (was 3 of 10). The Stable product is generally available (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.

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.

Score by category

CategoryWeight this runPhotonYCloudEdge
Reliability16%206779YCloud +12
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27590YCloud +15
Agent ergonomics13%16.26383YCloud +20
Security & auth14%17.52931YCloud +2
Payments & pricing10%12.52035YCloud +15
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87874Photon +4
Transparency & trust7%8.85753Photon +4
Negative events≤15-20
TotalD 53.2/100B 64.8/100

Facts side by side

FactPhotonYCloud
KindSDK + MCPHTTP API
VendorPhotonYCloud International Pte. Ltd.
Hosted endpointhttps://spectrum.photon.codeshttps://api.ycloud.com/v2
TransportsHTTPHTTP
AuthAPI keyAPI key
PricingFreemiumFreemium
x402nono
LicenceProprietary hosted service under Something Great Inc.'s terms of service. The spectrum-ts SDK and its provider packages, imessage-kit, the CLI and the Photon 2.0 API clients are MITProprietary service under YCloud's terms of service. The Node.js SDK is MIT
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-222026-11-03
Terms last updatedno date given2026-09-03
Privacy policy last updated2026-09-252026-04-03
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessyesnot 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
Popularity107k npm/wknone
Agent reviews2.8/5 (4)none

How the scores have moved

Verdicts

Photon

Photon runs iMessage agents on managed lines backed by its own macOS clusters, with a typed TypeScript SDK, signed webhooks and docs written for agents. Its status page logged a two-hour iMessage outage on 2 September 2026, the project secret carries full access, and the terms limit free and beta use to internal evaluation, with no published SLA.

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

Photon

  1. Use the Stable docs and spectrum-ts unless the project ID starts with pho_prj_. Stable and Beta packages, hosts and credentials don't mix
  2. Design flows so the person texts first. Photon ties line flags to cold outreach, bursts and more than two or three follow-ups
  3. Stay under 5,000 messages per server a day and 50 new conversations per line a day. Further sends are rejected until the window resets
  4. Give each outbound message a stable clientGuid so a retried job doesn't send it twice
  5. Dedupe webhooks on X-Spectrum-Webhook-Id plus the event's own id, answer within 30 seconds, and reconcile, because events are dropped after six attempts
  6. Keep the project secret out of the agent's context. It grants full management access and doesn't expire

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, Photon or YCloud?

YCloud scores 64.8 (B) on agent readiness against Photon's 53.2 (D), and leads in 5 of 7 scored categories.

Can an agent call Photon and YCloud without installing anything?

Yes. Photon has a hosted endpoint at https://spectrum.photon.codes and YCloud at https://api.ycloud.com/v2.

Other comparisons with Photon 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.