Products · API Cloud
Programmable iMessage, RCS, and SMS for engineering teams
senderZ API Cloud is the messaging infrastructure you would have built yourself if you had a year to spare — REST API, official SDKs, an MCP server, and auto-routing across iMessage, RCS, and SMS. Without Twilio, without 10DLC, without per-message fees for contacts you have already reached.
On this page
Who it's for
Product teams
Embed messaging into your app without building a phone infrastructure stack.
SaaS startups
Ship OTP, notifications, and two-way messaging on week one, not month six.
Internal tools
Automate alerts and human-in-the-loop workflows from your existing backend.
What you get
REST API and webhooks
A single POST /v1/messages endpoint accepts recipient, channel, and body. Webhook events fire when the message is sent, delivered, fails, or gets blocked by compliance rules.
TypeScript SDK
Official @senderz/sdk on npm. Fully typed, retries + rate-limit handling built in.
Official MCP server
@senderz/mcp is the only Model Context Protocol server in the messaging market. Claude Code, Cursor, or any MCP-aware agent can send messages with a single tool call.
iMessage-first delivery
When the recipient is iMessage-capable, senderZ routes through a real Apple device. Blue bubbles, not green, with no A2P carrier filtering in the middle.
RCS channel
iOS 18+ recipients receive RCS when iMessage is unavailable. Same send path, nothing to configure.
SMS fallback
When neither iMessage nor RCS works, the same phone SIM sends SMS. Fallback is automatic and surfaces on the webhook so you always know which channel actually delivered.
Auto-routing
Set channel: 'auto' on the send request and senderZ picks the best channel per recipient. Capability detection is cached for 24 hours per number.
iMessage capability detection
Probe whether a number supports iMessage before sending. Results cached in recipient_capabilities so repeat lookups are free.
Template engine
{{variables}} in template bodies, validated at send time. Missing variables return a typed error, never a half-rendered message.
Webhook HMAC signing
Every webhook carries an X-Senderz-Signature header. Webhook secrets are AES-256-GCM encrypted at rest (commit ab39cbc).
Compliance baked in
STOP/START keywords, quiet hours, per-phone daily limits, and consent logging run before any message is dispatched. Violations fail the message with a typed reason code.
Stripe billing
Contact-based pricing — unlimited messages to existing contacts, caps on new contacts. Invoices match the pricing page exactly.
Python, PHP, Ruby SDKs
Planned — Q3 2026Official SDKs in additional languages are on the roadmap to complement TypeScript.
Bulk batch API
Planned — Q4 2026Submit thousands of messages in a single HTTP request. Today bulk sends go through /v1/campaigns; a first-class batch endpoint is planned.
Scheduled sends
Planned — Q2 2027Queue a message for a future timestamp. Today customers schedule at the application layer; a first-class scheduled_at field is planned.
How you use it
Five lines of Node.js to send a message:
import { SenderZ } from '@senderz/sdk'
const sz = new SenderZ({ apiKey: process.env.SENDERZ_API_KEY })
await sz.messages.send({
to: '+14155551234',
channel: 'auto',
body: 'Your verification code is 123456',
}) A webhook handler for delivery events:
app.post('/webhooks/senderz', async (req, res) => {
const ok = sz.webhooks.verify(req.headers['x-senderz-signature'], req.rawBody)
if (!ok) return res.status(401).end()
const event = JSON.parse(req.rawBody)
if (event.event === 'message.delivered') {
await markDelivered(event.message_id)
}
res.status(200).end()
}) Hand Claude Code the ability to send messages:
claude mcp add senderz -- npx @senderz/mcp --api-key sz_live_xxx How it compares
senderZ API Cloud vs Twilio at the things that actually matter when you are building product messaging:
| Feature | senderZ API Cloud | Twilio |
|---|---|---|
| iMessage support | ✓ Built-in | ✗ Not supported |
| Per-message pricing | None — unlimited to existing contacts | $0.0079+ per SMS |
| 10DLC registration required | No (P2P routing) | Yes |
| Setup time | Minutes (free trial) | Days to weeks (A2P registration) |
| Webhook signature verification | HMAC-SHA256 per-tenant secret | HMAC-SHA1 per-account secret |
| Official MCP server | ✓ @senderz/mcp | ✗ |
| Auto-routing iMessage → RCS → SMS | ✓ channel: auto | ✗ |
Pricing values and feature availability compared against Twilio public pricing as of April 2026.
Pricing
Three plans, 14-day free trial, no credit card. Unlimited messages to contacts you have already reached; caps apply to new contacts. Starter $49/mo, Growth $249/mo, Scale $749/mo.
See the full pricing pageFrequently asked questions
Is there an official Apple iMessage API?
Apple does not publish a public iMessage API. senderZ routes iMessage through a real Apple device, which is why you get blue bubbles, delivery receipts, and read receipts without A2P carrier filtering.
Which SDK languages are supported?
TypeScript is official today (@senderz/sdk on npm). Python, PHP, and Ruby SDKs are on the Q3 2026 roadmap. Any language with an HTTPS client can call the REST API directly — we publish an OpenAPI spec.
How does the MCP server work?
Install with `claude mcp add senderz -- npx @senderz/mcp --api-key sz_live_xxx`. After that, Claude Code can send messages, list conversations, and manage templates through natural language. Every tool call hits the same REST API your own code would.
What happens if the delivery engine goes down?
senderZ automatically recovers from delivery interruptions within seconds. During the gap, the router fails over to another phone in the pool if one is available; if not, the message is marked failed and a message.failed webhook fires. A Twilio SMS fallback adapter is in the code but not activated — the trigger is 5,000+ daily SMS combined with $15k+ MRR.
Do I need to register for 10DLC?
No. senderZ's SMS path uses dedicated devices as personal lines, which is classified as P2P traffic by carriers. At very high volume carriers may reclassify the traffic as A2P — for tenants sending more than 500 SMS/day we recommend registering, and managed registration is on the Agency OS roadmap.
Can I self-host senderZ?
Yes — see /products/self-hosted. You bring your own Cloudflare account and dedicated Apple hardware; we deploy and support.
What is the Twilio migration path?
See /products/migration-concierge for the guided service, or use the side-by-side API mapping in the docs to migrate yourself. The senderZ SDK shape is close enough to Twilio that most app code needs only the client replaced.
Start building
14 days, no credit card, no 10DLC.