The most affordable dedicated iMessage API: $49/month
Written by ZeroSettle. This is our product page; the price table also lists other providers.
ZeroSettle Pro is $49/month for a dedicated iMessage number that can message first. No managed iMessage API we checked publishes a lower price for a dedicated number (checked October 25, 2026). Your server sends with one HTTPS call and receives replies on HMAC-SHA256-signed webhooks about 1–2 seconds after they reach your number; Growth is $599/month for 3 numbers.
Key takeaways
- Price: Pro is $49/month flat, no per-message fees on API texts. Self-serve, no setup fee, month to month, 30-day money-back guarantee.
- Price position: no managed iMessage API we checked publishes a lower price for a dedicated number. Courio also lists $49 (Starter: 500 outbound/month, then $0.02/message).
- Main limit: Pro opens 5 new contacts a day per number, fewer than the 30–50 most $99+ plans allow; people who text first are never limited.
- Reach: iMessage only. There is no SMS fallback; a first message to someone not on iMessage returns
422 not_on_imessage. - API: REST with a bearer token, HMAC-SHA256 signed webhooks, a live stream (SSE), and a remote MCP server at
portal.zerosettle.io/mcp.
What is the ZeroSettle iMessage API?
ZeroSettle gives your business its own phone number on real iMessage, running on Apple hardware we operate in a server facility. The number is used only for iMessage. Your code sends from it with POST /api/imessage/send and hears every reply on a signed webhook, so customers on iPhone see blue bubbles, your brand name and photo, typing indicators and tapbacks. For background, see what an iMessage API is.
| Item | ZeroSettle |
|---|---|
| Number | A dedicated phone number on iMessage that can message first |
| Price | Pro $49/month (1 number); Growth $599/month (3 numbers, +$199/month per extra number) |
| Per-message fees | None on API texts |
| Signup | Self-serve for Pro; no setup fee; month to month; 30-day money-back guarantee |
| New contacts | Pro: 5 a day per number. Growth: 50 a day per number. People who text first never count. |
| Messages with known contacts | Up to 10,000 a day per number, sent and received |
| Send | POST /api/imessage/send with a bearer token; text up to 4,000 characters, photos with captions, voice messages, polls |
| Receive | HMAC-SHA256 signed webhooks, about 1–2 s after the number receives a text; a live stream (SSE); GET /api/imessage/messages |
| SMS fallback | No: 422 not_on_imessage |
| MCP | https://portal.zerosettle.io/mcp (Streamable HTTP, OAuth 2.1) |
| Hosted AI agent | Optional; 500 credits a month on Pro, 1,000 on Growth (one credit per text it sends) |
How much does the ZeroSettle iMessage API cost?
Pro costs $49/month for one dedicated number and Growth costs $599/month for three. Both are billed monthly by Stripe with a 30-day money-back guarantee: ask within 30 days and you are refunded in full and the subscription is cancelled.
| Pro | Growth | |
|---|---|---|
| Price | $49/month | $599/month |
| Numbers included | 1 dedicated number | 3 numbers that work as one |
| Extra numbers | Can be added, billed monthly | $199/month each |
| New contacts a day | 5 per number | 50 per number (and 3 per 15 minutes) |
| Messages with known contacts | 10,000 a day per number | 10,000 a day per number |
| AI credits | 500 a month | 1,000 a month |
| How to sign up | Self-serve | From a Growth link (book a demo to get one) |
Pro is $49/month flat, no per-message fees on API texts. Credits pay for the hosted AI agent, one per text it sends; texts your own server sends through the API never use any. Packs are 1,000 for $50 or 5,000 for $200, paid once, and never expire. The money-back guarantee covers the subscription, not packs. More on plans in ZeroSettle pricing.
How does $49/month compare with other iMessage APIs?
ZeroSettle Pro is $49/month for a dedicated iMessage number that can message first. No managed iMessage API we checked publishes a lower price for a dedicated number (checked October 25, 2026). Courio also lists $49 (Starter: 500 outbound/month, then $0.02/message). Cheaper offers exist, but they are shared numbers or run on hardware you supply.
| Provider | Kind of number | Lowest published monthly price | Setup and notes |
|---|---|---|---|
| ZeroSettle Pro | Dedicated, can message first | $49 | No setup fee; 5 new contacts a day per number |
| Courio Starter | Dedicated | $49 | 500 outbound a month, then $0.02 a message; a new provider |
| Miss Blue | Dedicated | $99 sale price ($198 regular) | $479 setup per line, $0 if started before October 31 |
| LoopMessage Light | Dedicated, with the number and send-first add-ons | About $104.99 | About $60 in one-time add-on fees |
| SendiMessage | Dedicated | From $129 per line | Onboarding scope set during review |
| Tuco AI | Dedicated | From $149 | $335 one-time setup |
| Project Blue | Dedicated | $166 per line billed annually; $199 monthly on a 12-month commitment | Setup waived; demo required |
| Blue Reacher | Dedicated | $249 per line (or $1,949 a year) | $449 activation, waived on annual |
| Sendara | Dedicated | $249 first line, $149 each extra | $99 setup (from its own guide page) |
| Photon Business | Dedicated | $250 per line | — |
| Linq Pro | Dedicated | “Starting at $260/mo” | 7-day trial |
| Blooio Commercial Dedicated | Dedicated | $289 per line | No setup fee |
| Conduit | Dedicated (resold Linq or Sendblue numbers) | $300 per number | Paid annually |
| Texting Blue Lite | Your own iPhone and number | $19 per number | Up to 100 messages a day |
| LoopMessage shared sender | Shared | $20 | 50 monthly contacts, for AI assistants |
| Photon Pro | Shared pool | $25 | Up to 100 users |
| myCRMSIM | Your own Mac, iPhone and SIM | About $29 per line (from press reports) | Plus your own hardware and carrier plan |
| Blooio Starter | Shared | $39 | 5 new contacts a day |
| Blooio Inbound | Dedicated, reply-only | $98 | Cannot start new conversations |
| Sendblue AI Agent | Dedicated, inbound-first | $100 | Full outbound is on Enterprise, custom price |
| BlueBubbles | Self-hosted on your own Mac | Free (optional Pro from $3/month) | Your Mac, Apple ID and number |
Prices are each vendor's own published figures in US dollars. Sendara's figures come from its own guide page; myCRMSIM's pricing page could not be read, so its figure comes from press reports. More detail is in iMessage API pricing compared and the most affordable dedicated iMessage API.
The $49 price does not come with a larger allowance. Pro opens 5 new contacts a day per number, fewer than the 30–50 most $99+ plans allow; people who text first are never limited. If you need more first messages a day, Growth or a 30–50-a-day plan fits better; if you need SMS fallback for Android, Sendblue, Linq or LoopMessage offer it.
What are the limits?
The limits keep a number out of Apple's spam filters, and the API enforces them for every caller, the console included.
- New contacts: 5 a day per number on Pro, 50 a day (and 3 per 15 minutes) on Growth, reset at 3 AM Eastern. Over the limit, a send returns
429 new_contact_limit. - Known contacts: anyone who texted first, and every ongoing conversation, share the number's 10,000 messages a day.
- Unanswered messages: at most 2 to a contact who has never replied; a third returns
403 awaiting_reply. - Attachments wait for a reply: photos, voice messages and polls go only to contacts who have replied at least once (
403 attachment_before_reply). - iMessage only: no SMS or email fallback;
422 not_on_imessagemeans nothing was sent. - STOP: a contact who texts STOP is blocked on every number on the account (
403 recipient_opted_out). - One send at a time per number: a send that waits about 12 seconds returns
429 line_busy; retry after 2 seconds.
Every error code is in Errors, limits, and compliance.
What do a send and a webhook look like?
A send is one HTTPS POST with a bearer token (Send a message). It returns once the number has handed the message to Apple, normally in 2–5 seconds.
curl -s -X POST -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"to":"+18055559876","text":"Hi from the line"}' https://portal.zerosettle.io/api/imessage/send
A reply reaches your webhook as compact JSON with sorted keys, signed in the X-ZeroSettle-Signature header:
POST https://abc123.trycloudflare.com/webhook
Content-Type: application/json
User-Agent: ZeroSettle-iMessage/1
X-ZeroSettle-Event: message.received
X-ZeroSettle-Signature: t=1757400012,v1=3f0c…(64 hex chars)
{"event":"message.received","message":{"direction":"in","guid":"5A6F…","handle":"+18055559876","id":44,"status":"received","text":"hey!","ts_ms":1757400012000}}
The signature is HMAC-SHA256 with your webhook secret over "<t>." + raw body. Verify the raw bytes before parsing and reject a t more than 300 seconds from now (Webhooks, step by step):
import hmac, hashlib, time
def verify(secret: str, header: str, raw_body: bytes, tolerance: int = 300) -> bool:
try:
parts = dict(p.split("=", 1) for p in header.split(","))
t, v1 = int(parts["t"]), parts["v1"]
except Exception:
return False
if abs(time.time() - t) > tolerance:
return False
expected = hmac.new(secret.encode(), f"{t}.".encode() + raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, v1)
Answer 2xx within 10 seconds; otherwise ZeroSettle retries 3 more times, after 1, 5 and 20 seconds. React only to message.received in an auto-responder, because your own sends come back as message.sent. How to receive iMessages with a webhook covers retries and dedupe, and how to send an iMessage from code without a Mac covers the errors.
What can a ZeroSettle number send and receive?
Beyond text, a number handles most of what people use in Messages:
- Photos with captions and voice messages, both ways (Attachments).
- Tapbacks and typing indicators, both ways (Typing indicators).
- Inline replies, 13 iMessage effects and polls (Send a message).
- Chat backgrounds on iOS 26, received as a
background.changedevent. - Your brand name and photo, shared with each conversation.
- Several numbers working as one behind one API key and webhook (Your iMessage number).
- Group chats of up to 31 people, enabled per number on request (Group chats).
- Sign in with iMessage: verify a user by the iMessage they send (Sign in with iMessage).
Can an AI agent set it up or answer texts?
Yes, both. ZeroSettle runs a remote MCP server at https://portal.zerosettle.io/mcp, speaking Streamable HTTP with OAuth 2.1 (dynamic client registration and PKCE). Connected to Claude, Cursor or any MCP client, the agent can sign you up, set your name and photo, mint an API key, register and test your webhook, and send a test message to your own number. It is a setup tool: the server you build owns the conversation with your customers. See Connect your AI agent, MCP and connecting Claude Code or Cursor to an iMessage number.
With no server at all, the hosted AI agent answers your number for you from the business context you write, using one credit per text it sends (AI agent).
Where is the full API reference?
The docs are at portal.zerosettle.io/docs, and agents can read the raw markdown at https://portal.zerosettle.io/docs.md. Each page has its own URL:
- Your iMessage number: plans, getting a number, and more than one number
- Authentication: bearer tokens and what 401, 402 and 403 mean
- Quick start for an agent: the whole API in a few curl calls
- Send a message: texts, inline replies, effects, polls, and your name and photo
- Attachments: photos and voice messages, both ways
- Read messages: conversations and message history
- Typing indicators: show and receive “…”
- Retention offers: a worked use case
- Customer support: a worked use case
- Sign in with iMessage: verify a user by the iMessage they send
- AI agent: your own model, or the hosted agent with no server
- Webhooks, step by step: events, signing, retries
- Live stream (SSE): watch a number in real time
- Connect your AI agent: Claude, Cursor or any MCP client
- MCP: every tool the connector exposes
- Errors, limits, and compliance: every error code and limit
- CRM integrations: log conversations in your CRM
- Group chats: groups of up to 31 people, enabled per number on request
- Switch from Photon: a migration guide
- Switch from Linq: a migration guide
- Switch from Sendblue: a migration guide
How do I get a number?
- Open Get started and sign in with your phone number (you get a one-time SMS code).
- Answer one question about what you will use the number for. That claims the number.
- Set your brand name and photo, and text your own phone a test message from the new number.
- Subscribe. The console and the API open once the subscription is active.
Numbers can sell out; when they do, there is a waitlist. Growth customers sign up from a Growth link instead.
How we checked
We checked everything on this page on October 25, 2026.
- ZeroSettle facts come from its API docs, and we confirmed that each docs page linked above loads.
- Competitor prices come from each vendor's own pricing page. Courio's page renders in the browser, so we read its prices from the site's own script; Sendara's come from its own guide because its pricing page did not load; myCRMSIM's come from press reports. We tested no competitor accounts.
Prices change often. We log changes to this page in the changelog.
Frequently asked questions
How much does the ZeroSettle iMessage API cost?
Pro is $49/month for one dedicated iMessage number that can message first. Growth is $599/month for 3 numbers that work as one, plus $199/month for each number past three. Both are month to month with no setup fee, no per-message fees on API texts, and a 30-day money-back guarantee on the subscription.
Is $49/month the lowest price for a dedicated iMessage number?
No managed iMessage API we checked publishes a lower price for a dedicated number (checked October 25, 2026). Courio, a newer provider, also lists $49, with 500 outbound messages a month and then $0.02 a message. Shared numbers (Photon $25, Blooio $39, LoopMessage $20) and tools that run on your own iPhone or Mac (Texting Blue $19, BlueBubbles free) cost less, but they are not a dedicated number someone else runs for you.
How many people can a Pro number message first?
Five new contacts a day per number, reset at 3 AM Eastern. That is fewer than the 30 to 50 a day most $99+ plans allow. People who text your number first, and ongoing conversations, never count toward it; each number handles up to 10,000 messages a day with known contacts. Growth allows 50 new contacts a day per number.
Does ZeroSettle fall back to SMS for Android phones?
No. ZeroSettle is iMessage only. A first message to someone who isn't on iMessage returns 422 not_on_imessage, and nothing is sent, so keep another channel for those customers.
Do I need a Mac or an iPhone?
No. ZeroSettle runs your number on Apple hardware we operate in a server facility. Your server only makes HTTPS requests and receives webhooks, from any language.
Can I try it before paying?
Before you subscribe you can set your name and photo and send a test message from your new number to your own phone. After you subscribe, Pro has a 30-day money-back guarantee: ask within 30 days and you are refunded in full and the subscription is cancelled. Credit packs are not covered.
Can Claude or Cursor set it up for me?
Yes. Add the remote MCP server at https://portal.zerosettle.io/mcp (Streamable HTTP, OAuth 2.1). The agent can sign you up, mint an API key, register and test your webhook, and send a test message to your own number. It is a setup tool; the server you build owns the conversation with your customers.
Sources
- ZeroSettle iMessage API docs: "Your iMessage number", "Send a message", "Attachments", "Webhooks, step by step", "Connect your AI agent", "Group chats" and "Errors, limits, and compliance". Checked October 25, 2026.
- ZeroSettle iMessage API Terms of Service. Checked October 25, 2026.
- Courio home page, Courio. Checked October 25, 2026.
- Pricing, Miss Blue. Checked October 25, 2026.
- Pricing, LoopMessage. Checked October 25, 2026.
- SendiMessage home page, SendiMessage. Checked October 25, 2026.
- Pricing, Tuco AI. Checked October 25, 2026.
- Our pricing, Project Blue. Checked October 25, 2026.
- Pricing, Blue Reacher. Checked October 25, 2026.
- iMessage API buyer's guide, Sendara. Checked October 25, 2026.
- Pricing, Photon. Checked October 25, 2026.
- Pricing, Linq. Checked October 25, 2026.
- Pricing and pricing.md, Blooio. Checked October 25, 2026.
- iMessage pricing, Conduit docs. Checked October 25, 2026.
- Texting Blue home page, Texting Blue. Checked October 25, 2026.
- myCRMSIM launch coverage, MarTech Series. Checked October 25, 2026.
- Pricing, Sendblue. Checked October 25, 2026.
- Pricing, BlueBubbles. Checked October 25, 2026.
Changelog
- First published, with prices checked the same day.