Send messages
Text, attachments, and threaded replies. Group chats supported.
Receive messages
Get notified instantly via signed webhooks when messages arrive.
Audio messages
Native iMessage waveform balloons, with on-device transcription on inbound voice memos.
Contact cards
Send rich vCards the recipient can save with one tap.
Reactions
Send and receive iMessage reactions (love, like, laugh, emphasize, etc.).
Typing & read receipts
Send typing indicators and mark conversations as read.
What you can do
Contact-first. Outside the sandbox, the recipient must message your line
before you can send to them. See Send a message › Contact-first
restriction.
How it works
- Sign up at app.messages.dev and create an API key
- Activate your sandbox: text an activation code to the sandbox number to pair your phone
- Send messages, reactions, and typing indicators via the TypeScript SDK (recommended) or the REST API directly
- Receive incoming messages and events in real time via webhooks
messages-dev CLI is the fastest path.
listen --forward-to <url>
streams live events into a local handler with the same HMAC headers
production webhooks use, so you can build and test webhook handlers without
ngrok or a registered webhook.
curl tab too — the
SDK is a convenience layer, not a requirement.
Key concepts
Get started
Quickstart
Send your first message in 5 minutes
TypeScript SDK
Recommended for TypeScript / Node.js
CLI
messages-dev — send from your terminal and stream live events into a
local handler. Best path for local dev.REST API Reference
Use the API directly from any language
Going to production
Limits
Per-line throughput and daily volume guidance.
Multiple lines
Scale by spreading users across more lines.