Skip to content
imessageapi

Review / Self-hosted bridge

BlueBubbles logoBlueBubbles review

Open source. Brings iMessage to Windows, Linux and Android via a Mac you own.

BlueBubbles is a free, open-source project that runs a server on a Mac signed into your Apple Account and exposes a local API plus clients for other platforms. It was built for personal use — reading your own iMessages on Android — and people have adapted it for automation. You own the whole stack, and you also own every failure mode in it.

What it is good at

  • No per-message cost and no vendor lock-in.
  • Open source — you can read exactly what it does.
  • Full fidelity to the Messages app, because it is the Messages app.

Where it will bite you

  • Requires an always-on Mac and a personal Apple Account. That account is your single point of failure.
  • Sends from your personal number, not a business number — bad look and bad separation.
  • Automating a consumer account is squarely against Apple's terms; account lockout is a real risk.
  • No SMS fallback, so Android customers are simply unreachable.
  • macOS updates break bridges regularly. Budget for maintenance.

The shape of the API

Illustrative — parameter names and endpoints change. Treat this as the flavour of the integration, and copy the real thing from the official docs.

Send via the local server
# BlueBubbles runs on a Mac on your own network
curl -X POST "http://mac-mini.local:1234/api/v1/message/text?password=$BB_PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"chatGuid": "iMessage;-;+15551234567",
"message": "Order ready for pickup: https://acme.co/o/551?utm_source=imessage&utm_medium=sms&utm_campaign=pickup",
"method": "apple-script"
}'

Tracking links with BlueBubbles

UTM note

Nothing stops you tagging links here — but with no vendor-side delivery data you rely entirely on your own analytics.

Whatever you send with, build the URL from one helper so tagging is consistent across every job and campaign. Open the UTM builder to generate one now.

Still weighing options?

The comparison table puts all five side by side.