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.