Project Blue logo
Project Blue API

Project Blue for developers

A REST API and MCP server for real iMessage, SMS, FaceTime Audio, and call outcomes — so you can build texting and calling into your own product instead of buying a CRM to get it.

✓ 14 days of Project Blue on us
Project Blue API

Why build on the Project Blue API?

Project Blue runs a fleet of real iPhone lines and gives you HTTP access to them. Send blue-bubble iMessage, read every reply, run durable multi-step Workflows, place FaceTime Audio calls, and pull back call recordings with AI-classified outcomes — all with a Bearer key. If your team is building its own CRM or sales tooling, this is the comms layer you don't have to build.

1
REST API

Send an iMessage with one POST

POST a number and a body to /send-api-message and it goes out as blue-bubble iMessage from a real iPhone line. Bearer auth, pick a line with /get-lines, and idempotency keys so a retry can't double-text anyone.

Send an iMessage with one POST
REST API
2
Two-Way Messaging

Read every reply, by API or by webhook

GET /get-messages-api pages the full thread with attachments and delivery state. Or register a webhook and Project Blue posts inbound and outbound messages as they land, so your app reacts instead of polling.

Read every reply, by API or by webhook
Two-Way Messaging
3
Workflows

Multi-step sequences that survive your deploys

POST /enroll-flow and Project Blue runs the sequence — send, delay, wait for reply, call your webhook — with durable state in Postgres. Runs pin the flow at enrollment, so edits can't corrupt anything in flight.

Multi-step sequences that survive your deploys
Workflows
4
Call Intelligence

Calls come back with a recording, a transcript, and an outcome

GET /get-call-logs-api returns every dial with duration, recording URL, Whisper transcript, and an AI-classified outcome — meeting_scheduled, callback_requested, voicemail, and more. A structured field your code can branch on, not a blob to parse.

Calls come back with a recording, a transcript, and an outcome
Call Intelligence
5
FaceTime Audio

Place a FaceTime Audio call over HTTP

POST /start-facetime-call-api to dial, poll /get-facetime-call-status-api for live state, and /end-facetime-call-api to hang up. It rings as FaceTime rather than an unknown number, and recordings get the same transcript and outcome treatment.

Place a FaceTime Audio call over HTTP
FaceTime Audio
6
MCP Server

Point Claude or Cursor straight at your lines

A remote MCP server with fifteen tools across messaging, message history, call logs, FaceTime, contacts, and Workflows. Connect Claude or Cursor over OAuth 2.1 with PKCE — no config file, no long-lived key in a prompt.

Point Claude or Cursor straight at your lines
MCP Server
Developers
Build texting into your own CRM — send, receive, and log threads against your own records instead of adopting someone else's inbox.
AI SDR agents — give an agent its own line over MCP, with call outcomes and Workflows so it can act on what actually happened.
Speed-to-lead — fire a text from your lead router the moment a form submits, checking iMessage availability first to pick the right channel.
Lifecycle and re-engagement — enroll contacts in a Workflow from your backend and let wait-for-reply handle the branching for you.
Reporting pipelines — pull call logs, transcripts, and classified outcomes into your warehouse and report on outcomes rather than dial counts.