Developer API

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
curl -X POST https://api.texting.blue/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "to": "+1234567890",
    "from": "+1234567890",
    "content": "Hello from Texting Blue!"
  }'
JavaScript
const response = await fetch("https://api.texting.blue/v1/messages", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    to: "+1234567890",
    from: "+1234567890",
    content: "Hello from Texting Blue!",
  }),
});

const message = await response.json();
console.log(message.id); // "msg_abc123"
Python
import requests

response = requests.post(
    "https://api.texting.blue/v1/messages",
    headers={
        "x-api-key": "YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "to": "+1234567890",
        "from": "+1234567890",
        "content": "Hello from Texting Blue!",
    },
)

message = response.json()
print(message["id"])  # "msg_abc123"

API Endpoints

Everything you need to send, receive, and manage iMessage conversations.

POST /v1/messages

Send an iMessage to a phone number.

GET /v1/messages

List messages with filtering by conversation, date range, and status.

GET /v1/messages/:id

Get a single message by ID, including delivery status and timestamps.

GET /v1/messages/threads

List all conversations with the latest message and unread count.

POST /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.

Incoming webhook payload
{
  "type": "message.received",
  "data": {
    "id": "msg_xyz789",
    "from": "+1234567890",
    "to": "+0987654321",
    "content": "Hey, is my order shipped yet?",
    "timestamp": "2026-02-08T14:30:00Z",
    "conversation_id": "conv_abc123"
  }
}

Authentication

Generate your API key from the Texting Blue dashboard and include it in the x-api-key header of every request.

x-api-key: tb_live_xxxxxxxxxxxxxxxxxxxxxxxx

Start Building With the iMessage API

Get your API key in 60 seconds. Send your first message in under 5 minutes.