Entrega email transaccional y de marketing desde una sola API.

Envía restablecimientos de contraseña, recibos de pedidos y campañas de marketing desde la misma integración. Pasa tu propio HTML, renderiza plantillas de React Email o personaliza plantillas guardadas en el momento del envío, con supresión automática de rebotes, reintentos seguros que evitan envíos duplicados y webhooks de entrega en tiempo real integrados.

¿Ya envías a través de SMTP?

Conecta tu mailer o framework actual al relay SMTP de Bird cambiando solo las credenciales, sin reescribir el código de tu aplicación. Si tu producto también necesita llevar a tu app las respuestas de clientes, los hilos de soporte o los adjuntos, combina el envío saliente con el email entrante.

Envía tu primer email en cinco minutos.

Prueba la entrega antes de configurar el DNS.

Integra el email saliente en tu app con la API de Email de Bird mediante nuestros SDK, el endpoint REST, la CLI o MCP. Puedes enviar tu primer mensaje de prueba a una dirección sandbox integrada al instante y verificar la gestión de webhooks y el comportamiento de los rebotes en desarrollo local antes de configurar los registros DNS de tu dominio.

1
2
3
4
5
6
7
8
9
10
// Install the SDK
// npm install @messagebird/sdk

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"

Protecciones integradas para el email en producción.

Ofrece una entrega de email fiable sin crear desde cero bloqueos de reintento, listas de rebotes ni pipelines de plantillas.

  1. 01

    Reglas separadas para email transaccional y de marketing.

    Envía restablecimientos de contraseña y campañas promocionales con una sola integración. Bird aplica automáticamente las preferencias de baja en el email de marketing y sigue entregando a tus usuarios las alertas críticas de cuenta y los recibos.

  2. 02

    Plantillas, adjuntos y envíos programados.

    Renderiza componentes de React Email en tu código, pasa HTML directamente o rellena plantillas guardadas con datos dinámicos del destinatario en el momento del envío. Adjunta PDF o imágenes en línea y programa entregas con hasta 30 días de antelación sin mantener tu propia cola de cron.

  3. 03

    Envío atómico en lote de hasta 100 mensajes.

    Envía hasta 100 emails personalizados en una sola llamada a la API, cada uno con su propio destinatario y sus variables de plantilla. Bird valida todo el lote de antemano, así que una entrada mal formada rechaza la solicitud limpiamente en lugar de dejar un envío parcial.

  4. 04

    Reintentos de red seguros sin emails duplicados.

    En producción hay timeouts de red. Añade una clave de solicitud única cuando tu worker envíe un email, para que los reintentos automáticos devuelvan el estado del envío original en lugar de enviar el email dos veces a tu cliente.

  5. 05

    Webhooks firmados para seguir la entrega en tiempo real.

    Sigue cada mensaje desde que el servidor lo acepta y llega a la bandeja de entrada hasta las aperturas, los clics en enlaces, los rebotes y las quejas de spam. Los webhooks firmados y protegidos contra repetición usan el mismo formato de eventos en Bird Email, SMS, WhatsApp y Voice.

Haz la primera solicitud desde tu aplicación.

Crea una cuenta y una clave API, luego sigue la guía de envío con un destinatario de prueba.

Empezar

Migra desde tu proveedor de email actual en una tarde.

Conserva tus plantillas HTML o React Email y cambia la llamada de envío con unas pocas líneas de código. Las guías de migración paso a paso te ayudan a trasladar dominios, webhooks y listas de supresión desde SendGrid, Amazon SES, Mailgun y Resend.

sendgrid.ts
SendGrid
import sgMail from "@sendgrid/mail";

sgMail.setApiKey(process.env.SENDGRID_API_KEY!);

await sgMail.send({
  from:    "hello@yourdomain.com",
  to:      "delivered@messagebird.dev",
  subject: "Your invite is ready",
  html:    "<p>Welcome aboard, Ada.</p>",
});
bird.ts
Bird
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.email.send({
  from:    "hello@yourdomain.com",
  to:      ["delivered@messagebird.dev"],
  subject: "Your invite is ready",
  html:    "<p>Welcome aboard, Ada.</p>",
});

Envía hasta 100 emails personalizados en una sola solicitud.

Tanto si envías resúmenes semanales del producto como recordatorios de facturación o notificaciones al equipo, puedes agrupar hasta 100 emails independientes en una sola llamada a la API, con personalización por destinatario. Bird valida todo el lote antes de aceptarlo, así que un mensaje no válido rechaza la solicitud limpiamente en lugar de dejar un envío parcial difícil de recuperar.

digest.ts
202 · batch
import { BirdClient } from "@messagebird/sdk";
import { render } from "@react-email/render";
import { Digest } from "./emails/digest";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const messages = await Promise.all(
  users.map(async (u) => ({
    from:    "Acme <hello@yourdomain.com>",
    to:      [u.email],
    subject: "Your weekly digest",
    html:    await render(<Digest user={u} />),
  })),
);

const { data: batch, error } = await bird.email
  .sendBatch(messages)
  .safe();

if (error) throw error;
console.log(`queued ${batch.data.length} messages`);

Relaciona las entregas con los registros y campañas de tu propia base de datos.

Etiqueta los emails con hasta 20 tags para desglosar las tasas de entrega, apertura y rebote por funcionalidad, flujo de onboarding o campaña. También puedes adjuntar hasta 2 KB de metadatos personalizados, como un ID de pedido, un número de factura o un ID de usuario, que se devuelven sin cambios en las lecturas de la API y en los eventos de webhook para que tu backend pueda asociar las actualizaciones de estado sin mantener una tabla de búsqueda.

tagged.ts
await bird.email.send({
  from:     "Acme <hello@yourdomain.com>",
  to:       ["delivered@messagebird.dev"],
  subject:  "Your invite is ready",
  html:     "<p>Welcome aboard, Ada.</p>",
  tags:     [{ name: "campaign", value: "spring-2026" }],
  metadata: { user_id: "u_2bX91", order_id: "ord_5512" },
});

Sigue la entrega, los rebotes y la interacción en tiempo real.

Sabrás cuándo el servidor de correo de un cliente acepta un email, cuándo un buzón está lleno temporalmente o por qué rebotó una dirección. Verifica una sola firma de webhook y gestiona los eventos con la misma estructura de payload en Email, SMS, Voice y WhatsApp.

app/api/webhooks/bird/route.ts
signed
import { bird } from "@/lib/bird";

export async function POST(req: Request) {
  const event = bird.webhooks.unwrap(
    await req.text(),
    Object.fromEntries(req.headers),
  );

  switch (event.type) {
    case "email.delivered":
      await markDelivered(event.data.email_id);
      break;
    case "email.bounced":
      await flag(event.data.recipient, event.data.bounce_type);
      break;
  }

  return new Response(null, { status: 204 });
}

Los rebotes permanentes y las quejas de spam añaden automáticamente al destinatario a tu lista de supresión, y las bajas registran una preferencia de exclusión para que los envíos futuros respeten automáticamente la decisión del destinatario.

  • email.acceptedBird aceptó tu solicitud de envío y puso el mensaje en cola para procesarlo.
  • email.processedEl mensaje está renderizado y listo para entregarse al servidor de correo del destinatario.
  • email.deliveredEl servidor de correo del destinatario aceptó el mensaje para su entrega.
  • email.deferredEl servidor receptor retrasó temporalmente la aceptación; Bird reintenta la entrega automáticamente.
  • email.bouncedLa entrega falló de forma permanente; se incluyen la clasificación del rebote y el motivo de diagnóstico.
  • email.openedEl destinatario abrió el email y cargó el píxel de seguimiento.
  • email.clickedEl destinatario hizo clic en un enlace con seguimiento del cuerpo del email.
  • email.complainedEl destinatario marcó el email como spam en su buzón.
  • email.unsubscribedEl destinatario se dio de baja mediante un enlace o una cabecera de baja con seguimiento.

Prueba rebotes, aplazamientos y quejas de forma segura antes del lanzamiento.

Usa las direcciones sandbox integradas de Bird para simular entregas correctas, rebotes permanentes, rebotes temporales, aplazamientos, quejas de spam y destinatarios suprimidos sin enviar emails a clientes reales ni arriesgar tu reputación como remitente. Cada envío de prueba pasa por el pipeline de eventos real y activa webhooks firmados hacia tu servidor local o de staging. Cuando estés listo para producción, verifica tu dominio de envío y deja que el calentamiento gestionado aumente el tráfico de forma segura.

Explora las guías para desarrolladores.

Sigue la guía de envío de email para enviar HTML, plantillas y archivos adjuntos desde tu backend, configura eventos de entrega y webhooks para sincronizar el estado de los mensajes con tu base de datos o usa una guía de migración de proveedor para cambiarte desde SendGrid, Amazon SES, Mailgun o Resend.

Crea los flujos de trabajo en torno al email saliente.

Cuando tu aplicación pueda enviar su primer email, podrás programar entregas con hasta 30 días de antelación, cancelar mensajes en cola antes de que salgan, adjuntar archivos o imágenes insertadas y ensayar la gestión de rebotes en staging.

161%

Aumento en las tasas de apertura de email reportado en la historia de cliente de Zillow.

Lee la historia de Zillow

Creado con Bird

Cuando aparece la casa indicada, el email tiene que llegar.

Zillow trasladó sus alertas de propiedades urgentes a Bird, con la capacidad de gestionar picos de envío y la analítica para entender la interacción. Su equipo reportó un aumento del 161 % en las tasas de apertura durante el primer mes.

¿Planeas una migración o un envío de mayor volumen?

Contactar con ventas

Preguntas sobre el envío de correo

¿Puedo enviar correo tanto transaccional como de marketing?
Sí, ambos se envían a través de la misma API de envío. La única diferencia es el campo de categoría, que determina cómo se aplican las supresiones y las cancelaciones de suscripción. Elige transactional para restablecimiento de contraseñas y recibos, y marketing para campañas.
¿Qué pasa si una solicitud expira y la reintento?
Envía un encabezado Idempotency-Key con cada envío lógico. Si la primera solicitud tuvo éxito pero nunca viste la respuesta, reproducirla con la misma clave te devuelve el resultado original con un encabezado Idempotency-Replay, en lugar de enviar el correo dos veces.
¿Puedo programar un envío para más tarde?
Establece scheduled_at en cualquier momento entre 30 segundos y 30 días en el futuro. El envío se devuelve como aceptado de inmediato y permanece programado hasta que se ejecute, por lo que puedes cancelarlo en cualquier momento antes de eso.
¿Puedo adjuntar archivos?
Sí, como base64 en el array de attachments. Para mostrar una imagen en línea, dale un content_id y referéncialo desde tu HTML con cid:. Mantén los archivos sin codificar en 15 MB o menos para que el mensaje quepa dentro del límite de 20 MB una vez codificado, y ten en cuenta que los tipos de contenido ejecutable y de script se rechazan antes del envío.

Habla con nuestro equipo de email

Crea tu próxima integración de email.

Hablemos de mensajes transaccionales, envíos masivos y eventos de entrega. Te ayudaremos a planificar tu integración, volumen de envío y migración.

Crea tu cuenta, luego crea una clave API y envía un mensaje de prueba.

Tus datos
Productos (opcional)
Email

Política de privacidad

Escala sin
perder el control.

Organiza equipos en espacios de trabajo, controla el acceso a la API y rastrea cambios en los registros de auditoría.

Empieza con Email.
Construye en todos los canales con Bird.

Start building with Bird in minutes.