BIRD Email

L<highlight>API Email</highlight> pour les développeurs qui envoient aussi le reste du message.

ou

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 minutes entre npm install et le premier envoi

Envoyez un e-mail dans le langage que vous utilisez déjà.

SDK pour chaque runtime majeur. Le premier envoi est adressé à un destinataire de test autorisé (delivered@bird.dev) afin que vous puissiez ajouter un check CI avant de vérifier un domaine.

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 et BIMI signés pour tout domaine d'envoi vérifié.

  2. 02

    Proactive blocklist tracking.

    Surveillance en temps réel des principales DNSBL ; alertes avant que le taux d'ouverture ne baisse.

  3. 03

    Managed dedicated IPs.

    Provisionnées par compte, chauffées automatiquement sur 21 jours, remplacées à chaud si un expéditeur perd sa réputation.

  4. 04

    Dynamic suppression list.

    Rebonds, plaintes et désinscriptions suppriment le destinataire automatiquement et de manière réversible.

  5. 05

    DNS verification in 60s.

    Ajoutez un domaine, collez les enregistrements, lancez la vérification. La plupart des vérifications aboutissent en moins d'une minute.

  6. 06

    React Email templates.

    Rendu côté serveur dans le SDK. Passez un composant React en tant que corps ; nous générons le MIME au moment de l'envoi.

  7. 07

    Public share link per email.

    Chaque e-mail envoyé obtient une URL publique de 48 heures pour les captures d'écran, les tickets et les rapports de bugs.

  8. 08

    Forty-two deliverability metrics.

    Par domaine, par FAI, par IP — affichées dans le tableau de bord et via l'API de diagnostics.

  9. 09

    Inbound parsing.

    Webhooks signés HMAC par adresse de destinataire. Analysez les réponses ; créez des applications avec fils de discussion.

  10. 10

    Batch send up to 500.

    Destinataires distincts par appel, chacun avec ses propres variables. Une seule clé d'idempotence couvre le lot.

Why we build email

Parce que vos codes de vérification ne devraient pas vivre chez un fournisseur différent de vos accusés de réception.

L'e-mail n'est pas un produit à part ; c'est un canal dans un flux. Les codes d'authentification commencent par e-mail et basculent sur SMS. Les reçus sont envoyés par WhatsApp quand le client le préfère. Bird Email est celui dont l'API, les webhooks et le contrat d'idempotence correspondent à tous les autres canaux — parce que la même équipe d'ingénierie les a tous construits, sur les mêmes infrastructures que nous exploitons depuis dix ans.

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

Chaque changement d'état est un webhook.

Payloads signés HMAC, protégés contre le rejeu, idempotents. La même enveloppe sur chaque canal Bird — apprenez-en un, vous les connaissez tous.

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
  }
}

Planning de réessais : 5s, 30s, 5m, 30m, 2h, 6h, 12h. Mise en dead-letter après la dernière tentative ; chaque événement dead-letter est rejouable depuis le tableau de bord ou l'API.

  • email.queuedAccepté par l'API et mis en file d'attente pour l'envoi.
  • email.sentTransmis au MTA destinataire.
  • email.deliveredLe MTA destinataire a accepté le message.
  • email.openedPixel de suivi récupéré (si le suivi est activé).
  • email.clickedUn lien suivi a été cliqué.
  • email.bouncedRebond soft ou hard — code de rebond dans le payload.
  • email.complainedLe destinataire a signalé le message comme spam.
  • email.unsubscribedLe destinataire a utilisé l'en-tête list-unsubscribe.
  • email.failedÉchec permanent avant l'envoi.

Si vous avez intégré l'e-mail, vous avez intégré le SMS.

Même modèle d'authentification, même contrat d'idempotence, même enveloppe d'erreur, même format de webhook. La différence, c'est ce que chacun fait — pas comment vous l'appelez.

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

Tarification à l'usage. Les remises volume s'appliquent automatiquement au-dessus de 100K/mois et à nouveau au-dessus de 10M/mois. Pas de frais de plateforme, pas de frais par utilisateur, pas de fonctionnalités verrouillées derrière un engagement annuel.

Trusted every day by teams that build world-class software

Commencez avec un seul canal.
Ajoutez les autres quand vous êtes prêt.

Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

CommencerLire la docou

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

Cursor