Inteligensi nomor telepon. Tipe saluran, operator, riwayat porting, sinyal penipuan.
Pencarian operator berbasis MNP melalui jalur yang sama dengan lalu lintas SMS dan Voice Bird. Satu endpoint, autentikasi sama, format error sama seperti setiap channel Bird lainnya — karena tim engineering yang sama membangun semuanya.
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 menit dari npm install ke lookup pertama
Cari nomor dari bahasa pemrograman yang sudah Anda gunakan.
SDK di setiap runtime utama. Lookup menjawab dalam waktu kurang dari 300ms pada median — cukup cepat untuk menjadi gerbang pengiriman SMS.
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();Sepuluh field yang biasanya harus Anda kumpulkan dari tiga vendor berbeda.
Data poin konkret, bernama dan dapat diaudit. Setiap data berasal dari sumber nyata, bukan tebakan model.
- 01
Deteksi tipe saluran
Mobile, telepon rumah, VoIP, bebas pulsa, premium, pager. Tentukan apakah SMS memungkinkan sebelum Anda mengirim.
- 02
Identifikasi operator
Nama operator saat ini dan kode negara per input E.164. Diperbarui secara terus-menerus berdasarkan registri MNP.
- 03
Riwayat porting sebelumnya
Operator sebelumnya tempat nomor tersebut di-porting. Berguna untuk perkiraan biaya routing dan heuristik penipuan.
- 04
Format negara dan wilayah
Mengembalikan format E.164, nasional, dan internasional; kode negara dan wilayah yang dibutuhkan router.
- 05
Sinyal penipuan
fraud_score 0-1 per nomor, menggabungkan velocity, heuristik tipe saluran, flag porting terbaru, dan daftar nomor berbahaya.
- 06
Validitas dan keterjangkauan
Boolean valid dan jendela reachable — beberapa nomor lolos parsing tapi operator tidak lagi mengalokasikannya.
- 07
Lookup batch
POST daftar hingga 1.000 nomor dalam satu panggilan. Harga per nomor tetap sama; Anda menghemat round trip.
- 08
Harga berbasis cache
Cache 24 jam untuk input identik gratis. Anda hanya membayar saat jawabannya benar-benar berbeda.
- 09
Webhook untuk pekerjaan batch
Untuk batch besar, subscribe lookup.completed dan baca file hasilnya alih-alih menahan koneksi HTTP.
- 10
Autentikasi sama, format error sama
Satu API key untuk Lookup, SMS, Email, WhatsApp, Voice. Satu registri tipe error untuk semuanya.
Why we build Lookup
Karena Anda tidak seharusnya mengetahui sebuah nomor adalah telepon rumah dari kegagalan SMS.
Kami sudah menjalankan lookup MNP di dalam routing SMS Bird — kami harus melakukannya, untuk memilih rute operator termurah secara real time. Lookup adalah kueri yang sama, ditampilkan sebagai endpoint kelas satu, sehingga Anda bisa memfilter pendaftaran, menilai risiko, dan memperkirakan biaya routing tanpa mengirim satu SMS pun. Autentikasi sama, format error sama, webhook sama seperti platform lainnya.
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,
// }Setiap perubahan status adalah webhook.
Payload bertanda tangan HMAC, dilindungi dari replay, idempoten. Lookup nomor tunggal bersifat sinkron; lookup batch dikirim sebagai webhook.
{
"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
}
}Jadwal retry: 5d, 30d, 5m, 30m, 2j, 6j, 12j. Dead-letter setelah percobaan terakhir; setiap event dead-letter dapat di-replay dari dashboard atau API.
lookup.completedLookup (tunggal atau batch) selesai. Payload mencakup respons lengkap.lookup.failedLookup tidak dapat dilakukan; payload mencakup format error.
Cari nomor, lalu kirim ke nomor tersebut.
Autentikasi sama, kontrak idempotency sama, format error sama. Lookup berbentuk seperti setiap endpoint lainnya — bedanya adalah ia mengembalikan data, bukan mengirim pesan.
Lookup.
await bird.lookup.get({
phone: "+14155550172",
});Operator, tipe saluran, riwayat porting, sinyal penipuan — dikembalikan secara sinkron dalam waktu kurang dari 300ms.
SMS.
await bird.sms.send({
from: "Bird",
to: "+14155550172",
text: `Your code is ${code}.`,
});Autentikasi sama, format error sama. Filter pengiriman berdasarkan hasil lookup — hapus nomor telepon rumah sebelum membebani biaya Anda.