iMessage API · private beta

Turn iMessage
into revenue

Blue bubbles your customers actually read. Send and receive iMessage from your app, CRM, or AI agent over one secure REST API — delivery receipts, attachments, and real-time webhooks included.

<1swebhook delivery
0carrier fees · no A2P
99.9%target uptime
send-message
# One request. One blue bubble.
curl https://api.bluetext.app/v1/messages/send \
  -H "Authorization: Bearer $DEVICE_TOKEN" \
  -d '{
    "to": "+14155551234",
    "content": "Your table is ready 🍷"
  }'
const res = await fetch("https://api.bluetext.app/v1/messages/send", {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.DEVICE_TOKEN}` },
  body: JSON.stringify({
    to: "+14155551234",
    content: "Your table is ready 🍷",
  }),
});

console.log(await res.json()); // { status: "queued" }
import requests

res = requests.post(
    "https://api.bluetext.app/v1/messages/send",
    headers={"Authorization": f"Bearer {DEVICE_TOKEN}"},
    json={"to": "+14155551234",
          "content": "Your table is ready 🍷"},
)
print(res.json())  # {"status": "queued"}
How it works

Signup to sent in 30 seconds

No demo calls, no carrier paperwork. Connect a device and start sending.

1

Request access

Email us during the private beta and receive your API credentials the same day.

hello@bluetext.app
2

Pair your iPhone

Your device connects outward over HTTPS — no ports, no VPN, no shared Wi-Fi.

device token
3

POST a message

One request sends a real blue bubble. Replies stream back over webhooks.

POST /v1/messages/send
Product

Everything iMessage,
nothing you don't need

A focused API surface for the channel with the highest open rates on earth.

💬

Native blue bubbles

Real iMessage delivery from a real number. No gray-bubble SMS fallback unless you ask for it.

⚡

Fast, boring REST

One POST to send. JSON everywhere. Predictable errors, idempotency keys, stable handles.

📮

Delivery receipts

Delivered, read, and reply events stream to your webhook the moment they happen.

📎

Rich attachments

Photos, videos, voice memos, and files — full resolution, not carrier-mangled MMS.

🤖

Built for agents

Thread state, stable message handles, and approval flows so AI agents stay auditable.

🔓

No A2P, no 10DLC

Skip weeks of carrier registration. Your device, your numbers, message today.

workflow.ts
import { BlueText } from "bluetext";

const bt = new BlueText(process.env.DEVICE_TOKEN);

// On new CRM deal: send a blue-bubble nudge
await bt.messages.send({
  to: deal.contact.phone,
  content: `Hi ${deal.contact.firstName}, free Friday at 2pm?`,
});
Developers

An API you'll
memorize today

POST
/v1/messages/sendSend content, recipient, optional attachments. Returns a stable message handle.
GET
/v1/threadsList conversations and state. Replies arrive with extracted text — no quoted-history parsing.
POST
/v1/webhooksmessage.sent · delivered · read · received. Signed payloads, automatic retries.
GET
/v1/healthThe same endpoint our monitors poll — public to authenticated clients.
Security

Locked down like it's
already production

Your customers' messages deserve infrastructure that assumes adversaries exist.

✓
The origin is not on the public internetThe API runs on a private network. Its only entry point is a Cloudflare Tunnel — there is no IP to attack.
✓
Cloudflare Access on every requestMachine clients authenticate with dedicated service tokens. Anonymous traffic is rejected at the edge — it never touches the app.
✓
Per-device credentialsEach connected iPhone gets its own token. Revoke one device without touching the rest.
✓
Audit trail from day oneEvery command and event is recorded — who asked, what shipped, when it landed.
✓
Strict transport everywhereHSTS, TLS-only, no mixed content. Strict security headers ship on every response — including this page.
✓
Your data stays yoursMessage bodies are never logged. Request logs carry handles, not content.
Pricing

Simple, flat, honest

Per connected device. No per-segment carrier math, no surprise fees.

Developer

$0
free while in beta
  • 1 connected device
  • 500 messages / month
  • Full REST API + webhooks
  • Community support
Start free
Most popular

Pro

$49/mo
per connected device
  • Unlimited messages
  • Attachments & group chats
  • Approval workflows for agents
  • Priority queue & 99.9% target
Get API access

Scale

$199/mo
per connected device
  • Everything in Pro
  • Multiple devices & numbers
  • Dedicated tunnel & keys
  • Direct support channel
Talk to us
FAQ

Questions, answered

Do I need my own iPhone?
Yes — BlueText routes through a device you own, which is what keeps delivery native (real blue bubbles) and avoids A2P carrier registration entirely. The device only makes outbound connections; nothing is exposed on it.
What happens when a recipient isn't on iMessage?
You choose per-send: fail cleanly with a webhook event, or fall back to SMS if the device has a texting plan. You're never silently downgraded.
How do AI agents use it safely?
Agents draft into an approval queue; a human approves and BlueText sends. Every command carries an idempotency key and lands in the audit log.
Is this compliant for outbound sales?
BlueText is a transport layer, not a legal shield. You're responsible for consent and opt-outs in your jurisdiction — we give you the tools (opt-out handling, audit logs) and you bring the judgment.

Your customers are
on iMessage.

Get API access during the private beta — no credit card, no A2P paperwork.

Request access