Bird Products

Nueve superficies. Una plataforma. La misma estructura.

Email, SMS, Voice, WhatsApp, Verify, Lookup, RCS, Push y Realtime — cada uno una API de primer nivel. Misma autenticación, misma idempotencia, mismos webhooks, mismo formato de errores. Aprende uno y los conoces todos.

Configura en:
Cursor

Todos los productos. Nueve superficies, un SDK.

01POST /v1/emails

Email. La API de email para desarrolladores que también envían el resto del mensaje.

welcome.tsx
await bird.email.send({
  to: ["alex@example.com"],
  subject: "Welcome to Bird",
  html: "<p>You're in. Let's ship.</p>",
});
02POST /v1/sms

SMS. La API de SMS para desarrolladores que realmente necesitan lanzar.

notify.ts
await bird.sms.send({
  to: "+15005550006",
  text: "Your code is 847291. Expires in 10 min.",
});
SMS se está actualizando
03POST /v1/voice/calls

Voice. Voz programable en JSON. Llamadas, IVR, grabación, TTS.

dial.ts
await bird.voice.calls.create({
  to: "+15005550010",
  from: "+14155550199",
  flow: [
    { say: "Your order is confirmed." },
  ],
});
Voice se está actualizando
04POST /v1/whatsapp/messages

WhatsApp. La API de WhatsApp Business, sin el papeleo del BSP.

message.ts
await bird.whatsapp.send({
  to: "+15005550006",
  type: "text",
  text: { body: "Order confirmed! 🎉" },
});
WhatsApp se está actualizando
05POST /v1/verify/verifications

Verify. La API de OTP para desarrolladores que necesitan que los códigos lleguen.

verify.ts
await bird.verify.verifications.create({
  to: { phone_number: "+15005550006" },
});
// check by target — no id to store
await bird.verify.verifications.check({
  to: { phone_number: "+15005550006" }, code: userCode,
});
En vista previa
06GET /v1/lookup

Lookup. Inteligencia de números telefónicos: tipo de línea, operador, señales de fraude.

lookup.ts
const { lineType, carrier, fraud } =
  await bird.lookup.get("+15005550006");
Lookup se está actualizando
07POST /v1/rcs

RCS. RCS Business Messaging — el hermano mejor parecido de SMS.

rich.ts
await bird.rcs.send({
  to: "+15005550006",
  text: "Your order shipped! 📦",
  suggestions: [
    { type: "openUrl", text: "Track it", url },
  ],
});
RCS se está actualizando
08POST /v1/push

Push. Notificaciones push para iOS, Android y web.

push.ts
await bird.push.send({
  to: { deviceToken },
  notification: {
    title: "Order shipped!",
    body: "Your package is on its way.",
  },
});
Push se está actualizando
09POST /v1/realtime/publish

Realtime. Pub/sub alojado sobre WebSocket. Suscríbete, publica, escala.

realtime.ts
await bird.realtime.publish({
  channel: "orders",
  event: "order.shipped",
  data: { orderId, status: "shipped" },
});
Realtime se está actualizando

Todos los productos anteriores comparten un mismo modelo de autenticación, un mismo contrato de idempotencia, un mismo formato de errores, un mismo contrato de webhooks y un mismo esquema de paginación por cursor. Aprende uno y los conoces todos.

/ Auth

/ Idempotency

/ Errors

/ Webhooks

/ Pagination

/ Typed IDs

Ver los endpoints de la API

Empieza con un canal.
Añade los demás cuando estés listo.

Una clave API de prueba es tuya de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

¿Usas Claude Code, Cursor o Codex? Copia un prompt de configuración y tu agente instalará el Bird CLI y las habilidades por ti. Elige el tuyo:

Cursor