Telefonnummern-Lookup

Wissen, was eine Nummer ist. Bevor Sie an sie senden.

Ein POST, eine Antwort, keine Ressource zum Erstellen oder Abfragen. Der Basis-Lookup liefert das Land der Nummer, das Netz, das sie aktuell bedient, das Netz, das ihren Nummernblock vergeben hat, ein Flag, ob sie zwischen beiden gewechselt hat, und den Leitungstyp. Fünf weitere Eigenschaften erhalten Sie, indem Sie sie benennen.

phone-number.ts
200
const answer = await bird.lookup.phoneNumber({
  phone_number: "+31612345678",
  type: ["classification", "porting"],
});

console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name);
// → "KPN"
console.log(answer.original_network_info?.carrier_name);
// → "Vodafone"
console.log(answer.flags);
// → ["ported"]

if (answer.porting?.status === "ok") {
  console.log(answer.porting.ported, answer.porting.last_ported_at);
  // → true "2021-04-18T00:00:00Z"
}
Empfänger-Lookup

Beispiel-Lookup

Kennen Sie die Nummer.

LandVereinigte Staaten
LeitungstypMobil
Ergebnis empfangen
Ein klarerer nächster Schritt für Ihre Anwendung.

Täglich vertraut von Teams, die erstklassige Software entwickeln

Weitere Kundenberichte lesen

Zwei Netze und die Lücke dazwischen.

Diese Lücke ist das, was Portierung in einer Antwort aussieht.

Telefonnummern-Lookup ist eine der beiden Operationen in der Bird Lookup API. Senden Sie eine Nummer im internationalen Format, mit oder ohne führendes Plus, und Sie erhalten country_code, einen network_info-Block für den aktuellen Netzbetreiber und einen original_network_info-Block für den Netzbetreiber, dem der Nummernblock zugewiesen wurde. Wenn beide voneinander abweichen, wurde die Nummer portiert, und flags zeigt das an. Rein nationale Nummern werden abgelehnt statt geraten, sodass eine fehlerhafte Eingabe laut fehlschlägt, anstatt eine plausible Antwort über das falsche Land zurückzugeben.

Was zurückkommt und wann.

Die ersten drei kommen bei jedem Lookup. Die übrigen kommen, wenn Sie sie in type benennen.

  1. 01

    Land und beide Netzbetreiber.

    country_code ist das ISO-Land des Nummernblocks und fehlt bei nicht-geografischen Nummern, statt geraten zu werden. network_info und original_network_info enthalten jeweils einen Betreibernamen plus Mobile Country Code und Mobile Network Code – genau das, was Sie brauchen, wenn Sie nach MCC und MNC statt nach einem Namen routen.

  2. 02

    Leitungstyp, aus einer geschlossenen Liste.

    mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other oder unknown. Die Liste ist geschlossen, sodass ein Switch darüber vollständig bleibt, und es ist das Feld, das Sie prüfen sollten, bevor Sie entscheiden, ob eine SMS überhaupt möglich ist.

  3. 03

    Das Portierungs-Flag, ohne Aufpreis.

    flags enthält ported, wenn die Nummer irgendwann das Netz gewechselt hat. Es kommt mit der Basisantwort, sodass die günstige Frage, ob eine Nummer jemals portiert wurde, keine zusätzliche Eigenschaft erfordert.

  4. 04

    classification, eine zweite Einschätzung zum Leitungstyp.

    Eine feinere Auswertung aus einer anderen Quelle, mit Werten, die line_type nicht kennt: fixed_line_or_mobile, shared_cost, national_rate, personal_number, isp, voice_mail, short_codes und weitere. Sie steht neben line_type in der Antwort, statt ihn zu ersetzen, sodass Sie beide vergleichen können, wenn eine Nummer ungewöhnlich aussieht.

  5. 05

    porting, mit Daten und einer Historie.

    ported als Boolean, last_ported_at als Zeitstempel, last_ported_at_is_approximate wenn das Register nur den Monat kennt, und history als Liste der Portierungsereignisse, ältestes zuerst. Jedes Ereignis enthält einen registerspezifischen Aktionscode, den es sich lohnt anzuzeigen, aber nicht, darauf zu verzweigen.

  6. 06

    presence und roaming, live aus dem Netz.

    presence fragt das Netz ab und meldet reachable – das kommt der Frage, ob die Leitung eingeschaltet ist, am nächsten. roaming meldet is_roaming plus MCC und MNC des besuchten Netzes, sodass eine Registrierung von einer Nummer in einem ausländischen Netz sichtbar wird, statt nur vermutet.

  7. 07

    score, eine einzelne Zahl von 0 bis 100.

    Ein zusammengesetzter Vertrauensscore. Er lässt sich nicht aus den anderen Eigenschaften ableiten, und genau dafür fragt man ihn ab: ein einzelner Integer, an dem Sie in einem Registrierungsablauf einen Schwellenwert setzen können, ohne selbst Regeln über Betreibernamen und Leitungstypen zu schreiben.

Jede Eigenschaft sagt Ihnen, ob sie geantwortet hat.

Jeder Block trägt seinen eigenen Status: ok, unavailable oder inconclusive. Nur ok enthält einen Wert. Sie müssen also nie eine Antwort inspizieren, um festzustellen, dass sie leer ist, und ein Feld ohne Wert wird weggelassen statt auf null gesetzt. Die Abrechnung folgt derselben Linie. Der Basis-Lookup wird einmal berechnet, eine Eigenschaft wird nur berechnet, wenn ihr Status ok ist, und ein fehlgeschlagener Lookup kostet nichts.

properties.ts
200 · partial
const answer = await bird.lookup.phoneNumber({
  phone_number: "+31612345678",
  type: ["presence", "roaming", "score"],
});

// Only a block whose status is ok carries a value.
if (answer.presence?.status === "ok") {
  console.log(answer.presence.reachable);
}

if (answer.roaming?.status === "ok") {
  console.log(answer.roaming.is_roaming, answer.roaming.mcc, answer.roaming.mnc);
}

// unavailable and inconclusive both mean no value, and no charge.
if (answer.score?.status !== "ok") {
  console.log("no credibility score on this answer");
}

Eine Nummer pro Anfrage.

Es gibt bewusst keine Batch-Variante: Ein Lookup ist eine Live-Abfrage gegen Netzbetreiberdaten, und ein Batch würde verbergen, welche von tausend Zeilen beantwortet wurde und welche nicht. Die Begrenzung der Anfragerate beginnt bei 10 Anfragen pro Minute pro Berechtigung, und Lookup hat ein eigenes Budget, sodass das Prüfen von Nummern nie Ihr Sendekontingent belastet. Senden Sie einen Idempotency-Key, und ein erneuter Versuch liefert die bereits bezahlte Antwort, statt eine zweite zu kaufen.

Mehr Details in der Dokumentation.

Telefonnummer nachschlagen führt durch die Anfrage und jedes Feld, das sie zurückgeben kann. Die Lookup-Übersicht behandelt beide Operationen und die Eigenschaftsstatus auf einer Seite, Begrenzung der Anfragerate dokumentiert die Lookup-Gruppe, und Idempotenz erklärt, was eine wiederholte Antwort kostet.

Fragen zum Telefonnummern-Lookup, beantwortet.

Formatierung, Leitungstypen, Portierung und was ein Lookup nicht kann.

Was beantwortet eine Telefonnummern-Abfrage?
Die Basisabfrage liefert das Land der Nummer, das aktuell zuständige Netz, das Netz, das den Nummernbereich vergeben hat, ob die Nummer jemals das Netz gewechselt hat, und einen groben Leitungstyp. Sie wird immer ausgeführt, und wenn sie nicht beantwortet werden kann, schlägt die gesamte Anfrage fehl, anstatt eine halb leere Antwort zurückzugeben.
Wie sollte ich die Nummer schreiben?
Zuerst die Landesvorwahl, dann die nationale Nummer. Das führende Plus ist optional, und 00 funktioniert als Ersatz – +31612345678, 31612345678 und 0031612345678 bezeichnen also dieselbe Nummer.
Warum wurde meine Nummer abgelehnt?
Eine Nummer, die für die Inlandswahl ohne Landesvorwahl geschrieben ist, gibt E22000 zurück, statt geraten zu werden. Würde man eine Landesvorwahl vor 0612345678 setzen, würde das eine reale Nummer anderswo bezeichnen – und Ihnen diese Abfrage in Rechnung stellen.
Welche Leitungstypen kann die Abfrage zurückgeben?
mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other oder unknown. unknown bedeutet, dass die Carrier-Plattform keine Klassifizierung für den Bereich führt, und other bedeutet, dass sie eine führt, die hier keine Entsprechung hat. Fragen Sie die Eigenschaft classification ab, um den zugewiesenen Dienst mit feinerer Auflösung zu erhalten.
Wie erkenne ich, ob eine Nummer portiert wurde?
network_info ist das Netz, das die Nummer aktuell bedient, und original_network_info ist das Netz, das den Bereich vergeben hat. Die beiden unterscheiden sich, sobald eine Nummer portiert wurde, und flags enthält in diesem Fall ported. Fragen Sie die Eigenschaft porting ab, wenn Sie auch das Datum und den vollständigen Datensatz benötigen.
Warum fehlt country_code in meiner Antwort?
Weil die Nummer keinem einzelnen Land zugehört, wie es bei einem nicht-geografischen Nummernbereich der Fall ist. Felder ohne Wert werden weggelassen statt als null zurückgegeben, sodass jedes in der Antwort vorhandene Feld tatsächlich aufgelöst wurde.
Ruft eine Abfrage die Nummer an oder sendet ihr eine Nachricht?
Nein. Eine Abfrage kontaktiert die Nummer selbst niemals. Sie liest Carrier- und Nummern-Informationsdaten, und die Eigenschaften presence und roaming befragen das Netz, in dem die Nummer registriert ist – es klingelt also nichts, und auf dem Gerät kommt nichts an.

In die Praxis umsetzen.

Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.

Implementierungs-Briefing erhalten

Führen Sie Ihren ersten Lookup mit einer Nummer durch, die Sie kennen.

Das Dashboard führt dieselbe Operation jeweils für eine Nummer aus – der schnellste Weg, ein Ergebnis zu sehen, bevor Sie Code schreiben.

Ihre Angaben

Alle Kontaktfelder sind erforderlich.

Damit unser Team Sie bezüglich Ihrer Demo kontaktieren kann.

Interessante Produkte

Optional

Wir kontaktieren Sie, um Ihre Demo zu vereinbaren.
Datenschutzrichtlinie

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