Check whether an email address can receive mail or find the carrier behind a phone number.
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
Check an email address
Sign in to Bird to check an email address. Paste it into the Lookup form in your dashboard. You can also check addresses from your code, one API call per address.
The result helps you decide whether to send to that address. A correctly spelled address can still bounce.
See what the check tells you in email address lookup. Follow the email lookup guide to add it to your code.
5 minut od npm install do pierwszego wyszukiwania
Sprawdź numer lub adres w języku, którego już używasz.
Typowane metody w SDK dla Go, TypeScript, Python i PHP oraz bird lookup w CLI. Dashboard wykonuje te same dwie operacje pojedynczo — to najszybszy sposób, by zobaczyć odpowiedź, zanim napiszesz jakikolwiek kod.
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);Co zwraca lookup i ile kosztuje każda odpowiedź.
Nazwane pola z rzeczywistych źródeł danych, nie zgadywanie modelu. Każde z nich informuje, czy zostało uzyskane, a płacisz tylko za te, które zostały.
- 01
Kraj i obie sieci
Kraj numeru, sieć obsługująca go dziś i sieć, która wydała jego zakres. Różnią się, gdy numer został przeniesiony.
- 02
Wykrywanie typu linii
Komórkowy, stacjonarny, VoIP, bezpłatny, premium, satelitarny, pager, automat telefoniczny, M2M, usługowy. Zdecyduj, czy SMS jest w ogóle możliwy, zanim go wyślesz.
- 03
Flaga przeniesienia, bezpłatnie z odpowiedzią podstawową
Informacja, czy numer kiedykolwiek zmienił sieć, jest dołączana do każdego lookup. Zażądaj właściwości porting, gdy potrzebujesz też dat i pełnego rekordu.
- 04
Sześć właściwości na żądanie
Name classification, porting, presence, roaming, sim_swap lub score w type. Przypisana usługa zakresu, rekord przeniesienia, czy linia jest aktywna, czy jest w roamingu, kiedy ostatnio zmieniono SIM i wynik wiarygodności od 0 do 100.
- 05
Status przy każdej właściwości
Każdy blok zwraca ok, unavailable lub inconclusive. Tylko ok niesie wartość, więc nigdy nie musisz analizować odpowiedzi, żeby odkryć, że jest pusta.
- 06
Płacisz za odpowiedzi, nie za próby
Podstawowy lookup jest rozliczany raz. Właściwość jest rozliczana tylko wtedy, gdy zostanie dostarczona, a lookup, który się nie powiedzie, nie kosztuje nic.
- 07
Jedno pole, by ocenić adres e-mail
result to valid, neutral, risky, undeliverable lub typo, z reason wyjaśniającym, dlaczego niedostarczalny adres nie może odbierać poczty.
- 08
Korekta błędnie wpisanego adresu
did_you_mean suggests a correction when an address looks misspelled. flags marks a role, disposable, or free-provider address, and delivery_confidence grades all of it from 0 to 100.
- 09
Ponowna próba nie może naliczyć podwójnie
Wyślij Idempotency-Key, a powtórzone żądanie odtworzy odpowiedź, za którą już zapłaciłeś, zamiast kupować drugą.
- 10
Ta sama autoryzacja, ten sam format błędów
Jeden klucz API dla Lookup, SMS, Email, WhatsApp i Verify. Jeden rejestr błędów dla wszystkich i osobny budżet rate-limit, dzięki czemu lookup nigdy nie wchodzi w limit wysyłki.
Dlaczego stworzyliśmy Lookup
Bo nie powinieneś dowiadywać się, że numer jest stacjonarny, obserwując niepowodzenie SMS.
Odpowiedź podstawowa pochodzi z tej samej platformy operatorskiej, która obsługuje SMS i Voice w Bird — dlatego zapytanie kosztuje tak niewiele: już wykonywaliśmy to zapytanie, żeby wybrać trasę w czasie rzeczywistym. Lookup to to samo zapytanie jako pełnoprawny endpoint, dzięki czemu możesz zweryfikować rejestrację, prześwietlić leada lub skierować wiadomość inaczej — bez uprzedniego wysyłania czegokolwiek. Ta sama autoryzacja, ta sama koperta błędów, ten sam kontrakt idempotencji co reszta platformy.
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
Dwie operacje, po jednej dla każdego typu odbiorcy.
Obie to pojedyncze żądanie i pojedyncza odpowiedź. Nie trzeba niczego tworzyć, niczego odpytywać ani niczego sprzątać po zakończeniu.
Numer telefonu.
Kraj, obie sieci, flaga przeniesienia i typ linii, plus dowolna właściwość podana w type.
Adres e-mail.
Jeden werdykt, wynik pewności, flagi wyjaśniające ryzykowny adres i korekta, gdy wygląda jak literówka.
Poznaj Lookup
Każda operacja w szczegółach. Jeden klucz API, jeden format błędów.
Płacisz za uzyskane odpowiedzi.
Cena za zapytanie: jedna opłata za wyszukiwanie plus jedna za każdą zwróconą właściwość z odpowiedzią. Właściwość, na którą nie możemy odpowiedzieć, oraz nieudane wyszukiwanie są bezpłatne. Bez opłat za stanowisko.
Put it into practice.
Continue with the documentation, guides and examples for this topic. Resources are in English.