BIRD Email
Die E-Mail-API für Entwickler, die auch den Rest der Nachricht versenden.
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. 99.99% SLA on Email specifically.
import { BirdClient } from "@bird/sdk";
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",
react: <WelcomeEmail name="Ada" />,
}).safe();
if (error) throw error;
console.log(data.id);
// → "email_2bX91Yk8h..."You can sign in any time at bird.com/login.
Your test API key is on your dashboard, ready to send.
5 Minuten von npm install bis zum ersten Versand
Senden Sie eine E-Mail in der Sprache, die Sie bereits verwenden.
SDKs für jede gängige Runtime. Der erste Versand geht an einen freigegebenen Testempfänger (delivered@bird.dev), damit Sie einen CI-Check einrichten können, bevor Sie eine Domain verifizieren.
import { BirdClient } from "@bird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.email.send({
from: "you@yourdomain.com",
to: ["delivered@bird.dev"],
subject: "Hello from Node",
html: "<p>It works.</p>",
}).safe();Ten parts of email that
aren't your problem anymore.
Deliverability and operational primitives,
named and audit-able.
- 01
Signed at the edge.
DKIM, SPF, DMARC und BIMI signiert für jede verifizierte Absenderdomain.
- 02
Proactive blocklist tracking.
Live-Monitoring über die wichtigsten DNSBLs; Warnungen, bevor die Öffnungsrate sinkt.
- 03
Managed dedicated IPs.
Pro Account bereitgestellt, automatisch über 21 Tage aufgewärmt, bei Reputationsverlust des Absenders sofort ausgetauscht.
- 04
Dynamic suppression list.
Bounces, Beschwerden und Abmeldungen unterdrücken den Empfänger automatisch und reversibel.
- 05
DNS verification in 60s.
Domain hinzufügen, Einträge einfügen, auf Verifizieren klicken. Die meisten Verifizierungen sind in unter einer Minute abgeschlossen.
- 06
React Email templates.
Serverseitig im SDK gerendert. Übergeben Sie eine React-Komponente als Body; wir rendern die MIME beim Senden.
- 07
Public share link per email.
Jede gesendete E-Mail erhält eine 48-Stunden-URL für Screenshots, Tickets und Bug-Reports.
- 08
Forty-two deliverability metrics.
Pro Domain, pro ISP, pro IP — im Dashboard und über die Diagnostics-API verfügbar.
- 09
Inbound parsing.
HMAC-signierte Webhooks pro Empfängeradresse. Antworten parsen; Thread-basierte Apps bauen.
- 10
Batch send up to 500.
Individuelle Empfänger pro Aufruf, jeder mit eigenen Variablen. Ein Idempotency-Key deckt den gesamten Batch ab.
Why we build email
Weil Ihre Verifizierungscodes nicht bei einem anderen Anbieter liegen sollten als Ihre Zustellbestätigungen.
E-Mail ist kein eigenständiges Produkt — es ist ein Kanal in einem Flow. Auth-Codes starten als E-Mail und fallen auf SMS zurück. Belege werden per WhatsApp versendet, wenn der Kunde es bevorzugt. Bird Email ist die Lösung, deren API, Webhooks und Idempotency-Vertrag zu jedem anderen Kanal passen — weil dasselbe Engineering-Team sie alle gebaut hat, auf denselben Leitungen, die wir seit einem Jahrzehnt betreiben.
import { BirdClient } from "@bird/sdk";
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",
react: <WelcomeEmail name="Ada" />,
}).safe();
if (error) throw error;
console.log(data.id);
// → "email_2bX91Yk8h..."You can sign in any time at bird.com/login.
Your test API key is on your dashboard, ready to send.
Jede Statusänderung ist ein Webhook.
HMAC-signierte Payloads, Replay-geschützt, idempotent. Dasselbe Envelope auf jedem Bird-Kanal — einen lernen, alle kennen.
{
"type": "email.delivered",
"id": "evt_3nB91x...",
"created_at": "2026-05-19T15:42:01.221Z",
"data": {
"email_id": "email_2bX91Yk8h",
"from": "hello@bird.com",
"to": "ada@example.com",
"subject": "Your invite is ready",
"isp": "gmail",
"latency_ms": 1842
}
}Retry-Plan: 5s, 30s, 5m, 30m, 2h, 6h, 12h. Dead-Letter nach dem letzten Versuch; jedes Dead-Letter-Event kann über das Dashboard oder die API erneut abgespielt werden.
email.queuedVon der API akzeptiert und zum Versand eingereiht.email.sentAn den empfangenden MTA übergeben.email.deliveredDer empfangende MTA hat die Nachricht akzeptiert.email.openedTracking-Pixel abgerufen (falls Tracking aktiviert).email.clickedEin getrackter Link wurde geklickt.email.bouncedSoft- oder Hard-Bounce — Bounce-Code im Payload.email.complainedEmpfänger hat die Nachricht als Spam markiert.email.unsubscribedEmpfänger hat den List-Unsubscribe-Header verwendet.email.failedPermanenter Fehler vor dem Versand.
Wenn Sie E-Mail integriert haben, haben Sie auch SMS integriert.
Gleiches Auth-Modell, gleicher Idempotency-Vertrag, gleiches Error-Envelope, gleiche Webhook-Struktur. Der Unterschied liegt in der Funktion — nicht im Aufruf.
Verified domain, signed at the edge, suppression-aware. Render React or pass raw HTML.
await bird.email.send({
from: "hello@bird.com",
to: ["ada@example.com"],
subject: "Your code",
html: `<p>Code: ${code}</p>`,
});SMS
Same envelope, same idempotency, same error type registry. The transport is the only difference.
await bird.sms.send({
from: "Bird",
to: "+14155550172",
text: `Your code is ${code}.`,
});