Bird Products

Nove superfici. Una piattaforma. Stessa struttura.

Email, SMS, Voice, WhatsApp, Verifications, Lookup, RCS, Push e Flows — ognuno un'API di prima classe. Stessa autenticazione, stessa idempotenza, stessi webhook, stesso formato di errore. Impara uno, li conosci tutti.

Inizia oraLeggi la documentazioneo

Tutti i prodotti. Nove superfici, un solo SDK.

01POST /v1/emails

Email. L'API email per sviluppatori che inviano anche il resto del messaggio.

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. L'API SMS per sviluppatori che devono davvero rilasciare.

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

Voice. Voce programmabile in JSON. Chiamate, IVR, registrazione, TTS.

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

WhatsApp. L'API WhatsApp Business, senza il passaggio dal BSP.

message.ts
await bird.whatsapp.send({
  to: "+15005550006",
  type: "text",
  text: { body: "Order confirmed! 🎉" },
});
In arrivo
05POST /v1/verification

Verifica. L'API OTP per sviluppatori che hanno bisogno che i codici arrivino.

verify.ts
const { id } = await bird.verifications.start({
  to: "+15005550006",
  channel: "sms",
});
await bird.verifications.check({ id, code: userCode });
In arrivo
06GET /v1/lookup

Lookup. Intelligence sui numeri di telefono: tipo di linea, operatore, segnali di frode.

lookup.ts
const { lineType, carrier, fraud } =
  await bird.lookup.get("+15005550006");
In arrivo
07POST /v1/rcs

RCS. RCS Business Messaging — il fratello più elegante degli SMS.

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

Push. Notifiche push per iOS, Android e web.

push.ts
await bird.push.send({
  to: { deviceToken },
  notification: {
    title: "Order shipped!",
    body: "Your package is on its way.",
  },
});
In arrivo
09POST /v1/flows/{flow}/runs

Flows. Il runtime di workflow per la messaggistica multicanale.

flow.ts
await bird.flows.run(flowId, {
  contact: { phone: "+15005550006" },
  variables: { orderId, userId },
});
In arrivo

Ogni prodotto sopra condivide un unico modello di autenticazione, un unico contratto di idempotenza, un unico formato di errore, un unico contratto webhook, un unico schema di paginazione a cursore. Impara uno, li conosci tutti.

/ Auth

/ Idempotency

/ Errors

/ Webhooks

/ Pagination

/ Typed IDs

Vedi gli endpoint API

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