Comparing messaging APIs for AI agents: iMessage, RCS and SMS
For an agent that texts people, the options split three ways: carrier APIs for SMS and RCS (Twilio, Telnyx), managed iMessage APIs that fall back to RCS and SMS (Sendblue, Blooio, Photon, Claw Messenger), and chat-app APIs (Telegram bots, WhatsApp Business). Claw Messenger is the low-cost managed option: $5 a month for 250 messages, replies over an outbound WebSocket, no Mac, and no 10DLC filing on your side.
The short answer
Pick by channel first. For blue bubbles on iPhones, use a managed iMessage API; Claw Messenger starts at $5 a month. For SMS at scale or outside the US, use Twilio or Telnyx. For a free personal bot, use Telegram.
- Best for
- Agents on Node.js, Python or a framework that need two-way iMessage, RCS and SMS with known or opted-in contacts.
- Not for
- Voice calls, bulk marketing, or buyers who need published compliance certifications from a single carrier-grade vendor.
At a glance
| Need | Realistic choice | Entry price |
|---|---|---|
| iMessage plus RCS/SMS, small agent | Claw Messenger | $5/month, 250 messages |
| iMessage, many channels, hosted MCP | Photon or Blooio | $25/month (Photon Pro), $39/month (Blooio Starter) |
| iMessage, inbound-first agent line | Sendblue | $100/month per line |
| SMS and RCS, your own number | Twilio or Telnyx | $0.0083 or $0.004 per SMS, plus number and 10DLC fees |
| Free personal assistant chat | Telegram Bot API | Free |
Messaging APIs for AI agents, side by side
US pricing and features from each provider's own pages, checked November 6, 2026. Provider names link to the page each price came from.
| Feature | Twilio | Telnyx | Sendblue | Blooio | Photon | Claw Messenger | Telegram Bot API | WhatsApp Business Platform |
|---|---|---|---|---|---|---|---|---|
| Channels | SMS, MMS, RCS, WhatsApp. No person-to-person iMessage; Apple Messages for Business in private beta | SMS, MMS, RCS. No iMessage | iMessage, then RCS, then SMS fallback | iMessage, RCS, SMS, WhatsApp, Apple Messages for Business | iMessage with RCS and SMS fallback; WhatsApp Business, Telegram, Slack, Discord | iMessage, with automatic RCS and SMS fallback | Telegram only | WhatsApp only |
| How replies reach you | Webhook to your URL | Webhook to your URL | Webhook to your URL | Webhook, or poll the events list | Webhook, or a Socket.IO stream (Beta) | Outbound WebSocket your agent keeps open. No customer webhook on self-serve plans | Long polling (getUpdates) or webhook | Webhook to your URL |
| Inbound verification | X-Twilio-Signature, HMAC-SHA1 with your auth token | Ed25519 signature (telnyx-signature-ed25519) | A secret you configure, sent back in a request header | HMAC-SHA256 with timestamp (X-Blooio-Signature) | HMAC-SHA256 (X-Spectrum-Signature); Standard Webhooks on Beta | No public endpoint to verify. The agent opens the socket with its API key | secret_token echoed in X-Telegram-Bot-Api-Secret-Token | X-Hub-Signature-256, HMAC-SHA256 with your app secret |
| Waiting for a reply | Your webhook handler stores the reply; the agent resumes from your queue | Same as Twilio | Same pattern via webhook | Webhook handler, or poll events | Webhook handler, or listen on the stream | Listen on the socket. MCP wait_for_reply; LangChain and CrewAI tools wait for one matching reply. Replies saved while disconnected arrive on reconnect | getUpdates long poll returns when a message arrives | Webhook handler. Free-form replies only inside the 24-hour window |
| SDKs and MCP | Node.js, Python, C#, Java, PHP, Ruby, Go. Local MCP (@twilio-alpha/mcp, alpha); hosted docs-search MCP (beta) | Node.js, Python, Go, Java, Ruby, PHP. Hosted and local MCP | Node.js/TypeScript, Python. Local MCP via npx | Node.js, Python, Java, Go. Hosted MCP | TypeScript; Python and Rust on Beta. Hosted MCP (Beta) | REST and WebSocket from any language. OpenClaw and Hermes plugins; n8n, LangChain, CrewAI packages; local MCP via npx. No hosted MCP | HTTPS Bot API. MCP not published | HTTPS Cloud API. MCP not published |
| US A2P 10DLC registration | Required, hobbyists included. Brand $4.50 one-time (sole prop or low volume) or $46 standard; campaign vetting $15; campaign $1.50 to $10/month | Required. Brand $4.50; campaign vetting $15; monthly campaign fee from $2 | Not needed, per Sendblue | Not needed for iMessage; Blooio registers its own SMS numbers | Needed for Photon SMS to US numbers | Nothing to file on your side; you send from the managed line | Not applicable | Not applicable. Needs a number you own and a Meta business portfolio |
| Can the agent text first? | Yes, under a registered campaign | Yes, under a registered campaign | Not on the AI Agent plan (inbound-first); outbound on Enterprise | Yes, with a daily new-contact cap by plan; Inbound plan is reply-only | Not on shared lines; Business allows up to 50 new contacts a day | Yes. Self-serve pauses new conversations at 20 distinct recipients in 24 hours | No. The user must message the bot first | Only with approved templates outside the 24-hour window |
| Contact limits | No plan contact cap; billed per message | No plan contact cap; billed per message | 1,000 inbound contacts a day on AI Agent | Starter 5, Commercial Shared 15 new conversations a day; unlimited on lines of your own | Free 10 users, Pro 100 users | Registered numbers: Base 1, Growth 5, Plus 20, Pro 50; Enterprise custom | Not published | New business portfolios start with a messaging limit of 250 |
| Published price | SMS $0.0083 per segment each way plus carrier fees; number $1.15/month; RCS $0.0083 per segment; WhatsApp $0.005 per message plus Meta fees | SMS $0.004 per part each way plus carrier fees; number $1/month plus $0.10 for SMS; RCS $0.0065 per segment | Free sandbox (10 contacts, no outbound); AI Agent $100/month per line; Enterprise custom. $0 per-message fees | Starter $39/month, Commercial Shared $89/month, a line of your own from $289/month. No per-message iMessage fees | Free; Pro $25/month; Business $250/line/month. SMS $0.01 per part on Free | $5/month for 250 messages; $15 for 2,000; $25 for 6,000; $50 for 15,000. No per-message surcharges | Free | Per message by category and country; 1,000 free service messages per number per month |
Which channel should an AI agent use?
iMessage reaches iPhone users as a normal blue-bubble thread with typing indicators, reactions and read receipts. Apple publishes no API for person-to-person iMessage, so agents use a managed provider. Twilio's Apple channel, Apple Messages for Business, is a different product: a verified brand profile where the customer starts the chat.
RCS brings rich messages to Android and recent iPhones through carrier-registered senders. Twilio and Telnyx sell it directly. Managed iMessage APIs use it as a fallback.
SMS reaches every phone. From your own US number it needs A2P 10DLC registration, and on iPhones it shows as a green bubble.
Telegram and WhatsApp work when your users already live in those apps. In both, the user starts the conversation, and WhatsApp limits free-form replies to a 24-hour window.
Webhook or WebSocket: how replies reach the agent
A webhook needs a public HTTPS endpoint, signature checks, and a queue so the agent can pick the reply up later. That suits a backend that already runs on a server. Twilio signs with HMAC-SHA1, Telnyx with Ed25519, Blooio and WhatsApp with HMAC-SHA256.
An outbound WebSocket inverts the connection: the agent dials out, holds the socket open, and replies arrive on it. No public URL, no inbound firewall rule, no signature code. Claw Messenger works this way on self-serve plans, and the agent authenticates with its API key in the Authorization header. Photon offers a Socket.IO stream on its Beta product, and Telegram's getUpdates long poll gives a similar result.
Waiting for a reply inside one agent run
Agents often need to send a question and wait for the answer before they continue. With a webhook you build that wait yourself: store the inbound message keyed by phone number and resume the run when it lands. With Claw Messenger the wait is part of the tools. The MCP server exposes wait_for_reply, and the LangChain and CrewAI tools wait for one matching reply during the call. If the listener drops, replies saved while it was disconnected arrive when it reconnects.
Node.js: send and receive iMessage, and what it costs
With Claw Messenger, one WebSocket sends and receives. Leave service unset and each message goes as iMessage, RCS or SMS depending on the recipient. Each message event says which service carried it.
// npm install ws
import WebSocket from "ws";
const ws = new WebSocket("wss://claw-messenger.onrender.com/ws", {
headers: { Authorization: `Bearer ${process.env.CLAW_API_KEY}` },
});
ws.on("open", () => {
ws.send(JSON.stringify({
type: "send",
id: "hello-1",
to: "+15551234567", // a number registered to your account
parts: [{ type: "text", value: "Hi, this is your assistant." }],
}));
});
ws.on("message", (raw) => {
const event = JSON.parse(raw.toString());
if (event.type === "send.result") console.log("send:", event.status);
if (event.type === "message") console.log(event.from, "replied via", event.service, ":", event.text);
});Full event shapes are in the API docs, and the quickstart walks through readiness, one send and the matching reply.
A worked example at 2,000 messages a month (1,000 sent, 1,000 received), with published US prices checked November 6, 2026:
| Provider | Monthly cost | What it buys |
|---|---|---|
| Telnyx SMS | About $9.10 plus carrier fees and a 10DLC campaign fee | 2,000 SMS at $0.004 plus a $1.10 number. SMS only |
| Twilio SMS | About $17.75 plus carrier fees and a 10DLC campaign fee | 2,000 SMS at $0.0083 plus a $1.15 number. SMS only |
| Claw Messenger Growth | $15 | 2,000 messages across iMessage, RCS and SMS; up to 5 registered numbers |
| Photon Pro | $25 | Shared line, up to 100 users; cannot send an unsolicited first message |
| Blooio Starter | $39 | Shared number, 5 new conversations a day |
| Sendblue AI Agent | $100 | A line for inbound-first conversations, 1,000 inbound contacts a day |
The cheapest row depends on contacts, not only messages. Claw Messenger counts messages in both directions and caps registered numbers by plan (50 on Pro). A startup assistant with hundreds of users needs a per-line plan elsewhere or a scoped Enterprise plan from us. See plans and limits and what AI agent texting costs.
When another option fits better
- Twilio or Telnyx for high-volume SMS, international numbers, voice on the same number, toll-free or short codes, and a vendor your procurement team already approved.
- Blooio for the widest channel list in one API, a hosted MCP, and a documented hand-off from an existing Twilio number.
- Photon for one agent across iMessage, WhatsApp, Telegram, Slack and Discord, with a hosted MCP.
- Sendblue for an agent that users text first, with official Node.js and Python SDKs.
- Telegram for a free assistant only you use.
- WhatsApp Business when most users are outside the US and already on WhatsApp.
Questions
Which messaging APIs support iMessage, RCS and SMS together?
Managed iMessage APIs: Sendblue, Blooio, Photon and Claw Messenger send iMessage to iPhones and fall back to RCS or SMS for other phones. Twilio and Telnyx send SMS, MMS and RCS but not person-to-person iMessage; Twilio's Apple Messages for Business is a private-beta brand channel.
What does it cost to send and receive iMessage from a Node.js backend?
Published entry prices checked November 6, 2026: Claw Messenger $5 a month for 250 messages, Photon Pro $25 a month on a shared line, Blooio Starter $39 a month, Sendblue $100 a month per line (inbound-first). Twilio and Telnyx cost less per message but send SMS, not iMessage, and need A2P 10DLC registration.
Should an AI agent receive messages by webhook or WebSocket?
Use a webhook if your agent already runs behind a public HTTPS endpoint that can verify signatures. Use an outbound WebSocket if the agent runs on a laptop, behind a firewall, or in a container without a public URL. Claw Messenger's self-serve plans deliver replies over a WebSocket; Twilio, Telnyx, Sendblue, Blooio and WhatsApp use webhooks; Photon and Telegram offer both styles.
Do I need A2P 10DLC registration for an AI agent that texts?
Yes if you send application SMS from your own US 10DLC number on Twilio or Telnyx. Managed iMessage APIs that send from the provider's line, such as Sendblue and Claw Messenger, do not ask you to file a brand or campaign. Telegram and WhatsApp are outside 10DLC.
Which messaging APIs have an MCP server?
Hosted MCP: Telnyx, Blooio and Photon (Beta). Local MCP run with npx: Sendblue, Claw Messenger, and Twilio (alpha). Twilio's hosted MCP searches docs only. Telegram and WhatsApp do not publish one.
Sources
- Twilio: US SMS pricing, A2P 10DLC fees, webhook security, MCP server, Apple Messages for Business beta
- Telnyx: messaging pricing, number pricing, 10DLC fees, receiving messages, MCP
- Sendblue: pricing, webhooks, MCP
- Blooio: pricing, webhook signatures, MCP
- Photon: pricing, webhook signatures, MCP
- Telegram: Bot API, bots overview
- WhatsApp: pricing, messaging limits, webhook verification
- Claw Messenger: pricing, plans and limits, API docs, MCP server
Related comparisons
- iMessage APIs for Linux and cloud agents
- Claw Messenger vs Sendblue
- Claw Messenger vs Blooio
- Claw Messenger vs Photon
- Best iMessage API options compared by buyer
- How to add iMessage to a Twilio setup
- A phone number for your AI agent
- SMS API for two-way AI agent conversations
Claw Messenger publishes this page. We sell one of the products compared. Rival facts come from each provider's own site, checked November 6, 2026; where a provider does not publish a figure, the table says so. If something is out of date, tell us.
Two-way iMessage, RCS and SMS for your agent. $5/month for 250 messages, no Mac.
Start the 7-day trial