Start with the right destination.
Help your application understand the number or address the customer has provided.
Check a phone number’s country, carrier and line type before sending a message. Use the returned signals to choose a contact channel or ask the customer to correct their number.
Continue the appropriate destination checks.
Use address evidence, then apply your own policy.
Do not turn a missing signal into a rejection.
Example content and data. Explore the workflow below; nothing is sent or changed in a live account.
Companies that trust Bird across their communications.
Read Bird customer storiesThe maintained Lookup guides distinguish the baseline, independently answered properties and one email verdict. An unavailable property can leave the baseline useful; a negative answered verdict can still be billed.
Read the maintained Lookup guide ↗Sources checked 18 September 2026. Synthetic examples demonstrate interpretation, not measured accuracy, supplier coverage or a live customer result. Confirm current account access before launch.Inspect a controlled number and its independent network signals. Change an observation to see how the next messaging decision changes.
Input: +31612345678
Carrier examples come from the maintained code sample. Country and network fields can be absent when unresolved; do not fill them from a display label.
National-only input is rejected rather than assigned a guessed country. Prepare the international form before requesting a result.
reachable: true
is_roaming: false
Reachable false is a known negative answer. An unavailable property has no usable value. It remains an answered unit. Review timing or another appropriate route before sending.
No presence block was returned. Absence is not a false value or an answered presence unit.
A fixed-line or unknown line type requires its own channel policy. Do not infer SMS support from a formatted number.
The source reports a reachable mobile line. Confirm the recipient’s consent and your sending policy before a separate message request.
No baseline or property result is established for this input. Select an international example to continue.
A lookup does not establish identity, ownership, permission to contact or future delivery. Roaming is independent of reachability and cannot replace those checks.
Read the response contract ↗Illustrative observations only. No number is queried and no message is sent.
Catch a detail while it is still easy to correct. Use phone and email evidence to make the next customer step more informed, without treating an unknown answer as a failed person.
Help your application understand the number or address the customer has provided.
Use the returned classification and supported properties, including their status and confidence.
Ask for a correction, continue, or verify control according to the decision your product needs to make.
Read serving/original network, country when resolved, coarse line type and six optional properties. Treat unknown signals separately from answered negatives.
Explore phone lookup ↗Use validation evidence and typo suggestions in your email collection flow. Ownership and permission remain separate questions.
Explore Email validation ↗Run a phone lookup on your server and check each property’s status before using its value. The guide covers credentials, region, paid queries and unavailable signals.
Run the same phone lookup with the CLI or MCP and inspect each returned signal. Carrier and number information does not establish identity or possession.
Open the implementation guide →npm install @messagebird/sdkconst 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);Connect Lookup to signup, verification, and messaging. Each product handles a distinct job while your application keeps the customer journey together.
Inspect Alex’s submitted destination.
Verify control when your account flow requires it.
Send an application update after the customer chooses the channel.
A practical path through setup, implementation, and the choices that matter.
Read the field guide →Quickstarts, implementation guides, comparisons and migration.
Request the properties your decision needs.
Read result and confidence together.
Match the operation to your next decision.
Check credentials, wallet and recovery.
41 direct answers about signals, limits and billing.
Count baseline and answered-property units.
Follow concrete recipient decisions, handle unavailable evidence and keep possession and permission separate.
Every answered phone lookup has a baseline charge. Each requested optional property adds a charge only with status ok. Budget email verdicts and downstream verification separately.
See Lookup pricing ↗Request the evidence your application needs.
La ricerca base restituisce il paese del numero, la rete che lo serve attualmente, la rete che ha assegnato il suo range, se è mai stato trasferito su un'altra rete e un tipo di linea generico. Viene sempre eseguita e, se non è possibile ottenere una risposta, l'intera richiesta fallisce anziché restituire una risposta incompleta.
Prima il prefisso internazionale, poi il numero nazionale. Il segno più iniziale è opzionale e 00 funziona al suo posto, quindi +31612345678, 31612345678 e 0031612345678 sono tutti lo stesso numero.
Un numero scritto per la composizione interna a un paese, senza prefisso internazionale, restituisce E22000 anziché essere interpretato a indovinare. Anteporre un prefisso internazionale a 0612345678 indicherebbe un numero reale altrove e vi addebiterebbe la ricerca di quel numero.
mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other o unknown. unknown significa che la piattaforma dell'operatore non ha una classificazione per il range, e other significa che ne ha una senza equivalente qui. Richiedete la proprietà classification per il servizio assegnato con maggiore precisione.
network_info è la rete che serve il numero oggi e original_network_info è la rete che ha assegnato il suo range. Le due differiscono quando un numero è stato portato e, in tal caso, flags contiene ported. Richiedete la proprietà porting quando avete bisogno anche della data e del record completo.
Perché il numero non appartiene a un singolo paese, come nel caso di un range non geografico. I campi senza valore vengono omessi anziché restituiti come null, quindi ogni campo presente nella risposta è stato risolto.
No. Una ricerca non contatta mai il numero stesso. Legge i dati dell'operatore e di number intelligence, e le proprietà presence e roaming interrogano la rete su cui il numero è registrato, quindi nulla squilla e nulla arriva sul dispositivo.
No. Lookup provides information about a destination. Verification is a separate step for confirming that someone can receive and return a code.
Unknown is different from invalid. Some result blocks may be unavailable. Your application should make a deliberate decision using the evidence it has.
No. Read its status and preserve uncertainty. A missing result can reflect unavailable evidence rather than a negative answer.
Lookup provides information about a destination. Verify checks control by delivering and checking a code. Use the capability that matches the decision.
Start with a Bird account and follow the setup path on this page. Our sales team can help with migration, volume, or a wider product mix. Start now or talk to sales.
Una chiave API di test è subito tua. La produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.
Leggi la documentazione