BIRD Email

उन developers के लिए Email API जो बाकी संदेश भी ship करते हैं।

इतने में सेट अप करें:
Cursor

Transactional and marketing email on the same infrastructure that carries your SMS, voice, and WhatsApp. About 40% of the world's commercial email transits the Bird network. We've been at this a decade. On Black Friday weekend 2025 we processed 19.9 billion emails.

welcome.tsx
200 · 1.2s
import { BirdClient } from "@messagebird/sdk";
import { render } from "@react-email/render";
import { WelcomeEmail } from "./emails/welcome";

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

const { data, error } = await bird.email.send({
  from:    "Bird <hello@bird.com>",
  to:      ["ada@example.com"],
  subject: "Your invite is ready",
  html:    await render(<WelcomeEmail name="Ada" />),
}).safe();

if (error) throw error;
console.log(data.id);
// → "em_2bX91Yk8h..."

5 minutes from npm install to first send

उसी भाषा से ईमेल भेजें जो आप पहले से इस्तेमाल करते हैं।

हर प्रमुख runtime में SDKs। पहला send किसी अधिकृत test पते (delivered@messagebird.dev) पर जा सकता है, ताकि डोमेन verify करने से पहले ही आप live API (sends, webhooks, पूरा flow) के खिलाफ build कर सकें।

1
2
3
4
5
6
7
const msg = await bird.email.send({
  from: { email: "onboarding@messagebird.dev", name: "Bird" },
  to: ["delivered@messagebird.dev"],
  subject: "Hello from Bird",
  html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"

email के दस हिस्से जो अब आपकी समस्या नहीं रहे।

Deliverability और operational primitives, नामित और audit-able।

  1. 01

    Edge पर signed।

    Three records to publish: DKIM, a return-path CNAME, and a DMARC policy. The CNAME covers SPF too, so nothing has to go on your domain apex.

  2. 02

    An audit before you send a byte.

    Point the audit tool at any domain and it resolves the live DMARC, SPF, DKIM, BIMI, and MX records, grades how they work together, and ranks what to fix. No account needed.

  3. 03

    Managed dedicated IPs।

    प्रति account provisioned और करीब 30 दिनों में अपने-आप warm किए गए, आपके नियंत्रण वाले pools में organize।

  4. 04

    Dynamic suppression list।

    Bounces, complaints और unsubscribes recipient को अपने-आप और reversibly suppress कर देते हैं।

  5. 05

    No polling to verify a domain.

    Add a domain, publish the records, and Bird re-checks on its own until they resolve, usually within minutes of DNS propagating. There's a verify call if you want an answer right now.

  6. 06

    Stored templates, or your own HTML.

    Name a stored template and Bird renders it with Liquid, or render React Email to HTML in your app and pass the result.

  7. 07

    Searchable email log।

    आपके द्वारा भेजा गया हर संदेश उसके delivery events और status के साथ log होता है। किसी भी ईमेल को ID से query करें।

  8. 08

    Deliverability metrics, विस्तार से विभाजित।

    Bounce codes, complaint types, और mailbox-provider तथा client breakdowns, प्रति domain, ISP और IP विभाजित, dashboard में और stats API के जरिए।

  9. 09

    Inbound parsing।

    Take a Bird-generated forwarding address, or publish MX records on a subdomain you own. Either way the mail arrives as a signed webhook you can thread.

  10. 10

    एक बार में 100 तक batch send।

    प्रति call 100 तक स्वतंत्र संदेश, हर एक अपने recipient और variables के साथ। एक idempotency key पूरे batch को कवर करती है।

हम email क्यों बनाते हैं

क्योंकि आपके verification codes आपके delivery receipts से अलग vendor में नहीं रहने चाहिए।

Email अपने आप में कोई product नहीं है; यह एक flow का एक channel है। Auth codes email के रूप में शुरू होते हैं और SMS पर fall back करते हैं। Receipts WhatsApp से जाते हैं जब customer उसे पसंद करता है। Bird Email वह है जिसका API, webhooks, और idempotency contract हर दूसरे channel से मेल खाते हैं, क्योंकि इन सबको एक ही engineering team ने एक ही network पर बनाया है।

welcome.tsx
200 · 1.2s
import { BirdClient } from "@messagebird/sdk";
import { render } from "@react-email/render";
import { WelcomeEmail } from "./emails/welcome";

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

const { data, error } = await bird.email.send({
  from:    "Bird <hello@bird.com>",
  to:      ["ada@example.com"],
  subject: "Your invite is ready",
  html:    await render(<WelcomeEmail name="Ada" />),
}).safe();

if (error) throw error;
console.log(data.id);
// → "em_2bX91Yk8h..."

हर state change एक webhook है।

HMAC-signed payloads, replay-protected, idempotent। हर Bird channel पर वही signed envelope, इसलिए email के लिए आप जो handler लिखते हैं वह पहले से ही आपके SMS और WhatsApp events parse कर लेता है।

POST /webhooks/bird
signed
{
  "type": "email.delivered",
  "timestamp": "2026-05-19T15:42:01.221Z",
  "data": {
    "email_id":       "em_01krdgeqcxet5s7t44vh8rt9mg",
    "recipient_id":   "er_01krdgeqcxet5s7t44vh8rt9mg",
    "workspace_id":   "ws_01krdgeqcxet5s7t44vh8rt9mg",
    "recipient":      "ada@example.com",
    "recipient_role": "to",
    "tags":     [{ "name": "campaign", "value": "spring-2026" }],
    "metadata": { "order_id": "ord_5512" }
  }
}

Eight attempts over roughly 27.5 hours, backing off 5s, 5m, 30m, 2h, 5h, 10h, 10h with 20% jitter so retries don't synchronize. Every attempt reuses the same webhook-id, which is what makes your deduplication check work. After the last one the delivery is permanently failed, and a replay call recovers it.

  • email.acceptedThe send was accepted and is being prepared for delivery.
  • email.processedQueued for the recipient's mail server.
  • email.deliveredThe recipient's mail server accepted the message.
  • email.openedThe recipient opened the message. Can fire more than once.
  • email.clickedThe recipient clicked a tracked link.
  • email.bouncedPermanently failed: bounce type and SMTP code in the payload.
  • email.complainedThe recipient reported the message as spam.
  • email.unsubscribedThe recipient opted out through a tracked unsubscribe link.
  • email.list_unsubscribedThe recipient used their mail client's one-click unsubscribe.

अगर आपने Email integrate किया है, तो आपने SMS भी integrate कर लिया है।

वही auth model, वही idempotency contract, वही error envelope, वही webhook shape। फर्क इस बात में है कि हर एक क्या करता है, न कि आप उसे कैसे call करते हैं।

Email

Verified domain, edge पर signed, suppression-aware। React render करें या raw HTML पास करें।

order-shipped.tsx
await bird.email.send({
  from:    "hello@bird.com",
  to:      ["ada@example.com"],
  subject: "Your code",
  html:    `<p>Code: ${code}</p>`,
});

SMS

वही envelope, वही idempotency, वही error type registry। फर्क सिर्फ transport का है।

order-shipped.tsx
await bird.sms.send({
  from:     "Bird",
  to:       "+14155550172",
  text:     `Your code is ${code}.`,
  category: "authentication",
});

Pricing

प्रति 1,000 ईमेल $0.30 से

मुफ्त शुरू करें: महीने के 1,000 ईमेल, बिना कार्ड। Paid plans 50K के लिए $15 से शुरू होते हैं, और जैसे-जैसे आप 2.5M तक बढ़ते हैं Growth प्रति-संदेश दर घटती रहती है। कोई platform fee नहीं, कोई seat fee नहीं, कोई tier features annual commits के पीछे बंद नहीं।

world-class software बनाने वाली टीमों का हर दिन का भरोसा

एक चैनल से शुरुआत करें।
तैयार होने पर बाकी जोड़ें।

एक test API key तुरंत आपकी है। जब आप payment method जोड़ते हैं और sender verify करते हैं, तब production अनलॉक हो जाता है।

Claude Code, Cursor या Codex इस्तेमाल कर रहे हैं? एक setup prompt कॉपी करें और आपका agent आपके लिए Bird CLI और skills इंस्टॉल कर देगा। अपना चुनें:

Cursor