iMessage API for Developers
A simple REST API to send and receive iMessages. Integrate blue bubble messaging into any application in minutes.
Send an iMessage in Seconds
Pick your language. Copy the code. Send your first message.
curl -X POST https://api.texting.blue/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"body": "Hello from Texting Blue!"
}' const response = await fetch("https://api.texting.blue/v1/messages", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "+1234567890",
body: "Hello from Texting Blue!",
}),
});
const message = await response.json();
console.log(message.id); // "msg_abc123" import requests
response = requests.post(
"https://api.texting.blue/v1/messages",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"to": "+1234567890",
"body": "Hello from Texting Blue!",
},
)
message = response.json()
print(message["id"]) # "msg_abc123" API Endpoints
Everything you need to send, receive, and manage iMessage conversations.
/v1/messages Send an iMessage to a phone number. Supports text, images, and rich links.
/v1/messages List messages with filtering by conversation, date range, and status.
/v1/messages/:id Get a single message by ID, including delivery status and timestamps.
/v1/conversations List all conversations with the latest message and unread count.
/v1/webhooks Register a webhook URL to receive real-time events for incoming messages and delivery updates.
Real-Time Webhooks
Receive incoming messages and delivery status updates in real time. Register a webhook URL and Texting Blue will POST events to your server as they happen.
{
"event": "message.received",
"data": {
"id": "msg_xyz789",
"from": "+1234567890",
"to": "+0987654321",
"body": "Hey, is my order shipped yet?",
"timestamp": "2026-02-08T14:30:00Z",
"conversation_id": "conv_abc123"
}
} message.received
New incoming iMessage
message.sent
Outgoing message confirmed
message.delivered
Delivered to recipient
Authentication
All API requests are authenticated with a Bearer token. Generate your API key from the Texting Blue dashboard and include it in the Authorization header of every request.
Authorization: Bearer tb_live_xxxxxxxxxxxxxxxxxxxxxxxx Test Mode
Use tb_test_ keys to test your integration without sending real messages.
Live Mode
Use tb_live_ keys in production to send real iMessages to real phone numbers.
Start Building With the iMessage API
Get your API key in 60 seconds. Send your first message in under 5 minutes.