BIRD Email

Die Email-API für Entwickler, die auch den Rest der Nachricht ausliefern.

Eingerichtet in:
Cursor

Transaktionale und Marketing-E-Mails auf derselben Infrastruktur, die Ihre SMS-, Voice- und WhatsApp-Nachrichten transportiert. Etwa 40 % der weltweiten kommerziellen E-Mails laufen über das Bird-Netzwerk. Wir machen das seit einem Jahrzehnt. Am Black-Friday-Wochenende 2025 haben wir 19,9 Milliarden E-Mails verarbeitet.

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 Minuten mit npm install bis zum ersten Versand

Sende eine Email aus der Sprache, die du ohnehin nutzt.

SDKs für jede große Runtime. Der erste Versand kann an eine zugelassene Testadresse gehen (delivered@messagebird.dev), sodass du gegen die Live-API entwickeln kannst (Sends, Webhooks, der gesamte Flow), bevor du eine Domain verifizierst.

1
2
3
4
5
6
7
8
9
10
11
12
13
bird email send \
  --category transactional \
  --cc manager@bird.com \
  --from 'Bird Support <hello@bird.com>' \
  --header X-Campaign=spring-2026 \
  --html '<h1>Hi there 👋</h1>' \
  --metadata '{"user_id":"usr_12345"}' \
  --reply-to support@bird.com \
  --subject 'Welcome aboard' \
  --tag category=welcome \
  --text 'Hi there' \
  --to 'Jane Doe <customer@bird.com>' \
  --track-clicks=false

Zehn Teile von Email, die nicht mehr dein Problem sind.

Deliverability- und Betriebs-Primitive, benannt und auditierbar.

  1. 01

    Signiert am Edge.

    DKIM, SPF und DMARC signiert für jede verifizierte Sending-Domain, mit optionaler BIMI-Unterstützung.

  2. 02

    Proaktives Blocklist-Tracking.

    Live-Monitoring über die großen DNSBLs; Alerts, bevor die Open-Rate einbricht.

  3. 03

    Verwaltete Dedicated IPs.

    Pro Account bereitgestellt und automatisch über rund 30 Tage aufgewärmt, organisiert in Pools, die du steuerst.

  4. 04

    Dynamische Suppression-Liste.

    Bounces, Complaints und Abmeldungen unterdrücken den Empfänger automatisch und reversibel.

  5. 05

    DNS-Verifizierung in 60s.

    Domain hinzufügen, Records einfügen, auf Verify klicken. Die meisten Verifizierungen sind in unter einer Minute durch.

  6. 06

    React-Email-Templates.

    Server-gerendert im SDK. Übergib eine React-Komponente als Body; wir rendern das MIME beim Versand.

  7. 07

    Durchsuchbares Email-Log.

    Jede Nachricht, die du sendest, wird mit ihren Delivery-Events und ihrem Status geloggt. Frag jede Email per ID ab.

  8. 08

    Deliverability-Metriken, aufgeschlüsselt.

    Bounce-Codes, Complaint-Typen sowie Aufschlüsselungen nach Mailbox-Provider und Client, aufgeteilt pro Domain, ISP und IP – im Dashboard und über die Stats-API.

  9. 09

    Inbound-Parsing.

    HMAC-signierte Webhooks pro Empfängeradresse. Parse Antworten; bau Apps mit Threads.

  10. 10

    Batch-Versand von bis zu 100.

    Bis zu 100 unabhängige Nachrichten pro Aufruf, jede mit eigenem Empfänger und eigenen Variablen. Ein Idempotency-Key deckt den gesamten Batch ab.

Warum wir Email bauen

Weil deine Verifizierungscodes nicht bei einem anderen Anbieter liegen sollten als deine Zustellbelege.

Email ist kein eigenständiges Produkt; sie ist ein Kanal in einem Flow. Auth-Codes starten als Email und fallen auf SMS zurück. Belege gehen per WhatsApp raus, wenn der Kunde das bevorzugt. Bird Email ist die, deren API, Webhooks und Idempotency-Vertrag zu jedem anderen Kanal passen – weil dasselbe Engineering-Team sie alle auf demselben Netzwerk gebaut hat.

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..."

Jede Statusänderung ist ein Webhook.

HMAC-signierte Payloads, replay-geschützt, idempotent. Derselbe signierte Envelope auf jedem Bird-Kanal, sodass der Handler, den du für Email schreibst, schon deine SMS- und WhatsApp-Events parst.

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

Bis zu 10 Versuche mit exponentiellem Backoff und Jitter: sofort, 5s, 30s, 2m, 10m, 30m, 1h, 2h, 4h, 8h. Nach dem letzten Versuch gilt die Zustellung als dauerhaft fehlgeschlagen und ist über Dashboard oder API erneut abspielbar.

  • email.acceptedVon der API akzeptiert und in Vorbereitung zur Zustellung.
  • email.processedGebaut und für den empfangenden Server eingereiht.
  • email.deliveredDer empfangende Mailserver hat die Nachricht akzeptiert.
  • email.openedTracking-Pixel geladen (wenn Tracking aktiviert ist).
  • email.clickedEin getrackter Link wurde geklickt.
  • email.bouncedPermanenter Bounce: Bounce-Typ und SMTP-Code in der Payload.
  • email.complainedDer Empfänger hat die Nachricht als Spam markiert.
  • email.unsubscribedHat einen getrackten Abmeldelink im Body geklickt.
  • email.list_unsubscribedHat den One-Click-List-Unsubscribe-Header genutzt.

Wenn du Email integriert hast, hast du SMS integriert.

Gleiches Auth-Modell, gleicher Idempotency-Vertrag, gleicher Error-Envelope, gleiche Webhook-Form. Der Unterschied liegt darin, was jeder tut, nicht wie du ihn aufrufst.

Email

Verifizierte Domain, signiert am Edge, suppression-aware. Render React oder übergib rohes 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

Gleicher Envelope, gleiche Idempotency, gleiches Error-Type-Registry. Der Transport ist der einzige Unterschied.

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

Preise

Ab $0.30 pro 1.000 Emails

Starte kostenlos: 1.000 Emails pro Monat, ohne Karte. Bezahlte Pläne beginnen bei $15 für 50K, und der Growth-Preis pro Nachricht sinkt weiter, während du auf 2,5 Mio. skalierst. Keine Plattformgebühr, keine Seat-Gebühr, keine Tier-Features hinter Jahresverträgen.

Täglich genutzt von Teams, die erstklassige Software bauen

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:

Cursor