Ein einziger Aufruf sagt Ihnen, was eine Telefonnummer ist: das zustellende Netz, das ausgebende Netz, ob die Nummer zwischen beiden portiert wurde und um welche Leitungsart es sich handelt. Ein einziger Aufruf sagt Ihnen, ob eine E-Mail-Adresse Nachrichten annimmt. Derselbe Schlüssel, dasselbe Fehlerformat, derselbe Idempotenz-Vertrag wie bei jedem anderen Bird-Kanal – weil dasselbe Engineering-Team sie alle gebaut hat.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["porting", "score"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name, answer.flags);
// → "KPN" ["ported"]
// Only a block whose status is ok carries a value,
// and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);
// → 84
5 Minuten von npm install bis zur ersten Abfrage
Fragen Sie eine Nummer oder Adresse aus der Programmiersprache ab, die Sie bereits nutzen.
Typisierte Methoden in den Go-, TypeScript-, Python- und PHP-SDKs sowie bird lookup auf der CLI. Das Dashboard führt dieselben beiden Operationen einzeln aus – der schnellste Weg, eine Antwort zu erhalten, bevor Sie Code schreiben.
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["classification", "score"],
});
console.log(answer.country_code, answer.line_type);
// Only a block whose status is ok carries a value, and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);Was ein Lookup beantwortet und was jede Antwort kostet.
Benannte Felder aus echten Datenquellen, kein ratendes Modell. Jedes Feld gibt an, ob es beantwortet wurde – und abgerechnet werden nur die, die es wurden.
- 01
Land und beide Netze
Das Land der Nummer, das aktuell zustellende Netz und das Netz, das den Nummernbereich ausgegeben hat. Beide unterscheiden sich, wenn die Nummer portiert wurde.
- 02
Leitungstyp-Erkennung
Mobil, Festnetz, VoIP, gebührenfrei, Premiumnummer, Satellit, Pager, Münzfernsprecher, M2M, Dienst. Entscheiden Sie, ob SMS überhaupt möglich ist, bevor Sie senden.
- 03
Das Portierungs-Flag – kostenlos in der Basisantwort
Ob die Nummer jemals das Netz gewechselt hat, wird bei jedem Lookup mitgeliefert. Fordern Sie die Porting-Eigenschaft an, wenn Sie auch die Daten und den vollständigen Datensatz benötigen.
- 04
Sechs Eigenschaften auf Anfrage
Name classification, porting, presence, roaming, sim_swap oder score in type. Die zugewiesene Dienstart des Bereichs, der Portierungsdatensatz, ob die Leitung aktiv ist, ob sie roamt, wann die SIM zuletzt gewechselt wurde und ein Glaubwürdigkeitswert von 0–100.
- 05
Ein Status für jede Eigenschaft
Jeder Block meldet ok, unavailable oder inconclusive. Nur ok enthält einen Wert – Sie müssen also nie eine Antwort prüfen, nur um festzustellen, dass sie leer ist.
- 06
Sie zahlen für Antworten, nicht für Versuche
Der Basis-Lookup wird einmal berechnet. Eine Eigenschaft wird nur berechnet, wenn sie geliefert wird – und ein fehlgeschlagener Lookup kostet gar nichts.
- 07
Ein Feld, um über eine E-Mail-Adresse zu entscheiden
result ist valid, neutral, risky, undeliverable oder typo, mit reason als Erklärung, warum eine unzustellbare Adresse keine E-Mails empfangen kann.
- 08
Eine Korrektur für falsch geschriebene Adressen
did_you_mean enthält die Adresse, wie sie bei einem Tippfehler vermutlich gemeint war. flags kennzeichnet eine Rollen-, Wegwerf- oder Free-Provider-Adresse, und delivery_confidence bewertet alles zusammen auf einer Skala von 0 bis 100.
- 09
Ein Wiederholungsversuch kann nicht doppelt berechnet werden
Senden Sie einen Idempotency-Key, und eine wiederholte Anfrage gibt die Antwort zurück, die Sie bereits bezahlt haben – statt eine zweite zu kaufen.
- 10
Dieselbe Authentifizierung, dasselbe Fehlerformat
Ein API-Schlüssel für Lookup, SMS, E-Mail, WhatsApp und Verify. Ein einheitliches Fehlerregister für alle, und ein eigenes Rate-Limit-Budget, damit ein Lookup nie Ihr Sendekontingent belastet.
Warum wir Lookup entwickelt haben
Weil Sie nicht erst erfahren sollten, dass eine Nummer ein Festnetzanschluss ist, indem die SMS fehlschlägt.
Die Basisantwort stammt von derselben Carrier-Plattform, die Bird SMS und Voice routet – deshalb kostet die Abfrage so wenig: Wir haben die Abfrage bereits ausgeführt, um in Echtzeit eine Route zu wählen. Lookup ist diese Abfrage als eigenständiger Endpunkt, damit Sie eine Anmeldung prüfen, einen Lead screenen oder eine Nachricht anders routen können, ohne vorher etwas zu senden. Dieselbe Authentifizierung, dasselbe Fehlerformat, derselbe Idempotenz-Vertrag wie der Rest der Plattform.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["porting", "score"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name, answer.flags);
// → "KPN" ["ported"]
// Only a block whose status is ok carries a value,
// and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);
// → 84
Zwei Operationen, eine für jede Art von Empfänger.
Beide bestehen aus einer einzelnen Anfrage und einer einzelnen Antwort. Es gibt nichts zu erstellen, nichts abzufragen und nichts aufzuräumen.
Telefonnummer.
Land, beide Netze, das Portierungs-Flag und die Leitungsart, plus jede Eigenschaft, die Sie in type angeben.
E-Mail-Adresse.
Ein Ergebnis, ein Konfidenzwert, die Flags, die eine riskante Adresse erklären, und eine Korrektur, wenn sie wie ein Tippfehler aussieht.
Explore Lookup
Each operation in depth. One API key, one error envelope.
Pay for the answers you get.
Priced per query: one charge per lookup, plus one for each property that comes back answered. A property we cannot answer, and a lookup that fails, cost nothing. No seat fee.