BIRD Email

A API de Email para desenvolvedores que também enviam o resto da mensagem.

Configure em:
Cursor

E-mail transacional e de marketing na mesma infraestrutura que transporta o seu SMS, voz e WhatsApp. Cerca de 40% do e-mail comercial mundial passa pela rede Bird. Fazemos isto há uma década. No fim de semana da Black Friday de 2025, processámos 19,9 mil milhões de e-mails.

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 minutos com npm install ao primeiro envio

Envie um email na linguagem que já utiliza.

SDKs em todos os principais runtimes. O primeiro envio pode ir para um endereço de teste autorizado (delivered@messagebird.dev), então você pode desenvolver contra a API ao vivo (envios, webhooks, todo o fluxo) antes de verificar um domínio.

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"

Dez partes do e-mail que já não são problema seu.

Primitivas de entregabilidade e operacionais, nomeadas e auditáveis.

  1. 01

    Assinado na edge.

    Três registos a publicar: DKIM, um CNAME de return-path e uma política DMARC. O CNAME cobre também o SPF, por isso nada precisa de ser adicionado ao apex do seu domínio.

  2. 02

    Uma auditoria antes de enviar um único byte.

    Aponte a ferramenta de auditoria para qualquer domínio e ela resolve os registos DMARC, SPF, DKIM, BIMI e MX em tempo real, avalia como funcionam em conjunto e classifica o que deve ser corrigido. Sem necessidade de conta.

  3. 03

    IPs dedicados gerenciados.

    Provisionados por conta e aquecidos automaticamente ao longo de cerca de 30 dias, organizados em pools que você controla.

  4. 04

    Lista de supressão dinâmica.

    Bounces, reclamações e cancelamentos de subscrição suprimem o destinatário automaticamente e de forma reversível.

  5. 05

    Sem polling para verificar um domínio.

    Adicione um domínio, publique os registos e o Bird volta a verificar automaticamente até que sejam resolvidos — normalmente em minutos após a propagação do DNS. Existe uma chamada de verificação se quiser uma resposta imediata.

  6. 06

    Templates armazenados ou o seu próprio HTML.

    Indique um template armazenado e o Bird renderiza-o com Liquid, ou renderize React Email para HTML na sua aplicação e passe o resultado.

  7. 07

    Log de email pesquisável.

    Cada mensagem que você envia é registrada com seus eventos de entrega e status. Consulte qualquer email por ID.

  8. 08

    Métricas de entregabilidade, detalhadas.

    Códigos de bounce, tipos de reclamação e detalhamentos por provedor de caixa postal e cliente, separados por domínio, ISP e IP, no dashboard e via API de estatísticas.

  9. 09

    Parsing de entrada.

    Use um endereço de reencaminhamento gerado pelo Bird ou publique registos MX num subdomínio que lhe pertença. Em ambos os casos, o e-mail chega como um webhook assinado que pode encadear.

  10. 10

    Envie em lote até 100.

    Até 100 mensagens independentes por chamada, cada uma com seu próprio destinatário e variáveis. Uma chave de idempotência cobre o lote.

Por que construímos e-mail

Porque os seus códigos de verificação não deviam estar num fornecedor diferente dos seus recibos de entrega.

O email não é um produto isolado; é um canal dentro de um fluxo. Códigos de autenticação começam como email e recorrem ao SMS. Recibos são enviados por WhatsApp quando o cliente prefere. O Bird Email é aquele cuja API, webhooks e contrato de idempotência combinam com todos os outros canais, porque a mesma equipe de engenharia construiu todos eles na mesma rede.

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

Cada mudança de estado é um webhook.

Payloads assinados com HMAC, protegidos contra replay, idempotentes. O mesmo envelope assinado em todos os canais Bird, então o handler que você escreve para email já interpreta seus eventos de SMS e WhatsApp.

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

Oito tentativas ao longo de aproximadamente 27,5 horas, com intervalos crescentes de 5s, 5m, 30m, 2h, 5h, 10h, 10h com 20% de jitter para que as tentativas não se sincronizem. Cada tentativa reutiliza o mesmo webhook-id, que é o que faz a sua verificação de deduplicação funcionar. Após a última tentativa, a entrega falha permanentemente, e uma chamada de replay permite recuperá-la.

  • email.acceptedO envio foi aceite e está a ser preparado para entrega.
  • email.processedEm fila para o servidor de e-mail do destinatário.
  • email.deliveredO servidor de e-mail do destinatário aceitou a mensagem.
  • email.openedO destinatário abriu a mensagem. Pode ser acionado mais do que uma vez.
  • email.clickedO destinatário clicou num link rastreado.
  • email.bouncedFalha permanente: tipo de bounce e código SMTP no payload.
  • email.complainedO destinatário reportou a mensagem como spam.
  • email.unsubscribedO destinatário cancelou a subscrição através de um link rastreado de cancelamento.
  • email.list_unsubscribedO destinatário utilizou o cancelamento de subscrição com um clique do seu cliente de e-mail.

Se integrou email, integrou SMS.

Mesmo modelo de autenticação, mesmo contrato de idempotência, mesmo envelope de erro, mesmo formato de webhook. A diferença está no que cada um faz, não em como você o chama.

Email

Domínio verificado, assinado no edge, com gestão de supressões. Renderize React ou envie HTML puro.

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

SMS

Mesmo envelope, mesma idempotência, mesmo registo de tipos de erro. O transporte é a única diferença.

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

Preços

A partir de US$ 0,30 por 1.000 emails

Comece grátis: 1.000 emails por mês, sem cartão. Os planos pagos começam em $15 para 50K, e a tarifa por mensagem do Growth continua caindo conforme você escala até 2,5M. Sem taxa de plataforma, sem taxa por usuário, sem recursos de tier bloqueados atrás de contratos anuais.

Confiado todos os dias por equipas que constroem software de classe mundial

Comece com um canal.
Adicione os outros quando estiver pronto.

Uma chave API de teste é sua imediatamente. A produção é desbloqueada quando você adiciona um método de pagamento e verifica um remetente.

Usa Claude Code, Cursor ou Codex? Copie um prompt de configuração e o seu agente instala o Bird CLI e as skills por si. Escolha o seu:

Cursor