iMessage has no public API. These services have one anyway.
A working guide for small businesses that want to reach customers in the app they already read — with real code, honest trade-offs between providers, and UTM tagging so you can prove the channel paid for itself.
// Apple ships no public iMessage API. These services do.const res = await fetch("https://api.provider.com/v1/messages", { method: "POST", headers: { Authorization: `Bearer ${process.env.API_KEY}` }, body: JSON.stringify({ to: "+15551234567", text: `Your table is held until 7:15. ${tagged("https://acme.co/confirm", { campaign: "reservation_hold", })}`, }),});// → delivered as a blue bubble, tracked in your analyticsAcme Auto
iMessage · read 2:41 PM
- Your table is held until 7:15. acme.co/confirmDelivered · blue bubble
- Typing
- On my way, thanks!
The whole situation, in three parts
Everyone hits the same wall, in the same order.
You want to text customers from your software. You search for an iMessage API. You find out there isn't one. Here is what happens next.
Apple never opened the door
There is no iMessage SDK, no developer portal, no sanctioned endpoint. Messages for Business exists but is aimed at large brands with a support-desk integration, not a plumber with 400 customers.
A handful of services opened one anyway
Sendblue, MissBlue, LoopMessage and others run the Apple-side infrastructure and hand you a REST API. You POST JSON. Your customer sees a blue bubble from your business number.
Then you tag the links, or you learn nothing
Tapped links from Messages usually carry no referrer, so your best channel reports as direct traffic. UTM parameters are the entire fix, and they take an afternoon.
Bubble colour is a business decision
Blue is a protocol. Green is a phone bill.
iMessage runs over the internet: encrypted, receipts, full-resolution media, no carrier fee. SMS is a carrier product with a per-segment cost and none of that. Your customers are split across both, so the only sane architecture is one send call that routes automatically.
iPhone recipient
- ✓ end-to-end encrypted
- ✓ delivery + read receipts
- ✓ full-resolution photos
- ✓ link preview unfurls
- ✓ no carrier fee
Android recipient
- ○ carrier SMS/MMS
- ○ no read receipts
- ○ compressed media
- ○ plain-text link
- ○ per-segment cost
The services that do have an API
10 ways to get a blue bubble out of your codebase.
Most of them you should not ship on. We are not paid by any of these — the comparison is ours, and the trade-offs are stated plainly.
Hosted APISendblue
The best-known hosted iMessage API, and the usual default.
Setup: Under an hour
Platform
Miss Blue
An iMessage API plus a full conversation platform around it.
Setup: Under an hour for the inbox; an afternoon for the API
Hosted APILinq
The enterprise-leaning option, and the only one advertising SOC 2 Type II.
Setup: Sandbox immediately; production after a sales cycle
Hosted APIBlooio
Transparent flat-rate pricing, aimed squarely at AI agents.
Setup: Under an hour
Attribution
Your best channel is reporting as “direct traffic”.
A link tapped inside Messages generally passes no referrer. Without UTM parameters, every sale that started with a text gets filed under nothing. Five query parameters fix it permanently.
Untagged — invisible
https://acme.co/book
→ Analytics reports: (direct) / (none)
Tagged — attributed to the dollar
https://acme.co/book?utm_source=imessage&utm_medium=sms&utm_campaign=spring_service_special&utm_content=variant_a
→ Analytics reports: imessage / sms / spring_service_special
Built for the businesses that text
If your customers already have your number, this is for you.
Small operations get the most out of this channel because their messages are genuinely useful. A reminder is not spam when the person is expecting you on Thursday.
Salons & barbers
Confirmations and last-minute chair fills.
Auto & home repair
Quote approvals, ready-for-pickup, payment links.
Clinics & studios
Reminders that cut no-shows without a phone call.
Restaurants
Waitlist pings and reservation holds people actually see.
Contractors
Schedule changes to a crew and a client in one thread.
Local retail
Restock alerts and drop announcements to opted-in regulars.
Guides
Start here, in this order.
Each one is a working walkthrough, not a listicle.
- Why iMessageWhy iMessage is the best channel a small business is not usingYour email sits unopened. Your ads cost more every quarter. Meanwhile the app your customers check 90 times a day is sitting right there, and it is the one place a small business can out-compete a national chain.11 min
- Why iMessageWhy iMessage beats email for local customer communicationEmail is not dead. It is just no longer where anyone reads anything time-sensitive — and almost everything a small business needs to say is time-sensitive.8 min
- Why iMessageThe real cost of iMessage vs SMS for a small businessOne is free to deliver and costs you access. The other has a carrier fee per segment and gets expensive precisely when it works. Here is how to model it before you commit.7 min
- Why iMessageWhen not to use iMessage for your businessThe most useful thing a guide about a channel can tell you is where it fails. Here are the situations where texting customers is the wrong call, from people who like the channel.6 min
Not sure which provider fits your shop?
Tell us what you send, how many customers you have, and what you already run. We will point you at the option that fits — including the one where the answer is “you do not need iMessage for this”.