SMS wird aufgerüstet

Die SMS API für Entwickler, die wirklich ausliefern müssen.

Eingerichtet in:
Cursor

Über 150 Länder, 240 direkte Carrier-Verbindungen, ein Auth-Modell. Rund 40 % des weltweiten kommerziellen SMS-Volumens laufen über das Bird-Netzwerk – seit über einem Jahrzehnt. 95 % der Nachrichten werden in unter 2,5 Sekunden zugestellt.

send-otp.ts
200 · 0.4s
import { BirdClient } from "@messagebird/sdk";

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

const code = generateOtp();

const { data, error } = await bird.sms.send({
  from: "Bird",
  to:   "+15005550006",
  text: `Your Bird verification code is ${code}. Reply STOP to opt out.`,
}).safe();

if (error) throw error;
console.log(data.id);
// → "sms_4kT01Lq2m..."

Today at 2:14 PM

Hey Ada — your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.
482917
Delivered

5 Minuten von npm install bis zum ersten Versand

Senden Sie eine SMS in der Sprache, die Sie bereits nutzen.

SDKs für jede gängige Runtime. Der erste Versand geht an einen freigegebenen Testempfänger (+15005550006), damit Sie einen CI-Check ausliefern können, bevor Sie eine Nummer provisionieren.

1
2
3
4
5
6
7
8
9
import { BirdClient } from "@messagebird/sdk";

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

const { data, error } = await bird.sms.send({
  from: "Bird",
  to:   "+15005550006",
  text: "Hello from Node.",
}).safe();

Zehn Dinge, die wir registrieren, konfigurieren und routen – damit Sie es nicht müssen.

Routing-, Compliance- und Inbound-Primitives – benannt und auditierbar.

  1. 01

    Über 150 Länder abgedeckt

    Eine einheitliche API, eine Abrechnungsbeziehung — keine länderspezifischen Verträge, denen Sie hinterherlaufen müssen.

  2. 02

    240 Direktverbindungen zu Carriern

    Kein zwischengeschalteter Aggregator, der Marge abschöpft oder Zustellbestätigungen zwischen uns und dem Netzbetreiber verschluckt.

  3. 03

    Routing in Carrier-Qualität

    Echtzeit-Routenumschaltung bei Carrier-Pfad-Verschlechterung; Failover passiert, bevor Sie es bemerken.

  4. 04

    Bidirektionale SMS (Inbound)

    Eingehende Nachrichten kommen als HMAC-signierte Webhooks auf der von Ihnen provisionierten Nummer an.

  5. 05

    Nummern in jeder Form

    Long Codes, Short Codes, gebührenfreie Nummern und alphanumerische Absenderkennungen — provisioniert über einen einzigen Endpunkt.

  6. 06

    A2P 10DLC im Dashboard

    Marken- und Kampagnenregistrierung direkt in der Konsole; der Status ist über die API abfragbar.

  7. 07

    MNP-Abfrage vor dem Versand

    Wir ermitteln bei jedem Versand den aktuellen Carrier des Empfängers, damit die Route immer stimmt.

  8. 08

    STOP-/HELP-Compliance

    Opt-out-Keywords werden automatisch pro Empfänger berücksichtigt; die Sperrliste ist abfragbar.

  9. 09

    Zustellbestätigungen als Webhooks

    Jeder Statuswechsel löst ein signiertes Event aus — von sms.queued über sms.delivered bis sms.failed.

  10. 10

    Segment- und Unicode-Sicherheit

    Das SDK zählt Segmente vor dem Versand und warnt bei Encoding-Wechseln, die eine Nachricht aufteilen würden.

SMS ist ein Kanal in einem größeren Werkzeugkasten. Verifizieren Sie Nutzer mit Einmalpasscodes über Verifications, prüfen Sie vor dem Senden Leitungstyp und Carrier einer Nummer mit Lookup, oder erreichen Sie dasselbe Endgerät mit Rich Cards über RCS.

Warum wir SMS entwickeln

SMS ist der chaotische Kanal. Wir haben die API gebaut, die ihn langweilig macht.

Jedes Land hat andere Regeln, jeder Carrier andere Routen, jede Region andere Sender-ID-Konventionen. Wir betreiben SMS seit zehn Jahren – dieses Wissen steckt hinter einem Endpunkt, einem Auth-Modell, einem Webhook-Vertrag. Was auch immer sich upstream ändert: Der Aufruf, den Sie gegen bird.sms.send geschrieben haben, bleibt gleich.

send-otp.ts
200 · 0.4s
import { BirdClient } from "@messagebird/sdk";

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

const code = generateOtp();

const { data, error } = await bird.sms.send({
  from: "Bird",
  to:   "+15005550006",
  text: `Your Bird verification code is ${code}. Reply STOP to opt out.`,
}).safe();

if (error) throw error;
console.log(data.id);
// → "sms_4kT01Lq2m..."

Jede Statusänderung ist ein Webhook.

HMAC-signierte Payloads, Replay-geschützt, idempotent. Dasselbe Envelope-Format auf jedem Bird-Kanal — lernen Sie eines, kennen Sie alle.

POST /webhooks/bird
signed
{
  "type": "sms.delivered",
  "id":   "evt_7jR42x...",
  "created_at": "2026-05-19T15:42:01.221Z",
  "data": {
    "sms_id":     "sms_4kT01Lq2m",
    "from":       "Bird",
    "to":         "+15005550006",
    "mcc_mnc":    "310-260",
    "country":    "US",
    "segments":   1,
    "latency_ms": 1284
  }
}

Retry-Zeitplan: 5s, 30s, 5m, 30m, 2h, 6h, 12h. Dead-Letter nach dem letzten Versuch; jedes Dead-Letter-Event ist über das Dashboard oder die API wiederholbar.

  • sms.queuedVon der API akzeptiert und für die Carrier-Übergabe in die Warteschlange gestellt.
  • sms.sentAn das SMSC des Ziel-Carriers übermittelt.
  • sms.deliveredZustellbestätigung vom Carrier erhalten (DLR).
  • sms.failedPermanenter Fehler — Carrier-Ablehnung, ungültige Nummer, Sperrlisten-Treffer.
  • sms.receivedEingehende Nachricht auf einer Ihrer provisionierten Nummern.
  • sms.opted_outEmpfänger hat ein STOP-Keyword gesendet; zukünftige Nachrichten an diese Nummer werden unterdrückt.

Wenn Sie SMS integriert haben, haben Sie auch WhatsApp integriert.

Dasselbe Auth-Modell, derselbe Idempotenz-Vertrag, dasselbe Fehler-Envelope, dieselbe Webhook-Struktur. Der Unterschied liegt darin, was jeder Kanal leistet, nicht darin, wie Sie ihn aufrufen.

SMS

Ein Verb. Klartext. Numerische Absender-/Empfängeradresse. Die Struktur, für die jeder Entwickler bereits Muskelgedächtnis hat.

otp.ts
await bird.sms.send({
  from: "Bird",
  to:   "+15005550006",
  text: `Your code is ${code}.`,
});

WhatsApp

Gleiches Verb. Anderer Payload — templatebasiert, Opt-in-basiert, im Kanal, den zwei Milliarden Menschen täglich öffnen.

otp.ts
await bird.whatsapp.send({
  from: "+15551234567",
  to:   "+15005550006",
  template: { name: "otp", variables: { code } },
});

SMS-API-FAQ

Wie schnell kann ich meine erste SMS senden?+
Installieren Sie das SDK und senden Sie in etwa fünf Minuten an den autorisierten Testempfänger +15005550006 — Sie können einen CI-Check ausliefern, noch bevor Sie eine Nummer bereitstellen.
Was umfasst die SMS-API von Bird?+
Ein Sende-Endpunkt, eingehende Zwei-Wege-Kommunikation, Nummern-Bereitstellung (Long Codes, Short Codes, Toll-Free und alphanumerische Sender-IDs), A2P 10DLC- und Opt-out-Compliance, Direct-to-Carrier-Routing und Zustellungsanalysen — alles über eine API.
In welche Länder kann ich senden?+
Bird erreicht 150+ Länder über 240 Direct-to-Carrier-Verbindungen, mit Routenneuwahl auf Carrier-Niveau, wenn ein Carrier-Pfad sich verschlechtert.
Verarbeiten Sie die Keywords STOP und HELP?+
Ja, automatisch pro Empfänger. STOP meldet einen Empfänger ab und setzt ihn auf eine abfragbare Sperrliste, HELP sendet eine automatische Hilfeantwort, und START meldet ihn wieder an.
Muss ich mich für A2P 10DLC registrieren?+
Um Application-to-Person-Traffic an US-Nummern zu senden, ja. Die Marken- und Kampagnenregistrierung erfolgt im Dashboard, und der Status ist über die API abfragbar.

Preise

Von unter einem Cent bis zu wenigen Cent pro Segment

Preise nach Nutzung und Zielland. Das vollständige Raster pro Land finden Sie auf der Preisseite, und Mengenrabatte werden automatisch auf Kontoebene angewendet. Keine Plattformgebühr, keine Sitzplatzgebühr, keine Tier-Funktionen, die hinter Jahresverträgen verschlossen sind.

Tagtäglich genutzt von Teams, die erstklassige Software entwickeln

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:

Cursor