Lookup is being upgraded

Telefonnummern-Intelligence. Leitungstyp, Netzbetreiber, Portierungshistorie, Betrugssignale.

MNP-fähige Netzbetreiber-Abfrage über dieselben Leitungen, die Bird's SMS- und Voice-Traffic transportieren. Ein Endpunkt, dieselbe Authentifizierung, dasselbe Fehlerformat wie bei jedem anderen Bird-Kanal — weil dasselbe Engineering-Team sie alle gebaut hat.

lookup.ts
200 · 0.3s
import { BirdClient } from "@bird/sdk";

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

const { data, error } = await bird.lookup.get({
  phone: "+14155550172",
}).safe();

if (error) throw error;
console.log(data);
// → {
//     phone:        "+14155550172",
//     line_type:    "mobile",
//     carrier:      "T-Mobile USA",
//     country:      "US",
//     ported_from:  "AT&T Mobility",
//     fraud_score:  0.07,
//     valid:        true,
//   }

5 Minuten von npm install bis zur ersten Abfrage

Fragen Sie eine Nummer in der Sprache ab, die Sie bereits verwenden.

SDKs für jede gängige Laufzeitumgebung. Lookup-Antworten im Median unter 300 ms — schnell genug, um einen SMS-Versand davon abhängig zu machen.

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

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

const { data, error } = await bird.lookup.get({
  phone: "+14155550172",
}).safe();

Zehn Felder, die Sie sonst von drei Anbietern zusammenstellen müssten.

Konkrete Datenpunkte, benannt und überprüfbar. Jeder stammt aus einer echten Quelle, nicht aus einem Modell, das rät.

  1. 01

    Leitungstyp-Erkennung

    Mobil, Festnetz, VoIP, gebührenfrei, Premium, Pager. Entscheiden Sie, ob SMS überhaupt möglich ist, bevor Sie senden.

  2. 02

    Netzbetreiber-Identifikation

    Aktueller Netzbetreibername und Ländercode pro E.164-Eingabe. Laufend gegen MNP-Register aktualisiert.

  3. 03

    Portierungshistorie

    Der vorherige Netzbetreiber, von dem die Nummer portiert wurde. Nützlich für Routing-Kostenprognosen und Betrugsheuristiken.

  4. 04

    Land- und Regionsformat

    Gibt E.164-, nationale und internationale Formatierung zurück; die Länder- und Regionscodes, die ein Router benötigt.

  5. 05

    Betrugssignale

    Ein fraud_score von 0–1 pro Nummer, basierend auf Geschwindigkeit, Leitungstyp-Heuristiken, Kürzlich-portiert-Flags und Negativlisten.

  6. 06

    Gültigkeit und Erreichbarkeit

    Ein boolesches valid und ein reachable-Fenster — manche Nummern lassen sich korrekt parsen, aber der Netzbetreiber vergibt sie nicht mehr.

  7. 07

    Batch-Abfrage

    Senden Sie per POST eine Liste von bis zu 1.000 Nummern in einem Aufruf. Der gleiche Pro-Nummer-Preis gilt; Sie sparen die Roundtrips.

  8. 08

    Cache-bewusstes Pricing

    Ein 24-Stunden-Cache für identische Eingaben ist kostenlos. Sie zahlen nur, wenn sich die Antwort tatsächlich unterscheiden würde.

  9. 09

    Webhooks für Batch-Aufträge

    Für große Batches abonnieren Sie lookup.completed und lesen die Ergebnisdatei, anstatt eine HTTP-Verbindung offen zu halten.

  10. 10

    Dieselbe Authentifizierung, dasselbe Fehlerformat

    Ein API-Schlüssel für Lookup, SMS, Email, WhatsApp, Voice. Ein einheitliches Fehlertyp-Register für alle.

Why we build Lookup

Weil Sie nicht erst erfahren sollten, dass eine Nummer ein Festnetzanschluss ist, indem die SMS fehlschlägt.

Wir haben MNP-Abfragen bereits innerhalb des Bird SMS-Routings durchgeführt — das mussten wir, um in Echtzeit die günstigste Netzbetreiber-Route zu wählen. Lookup ist dieselbe Abfrage, als eigenständiger Endpunkt bereitgestellt, damit Sie Registrierungen prüfen, Risiken bewerten und Routing-Kosten prognostizieren können, ohne eine einzige SMS zu senden. Dieselbe Authentifizierung, dasselbe Fehlerformat, dieselben Webhooks wie beim Rest der Plattform.

lookup.ts
200 · 0.3s
import { BirdClient } from "@bird/sdk";

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

const { data, error } = await bird.lookup.get({
  phone: "+14155550172",
}).safe();

if (error) throw error;
console.log(data);
// → {
//     phone:        "+14155550172",
//     line_type:    "mobile",
//     carrier:      "T-Mobile USA",
//     country:      "US",
//     ported_from:  "AT&T Mobility",
//     fraud_score:  0.07,
//     valid:        true,
//   }

Jede Statusänderung ist ein Webhook.

HMAC-signierte Payloads, Replay-geschützt, idempotent. Einzelnummern-Abfragen sind synchron; Batch-Abfragen werden als Webhooks verteilt.

POST /webhooks/bird
signed
{
  "type": "lookup.completed",
  "id":   "evt_2qB72y...",
  "created_at": "2026-05-19T15:42:01.221Z",
  "data": {
    "lookup_id":   "lkp_4hQ8m2nT",
    "phone":       "+14155550172",
    "line_type":   "mobile",
    "carrier":     "T-Mobile USA",
    "country":     "US",
    "ported_from": "AT&T Mobility",
    "fraud_score": 0.07,
    "valid":       true
  }
}

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

  • lookup.completedEine Abfrage (einzeln oder Batch) wurde abgeschlossen. Die Payload enthält die vollständige Antwort.
  • lookup.failedDie Abfrage konnte nicht durchgeführt werden; die Payload enthält das Fehlerformat.

Nummer abfragen, dann an sie senden.

Dieselbe Authentifizierung, derselbe Idempotenz-Vertrag, dasselbe Fehlerformat. Lookup ist wie jeder andere Endpunkt aufgebaut — der Unterschied ist, dass es Daten zurückgibt, statt eine Nachricht zu versenden.

Lookup.

lookup
await bird.lookup.get({
  phone: "+14155550172",
});

Netzbetreiber, Leitungstyp, Portierungshistorie, Betrugssignale — synchron in unter 300 ms zurückgegeben.

SMS.

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

Dieselbe Authentifizierung, dasselbe Fehlerformat. Machen Sie den Versand vom Lookup-Ergebnis abhängig — filtern Sie die Festnetznummern heraus, bevor sie Kosten verursachen.

Ab 0,005 $ pro Abfrage.

Abrechnung pro Abfrage. Identische Eingaben innerhalb von 24 Stunden werden gecacht und sind kostenlos. Mengenrabatte greifen automatisch ab 1 Mio./Monat. Keine Plattformgebühr, keine Lizenzgebühr.

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.

Jetzt startenDokumentation lesenoder

Using Claude Code, Cursor, or Codex? Point it at our MCP server — tools for every channel we expose, with scoped agent keys.

Cursor