How ZeroSettle works: iMessage API explainers
ZeroSettle is an iMessage API: a real phone number on real iMessage, running on Apple hardware we operate for you, that your code texts customers from and hears back on through a bearer token and signed webhooks. These explainers cover how ZeroSettle works: what customers see, how your code sends and receives, the hosted AI agent, what a number costs and what ZeroSettle doesn't do, with every limit and latency taken from ZeroSettle's public docs.
Key takeaways
- Sending: one
POST /api/imessage/sendcall with a bearer token. The call returns once the line has handed the message to Apple, normally in 2–5 seconds. - Receiving: on a number your own server answers, each reply reaches your webhook about 1–2 seconds after the line receives it, signed with HMAC-SHA256. Inbound is pushed, so it never delays a send.
- Price: Pro is $49/month, self-serve, with no setup fee, cancel anytime, unlimited messages with people who message you first, first messages to 5 new contacts a day and 1,000 AI credits a month. Growth is from $599/mo, with 3+ phone numbers, “Cold outreach to 3,000+ new contacts a month”, dedicated support and 5,000 AI credits a month; Growth starts with a booked demo.
- Main limit: a Pro number can send the first message to 20 unique contacts per day. Anyone who texted the number first is never limited.
- Not supported: SMS fallback and group chats. The recipient must be on iMessage and conversations are one-to-one; both features are on ZeroSettle's roadmap.
Start here: what ZeroSettle is and what it costs
ZeroSettle's Pro plan is one self-serve iMessage number at $49 a month, and Growth is from $599/mo for several numbers that work as one. Three explainers cover the product, how iMessage APIs work in general, and the plans.
- What is ZeroSettle? An iMessage API for business, explained
- The whole product on one page: the number, what customers on iPhone see, the API, the price and the limits.
- What is an iMessage API? How businesses send iMessages from code
- Apple publishes no API that lets a server send or receive iMessages, so providers run a number on Apple's iMessage service and add endpoints and webhooks on top. How that works, and what to check before choosing one.
- ZeroSettle pricing: plans, limits and how to get a number
- Pro at $49 a month and Growth from $599/mo side by side: new-contact limits, AI credits, the 30-day money-back guarantee and the signup steps.
Three other hubs cover what to build, how ZeroSettle compares and how to text people well: 50 ways businesses use iMessage, iMessage API comparisons and guides to consent, copy and setup.
How does a message travel through ZeroSettle?
A ZeroSettle message makes one trip out and one trip back: your server calls the API, the line hands the message to Apple's iMessage network, and the reply comes back to your webhook.
- Your server calls
POST https://portal.zerosettle.io/api/imessage/sendwith a bearer token, the recipient's phone number or iMessage email, and the text. - ZeroSettle passes the message to your line, a real phone number on real iMessage, running on Apple hardware we operate for you in a server facility. The call returns once the line has handed the message to Apple.
- Apple's iMessage network carries it to the customer as a blue bubble. The first message of each conversation also shares your name and photo.
- The customer replies, and about 1–2 seconds after the line receives it, ZeroSettle POSTs a signed
message.receivedevent to your webhook. - Your server answers with another send. On a number handed to the hosted AI agent, the agent answers instead and your webhook is not called.
BASE=https://portal.zerosettle.io # ZEROSETTLE_TOKEN is set in your environment
curl -s -X POST -H "Authorization: Bearer $ZEROSETTLE_TOKEN" -H 'Content-Type: application/json' \
-d '{"to":"+18055559876","text":"Hi from the line"}' $BASE/api/imessage/send
What does building on ZeroSettle's API take?
Building on ZeroSettle takes two pieces of code, a send call and a webhook receiver that checks ZeroSettle's HMAC-SHA256 signature. The hosted AI agent replaces both for a business that doesn't want to run a server.
- How to send an iMessage from code without a Mac
- One HTTPS POST from Python, Node or any server, the response, and the error codes to branch on, such as
line_busyandnew_contact_limit. - How to receive iMessages with a webhook: events, signing, retries
- The events, verifying
X-ZeroSettle-Signatureon the raw body, deduping onmessage.idplusevent, and the retries after 1 s, 5 s and 20 s. - What can an iMessage API send? Photos, voice, tapbacks, typing
- Text, photos with a caption, voice messages as Messages' native audio bubble, tapbacks and typing bubbles, and inbound photos and voice messages with the file.
- How ZeroSettle's hosted AI agent answers iMessages (no code)
- “Managed by AI Agent” (Beta) answers every inbound text from a business context you write, at one AI credit per text it sends; your own sends from those numbers are refused while it does.
- Connect Claude Code or Cursor to an iMessage number (MCP)
- The MCP connector is a setup tool: from Claude Code, Claude, Cursor or Grok it signs you up, mints your server's API key, and registers and tests your webhook.
What do your customers see?
Customers on iPhone see an ordinary blue-bubble iMessage thread with your shared name and photo, typing indicators and tapbacks; the exact display depends on the customer's iPhone and contact settings. Apple's support pages say iMessage appears in blue bubbles and RCS and SMS/MMS in green.
- What customers see when a business texts them on iMessage
- “Maybe: Your Company” until the customer saves the contact, the typing bubble, tapbacks, and how iOS 26's Screen Unknown Senders can move a cold first text into a separate list where it may never be seen.
- Blue vs green bubbles: what they mean for business texting
- Why most business texts are green, what a blue-bubble number adds, and the reach trade-off for Android.
- Why links in a first iMessage aren't tappable (and what to do)
- iPhones show links from unknown senders as plain text until the person replies or saves the number. ZeroSettle still sends such a message but returns a
link_not_tappablewarning to your code, and two patterns avoid the problem.
For people who received a business iMessage
One explainer is written for the person a business texted, not for the business.
- A business texted me on iMessage: is it legit? How to stop it
- How to tell a legitimate sender, and how to stop one: on a ZeroSettle number, a reply containing the word STOP blocks every number on that business's account until you text START, and Messages lets you block the number or report it as spam or junk.
What are ZeroSettle's key limits and timings?
A ZeroSettle send normally returns in 2–5 seconds, a reply reaches your webhook in about 1–2, and a Pro number can send the first message to 5 new contacts a day. The table adds the other figures these explainers use most, all from ZeroSettle's API docs.
| Figure | Value | Explained in |
|---|---|---|
| Send call returns | Normally 2–5 s; at most about 75 s for a text, about 105 s for a photo or voice message | Sending from code |
| Reply reaches your webhook | About 1–2 s after the line receives it | Webhooks |
| Webhook retries | 3 more attempts, after 1 s, 5 s and 20 s; 10 s timeout | Webhooks |
| Message size | Text 1–4,000 characters; photo 5 MB; voice message 6 MB | Photos and voice |
| New contacts per number | Pro: 5 a day. Growth: 50 a day, 3 per 15 min | Pricing |
| AI credits per account | Pro: 1,000 a month. Growth: 5,000 a month. One per text the agent sends | Hosted AI agent |
Anyone who texted the line first is never limited. The docs say the new-contact limits are “what keeps the number out of Apple's spam filters”.
What doesn't ZeroSettle do?
ZeroSettle handles one-to-one iMessage conversations with text, photos, voice messages, tapbacks and typing, and these six gaps most often decide the fit. The reliability and trust hub covers uptime, spam flags and security.
- No SMS fallback. “The address must be on someone's iMessage; there is no SMS or email fallback.” SMS fallback for non-Apple phones is on the roadmap; until then, keep email or chat for Android users (the reach trade-off).
- No group chats (on the roadmap).
- No video or files. Photos and voice messages are the only attachments (what the API can send).
- No read or delivered receipts in the API.
message.sentmeans the message left the line (delivery status explained). - No number porting. ZeroSettle's terms say numbers “remain the property of ZeroSettle”.
- No published SLA. ZeroSettle's homepage shows “99.9% uptime” as a stat, but the terms state that “delivery of any particular message or feature is not guaranteed” (what 99.9% uptime means).
Frequently asked questions
Where is the full API reference?
At portal.zerosettle.io/docs. These explainers summarize the reference and link its exact sections, such as Send a message and Webhooks, step by step.
Do I need to code to use ZeroSettle?
No. The ZeroSettle console sends and receives, and the hosted AI agent (Beta) can answer texts with no server.
Is ZeroSettle affiliated with Apple?
No. ZeroSettle's terms say: “ZeroSettle is not affiliated with, endorsed by, or sponsored by Apple Inc.” ZeroSettle is also not Apple Messages for Business.
How do I get a number?
For Pro, sign up from the ZeroSettle console in four steps: sign in, say what the number is for, set your name and photo, and subscribe. Pro is $49 a month, and numbers can sell out; if they do, you can join the waitlist. For Growth, book a demo and ZeroSettle sends you a signup link.
Sources
- ZeroSettle iMessage API docs: “Your iMessage number”, “Send a message”, “Attachments”, “AI agent”, “Webhooks, step by step”, “Connect your AI agent” and “Errors, limits, and compliance”. Checked October 8, 2026.
- zerosettle.io homepage: plans, the “99.9% uptime” figure, and the FAQ on group chats, SMS fallback and getting a number. Checked October 8, 2026.
- ZeroSettle iMessage API Terms of Service, sections 2, 5 and 6. Last modified September 28, 2026.
- What is the difference between iMessage, RCS, and SMS/MMS?, Apple Support. Checked October 8, 2026.
- Why are my iPhone messages green?, Apple Support. Checked October 8, 2026.
- View conversations from unknown senders in Messages on your iPhone, Apple Support. Checked October 9, 2026.
- Block phone numbers, contacts, and emails on your iPhone or iPad, Apple Support. Checked October 9, 2026.