BIRD Email

L<highlight>API Email</highlight> per sviluppatori che inviano anche il resto del messaggio.

o

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.

welcome.tsx
200 · 1.2s
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..."

5 minuti da npm install al primo invio

Invia un'email dal linguaggio che già utilizzi.

SDK per ogni runtime principale. Il primo invio va a un destinatario di test autorizzato (delivered@bird.dev) così puoi configurare un check CI prima di verificare un dominio.

1
2
3
4
5
6
7
8
9
10
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.

  1. 01

    Signed at the edge.

    DKIM, SPF, DMARC e BIMI firmati per ogni dominio di invio verificato.

  2. 02

    Proactive blocklist tracking.

    Monitoraggio in tempo reale sulle principali DNSBL; avvisi prima che l'open rate cali.

  3. 03

    Managed dedicated IPs.

    Provisioning per account, riscaldamento automatico in 21 giorni, sostituzione immediata se un mittente perde reputazione.

  4. 04

    Dynamic suppression list.

    Bounce, reclami e disiscrizioni sopprimono il destinatario automaticamente e in modo reversibile.

  5. 05

    DNS verification in 60s.

    Aggiungi un dominio, incolla i record, clicca verifica. La maggior parte delle verifiche si completa in meno di un minuto.

  6. 06

    React Email templates.

    Renderizzati lato server nell'SDK. Passa un componente React come body; noi generiamo il MIME al momento dell'invio.

  7. 07

    Public share link per email.

    Ogni email inviata ottiene un URL pubblico di 48 ore per screenshot, ticket e segnalazioni di bug.

  8. 08

    Forty-two deliverability metrics.

    Per dominio, per ISP, per IP — visibili nella dashboard e tramite l'API di diagnostica.

  9. 09

    Inbound parsing.

    Webhook firmati con HMAC per indirizzo destinatario. Analizza le risposte; costruisci app con thread.

  10. 10

    Batch send up to 500.

    Destinatari distinti per chiamata, ognuno con le proprie variabili. Una sola chiave di idempotenza copre l'intero batch.

Why we build email

Perché i tuoi codici di verifica non dovrebbero trovarsi su un fornitore diverso dalle tue ricevute di consegna.

L'email non è un prodotto a sé; è un canale in un flusso. I codici di autenticazione partono come email e ripiegano su SMS. Le ricevute vengono inviate via WhatsApp quando il cliente lo preferisce. Bird Email è quello la cui API, i webhook e il contratto di idempotenza corrispondono a ogni altro canale — perché lo stesso team di ingegneri li ha costruiti tutti, sugli stessi fili che gestiamo da un decennio.

welcome.tsx
200 · 1.2s
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..."

Ogni cambio di stato è un webhook.

Payload firmati con HMAC, protetti da replay, idempotenti. Lo stesso formato su ogni canale Bird — impara uno, li conosci tutti.

POST /webhooks/bird
signed
{
  "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
  }
}

Programma di retry: 5s, 30s, 5m, 30m, 2h, 6h, 12h. Dead-letter dopo l'ultimo tentativo; ogni evento dead-letter è riproducibile dalla dashboard o dall'API.

  • email.queuedAccettato dall'API e in coda per l'invio.
  • email.sentConsegnato all'MTA ricevente.
  • email.deliveredL'MTA ricevente ha accettato il messaggio.
  • email.openedPixel di tracciamento caricato (se il tracciamento è abilitato).
  • email.clickedUn link tracciato è stato cliccato.
  • email.bouncedSoft o hard bounce — codice di bounce nel payload.
  • email.complainedIl destinatario ha segnalato il messaggio come spam.
  • email.unsubscribedIl destinatario ha usato l'header list-unsubscribe.
  • email.failedErrore permanente prima dell'invio.

Se hai integrato l'email, hai integrato gli SMS.

Stesso modello di autenticazione, stesso contratto di idempotenza, stesso formato errori, stessa struttura webhook. La differenza è ciò che ognuno fa — non come lo chiami.

Email

Verified domain, signed at the edge, suppression-aware. Render React or pass 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

Same envelope, same idempotency, same error type registry. The transport is the only difference.

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

Pricing

From $1.50 per 1,000 emails

Prezzo a consumo. Gli sconti per volume si applicano automaticamente sopra 100K/mese e di nuovo sopra 10M/mese. Nessun costo di piattaforma, nessun costo per utente, nessuna funzionalità bloccata dietro impegni annuali.

Trusted every day by teams that build world-class software

Inizia con un canale.
Aggiungi gli altri quando sei pronto.

Una chiave API di test è subito tua. La produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

Inizia oraLeggi la documentazioneo

Using Claude Code, Cursor, or Codex? Point it at our MCP server — tools for every channel we expose, with scoped agent keys.

Cursor