A code-first guide to sending iMessages via REST API. Send messages, track delivery, receive webhooks, and handle attachments — from any language or platform.
REST
Standard HTTP API
$0
Per-message fees
<5 min
Integration time
Any
Language or platform
Everything you need to send iMessages programmatically. Pick your language and follow along.
# chatId is a URL-encoded E.164 phone number
curl -X POST "https://backend.blooio.com/v2/api/chats/%2B15551234567/messages" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"text": "Hey! This is sent via the Blooio API."
}'
# Response (202 Accepted):
# { "message_id": "msg_abc123", "status": "queued" }Everything you need to integrate iMessage into your app, workflow, or AI agent.
Standard HTTP requests with JSON. No SDKs required — works with fetch, axios, requests, or any HTTP client.
Receive incoming messages, delivery receipts, and read receipts as they happen. Just register a URL.
Check if a number supports iMessage before sending. Automatically fall back to SMS or RCS for Android recipients.
Fully cloud-hosted. Send iMessages from your server, Lambda, Cloud Function, or any environment — no Mac or iPhone needed.
Comprehensive API docs with examples for every endpoint. Authentication, messaging, webhooks, and capabilities.
Unlimited messages on every plan. No segment charges, no overage fees. Predictable monthly pricing starting at $39/mo.
Connect iMessage to your tools without writing a line of code.
Common questions from developers integrating the iMessage API.
No. Apple does not provide a public API for sending iMessages. Apple Messages for Business only supports inbound, customer-initiated conversations and requires MSP enrollment. Blooio provides a REST API that lets you send outbound iMessages programmatically from any language or platform — no Apple hardware needed.
Blooio manages rate limiting automatically with built-in risk tolerance monitoring. There are no hard per-message fees or arbitrary daily caps. The system optimizes send rates per number to maximize deliverability while keeping your account healthy. You can also scale across multiple numbers for higher throughput.
POST to /webhooks with your URL and webhook_type ("message", "status", or "all"). When an event fires, Blooio POSTs to your endpoint with the event type, message_id, external_id (sender), text, protocol, and timestamp. Your server just returns a 200 status code.
Blooio starts at $39/month for a dedicated iMessage-enabled number with unlimited messages and full API access. No per-message fees, no segment charges. A free trial is available with no credit card required.
Yes. Blooio is fully cloud-hosted — you make standard HTTPS requests from any server, language, or platform. No Apple hardware is required on your end. Send from Node.js, Python, Ruby, Go, or any language that can make HTTP requests.
Free trial — no credit card required. Get your API key and send your first iMessage in under 5 minutes.