What is the iMessage API?
The iMessage API is a REST interface for sending and receiving iMessages programmatically. Apple does not expose a public iMessage API — Blooio provides a fully-featured alternative with a dedicated iMessage-enabled phone number, webhooks for real-time events, and delivery tracking, all behind a simple HTTPS endpoint.
iMessage REST API
Standard HTTP verbs over JSON. Authenticate with a Bearer API key and start sending to any phone number or email in seconds.
Apple iMessage API
Apple does not publish an official iMessage API. Blooio runs real Apple infrastructure so your messages are delivered as blue bubbles, not SMS green bubbles.
Send iMessage from the API
One POST request sends an iMessage with text, attachments, reactions, or a multipart bubble — no SDK install required.
iMessage business API
Unlike Apple Messages for Business (MSP enrollment required), Blooio lets any business start sending iMessages in minutes with a standard REST API.
Enterprise-ready infrastructure
RESTful API
Standard HTTP methods with predictable JSON responses. Integrate in minutes.
- OpenAPI 3.0
- JSON Schema
- CORS enabled
Real-time Events
Webhook notifications for message delivery, read receipts, and reactions.
- Instant delivery
- Retry logic
- Event filtering
Security First
- End-to-end encryption with OAuth 2.0 and API key authentication.
- TLS 1.3
- HMAC signatures
- Rate limiting
- 100K+ Monthly API calls
- 10K+ Daily messages
- 99.99% Uptime SLA guarantees subject to signed enterprise agreements
- 24/7 Support
API Endpoints
GET /v2/api/chats
List all conversations (1-1 and groups)
GET /v2/api/chats/{chatId}
Get chat details
GET /v2/api/chats/{chatId}/messages
List messages in a chat
POST /v2/api/chats/{chatId}/messages
Send a message or multipart message
GET /v2/api/chats/{chatId}/messages/{messageId}
Get a specific message
GET /v2/api/chats/{chatId}/messages/{messageId}/status
Get message delivery status
POST /v2/api/chats/{chatId}/messages/{messageId}/reactions
Add or remove a reaction
POST /v2/api/chats/{chatId}/polls
Send a native iMessage poll
GET /v2/api/chats/{chatId}/polls/{pollId}
Get poll results with vote counts
POST /v2/api/chats/{chatId}/typing
Start typing indicator
DELETE /v2/api/chats/{chatId}/typing
Stop typing indicator
POST /v2/api/chats/{chatId}/read
Mark chat as read
Quick Start
Get started in seconds with your favorite language.
Languages
cURL
# Send a message to a phone number
curl -X POST https://backend.blooio.com/v2/api/chats/+1234567890/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Blooio! 👋",
"attachments": ["https://example.com/image.jpg"]
}'
# Check if phone supports iMessage
curl -X GET https://backend.blooio.com/v2/api/contacts/+1234567890/capabilities \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
"message_id": "Qm8FhbH3P7R",
"status": "queued"
}
Official iMessage SDKs for Node.js, Python, Go & Java
Prefer typed clients over raw REST? Blooio ships open-source iMessage SDKs for the four languages teams ask about most. Every SDK wraps the same endpoints documented on this page, adds idiomatic error types, and includes a webhook-signature helper so you can ship safely.
Official SDKs
- Node.js / TypeScript
- npm install @blooio/sdk
- Python
- pip install blooio
- Go
- go get github.com/Blooio/blooio-go-sdk
- Java
- implementation 'com.blooio:blooio-sdk:latest.release'
Frequently Asked Questions
Does iMessage have an API?
Apple does not offer a public iMessage API. However, Blooio provides a fully-featured REST API that lets you send and receive iMessages programmatically. You get webhooks for real-time events, delivery tracking, read receipts, and support for attachments — all through standard HTTP requests.
How do I send iMessages programmatically?
With Blooio's API, you make a simple POST request to send an iMessage. Pass the recipient's phone number and your message text, and Blooio handles delivery through real Apple infrastructure. You can send from cURL, Node.js, Python, Go, Java, or any language that supports HTTP.
What is the iMessage API pricing?
Blooio starts at $39/month for a dedicated iMessage-enabled number with unlimited messages. There are no per-message fees, no segment charges, and no hidden costs. A free trial is available with no credit card required.
Can I use iMessage for business messaging?
Yes. Blooio is purpose-built for business iMessage communication. Use it for sales outreach, appointment reminders, customer support, and AI agent workflows. Unlike Apple's Messages for Business (which requires MSP enrollment and complex setup), Blooio lets you start sending in minutes via API or no-code integrations.