Messaging infrastructure for developers.

A developer API for email, SMS, voice, and WhatsApp.
Running on the network that already carries 40% of the world's commercial messages.

Using Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:

Dipercaya setiap hari oleh tim yang membangun perangkat lunak kelas dunia

Baca lebih banyak kisah pelanggan

Langsung pasang.

Bentuk sama, di setiap stack.

SDKs in every major runtime. REST when you need it and SMTP coming soon. MCP for the agent on your shoulder.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import express from 'express';

import { BirdClient } from '@messagebird/sdk';

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const app = express();
app.use(express.json());

app.post('/welcome', async (req, res) => {
  await bird.email.send({
    from: 'onboarding@bird.dev',
    to: [req.body.email],
    subject: 'Welcome to Bird',
    html: '<p>You are in.</p>',
  });
  res.json({ sent: true });
});

01 Direct sending IPs / React Email rendering (Soon) / Managed warm-up

Send Email. HTML and plain text, React Email soon. Delivered on the network the ISPs already trust.

Baca Dokumentasi Email

Direct sending IPs, managed warm-up, ISP-aware routing, SPF/DKIM/DMARC handled. Templates render in HTML and plain text; React Email coming soon.

email.tsx
200 · 1.2s
import { BirdClient } from '@messagebird/sdk';

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.email.send({
  from: 'onboarding@bird.dev',
  subject: 'Hello from Bird',
  html: '<p>Your first email is <strong>live</strong>.</p>',
});
View on Github
Per-ISP delivery breakdown
Per-message audit log

02 A2P 10DLC / Operator Tier-1 / Fallback voice OTP

SMS is being upgraded

Kirim SMS. Operator Tier-1, 190+ negara, dengan urusan kepatuhan yang ditangani untuk Anda.

A2P 10DLC, alpha sender ID, registrasi entitas DLT — kami mengurus semua pengajuan yang perlu Anda ajukan. Routing cerdas per tujuan. Fallback voice OTP saat SMS menurun. Kode 6 digit sampai dalam waktu kurang dari tiga detik di jalur yang paling penting.

sms.ts
200 · 0.4s
import { BirdClient } from '@messagebird/sdk';

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.sms.send({
  from: 'Bird',
  to: '+14155550182',
  text: 'Your Bird code is 482917.',
});

Today at 2:14 PM

Hey Ada — your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.
482917
Delivered
Pengajuan 10DLC + verifikasi merek dalam 48 jam
Keragaman rute per tujuan
Fallback voice OTP (opt-in per akun)
Harga akurat per segmen dalam respons

03 PSTN + SIP / streaming TTS / alur deklaratif

Voice is being upgraded

Gunakan Voice. Voice yang dapat diprogram, di PSTN dan SIP, dengan TTS yang tidak terdengar robotik.

Panggilan keluar dan masuk. JSON alur deklaratif untuk IVR. Perekaman dan transkripsi langsung. Streaming TTS dalam tiga puluh bahasa dengan audio first-byte di bawah 250 md — model dimuat sebelum panggilan terhubung.

voice.ts
201 · 0.4s
import { BirdClient } from '@messagebird/sdk';

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.calls.create({
  from: '+14155550100',
  to: '+14155550182',
  flow: [{ say: 'Your verification code is four, eight, two...' }],
});

Bird Verify

+1 (415) 555-0182

Yourverificationcodeisfoureighttwonineoneseven.

Streaming TTS dalam 30+ bahasa
Alur deklaratif: say, gather, dial, transfer
Perekaman + transkrip langsung melalui WebSocket
Terminasi PSTN + SIP, BYOC didukung

04 Cloud API / pesan template / balasan interaktif

WhatsApp is being upgraded

Kirim WhatsApp. Cloud API resmi. Template, tombol interaktif, dan media — di kanal yang sudah digunakan tiga miliar orang.

Template yang telah disetujui, pesan sesi, dan balasan interaktif. Tanda terima pengiriman dan dibaca di setiap pesan. Satu nomor, semua percakapan — dengan API bertipe yang sama seperti email dan SMS.

whatsapp.ts
200 · 480ms
import { BirdClient } from '@messagebird/sdk';

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.whatsapp.send({
  to: '+14155550182',
  template: 'order_shipped',
  variables: { order: 'RG-29481', carrier: 'UPS' },
});

Order RG-29481 shipped

Hey Ada — your order is on the way. Carrier UPS, ETA Wednesday.

Track order
Contact support
9:42 AM
Akses Cloud API resmi
Pesan template + sesi
Tombol dan daftar interaktif
Tanda terima pengiriman + dibaca

Kami adalah tim engineer yang senang membangun alat untuk engineer lainnya.

Test mode, real-time webhooks, and an MCP server for the agent on your shoulder.

202 Accepted: { "id": "em_01kove1gv2hs72p4rq94zmt" }
202 Accepted: { "id": "em_01k50rmp0fe5kbyt8rah4ja" }
202 Accepted: { "id": "em_01km947y1ofmto7ilsfudgv" }
202 Accepted: { "id": "em_01k3eho76xg32xg32tk7idg" }
202 Accepted: { "id": "em_01kkju9g76dgb6psfupkna1" }
202 Accepted: { "id": "em_01k1o7qlcfexojyhwvqxw7i" }

Test mode. Simulasikan setiap status — delivered, bounced, complained, queued — tanpa membakar anggaran nyata atau mengenai penerima asli.

POST /webhooks/bird
15:42:16200sms.failed128ms
15:42:13500email.delivered42ms
15:42:10200whatsapp.read55ms
15:42:07200voice.completed91ms
15:42:04200sms.failed128ms
15:42:01200email.delivered42ms

Webhook modular. Real-time event webhooks, per channel. email.delivered, sms.failed, voice.completed, whatsapp.read. HMAC-signed. Replay-protected. Same shape every channel.

MCP untuk agen. Connect Claude or Cursor to Bird's hosted MCP server, or run it locally with the bird CLI. Your agent gets typed tools across every channel — scoped keys, full audit, no leakage.

Lima produk.

Satu layer bersama.

Email, SMS, voice, WhatsApp, and Realtime — all built on the same primitives. Learn the platform once, ship across every channel.

Auth. One key format. Scoped to send vs. manage, read vs. write. Prefix + fingerprint so you know which key did what. Multiple keys live at once, so you rotate on your schedule.

Idempotency. Idempotency-Key on every POST, PATCH, and DELETE. Replays come back free and flagged. Reuse a key with a different body and you get a 409, not a surprise.

Error. One envelope. One closed type union. Every code ships with a docs link and a message that tells you what to do.

Webhook. Standard Webhooks spec: HMAC-SHA256, per-endpoint secrets, 5-minute replay window — verify with any off-the-shelf library. Rotate secrets with a 24-hour dual-signing overlap. Attempt logs and replay built in.

Pagination. Cursor-based. Stable order on every list, enforced by construction — no page drift, ever.

Rate limits. IETF RateLimit headers on every response — not just the 429. You can see your budget before you hit the wall, and Retry-After when you do.

Suppressions. Bounces, complaints, unsubscribes — managed automatically, queryable and editable via API. Transactional streams can bypass marketing unsubscribes. Idempotent by design.

Pesan Anda, benar-benar sampai.

Sinyal real-time tentang penempatan inbox, bounce rate, dan volume pengiriman — di setiap channel, setiap wilayah. Tanpa tebak-tebakan.

Pesan komersial dunia, berdasarkan volume, melewati jaringan Bird.

40%

Negara dengan hubungan langsung ke operator, keragaman rute, dan kepatuhan lokal yang tertangani.

190+

Menjalankan infrastruktur ini. Tim di baliknya adalah tim yang membangun API.

10 tahun

Mulai dengan satu channel.
Tambahkan yang lain saat Anda siap.

API key uji coba langsung tersedia untuk Anda. Akses produksi terbuka setelah Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Using Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours: