Lookup wordt geüpgraded

Telefoonnummer-intelligentie. Lijntype, provider, geporteerd-van, fraudesignalen.

MNP-aware provider-lookup over dezelfde lijnen die het SMS- en Voice-verkeer van Bird verwerken. Eén endpoint, dezelfde auth, dezelfde error-envelope als elk ander Bird-kanaal — omdat hetzelfde engineeringteam ze allemaal heeft gebouwd.

lookup.ts
200 · 0.3s
import { BirdClient } from "@messagebird/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 minuten van npm install tot eerste lookup

Zoek een nummer op vanuit de taal die u al gebruikt.

SDK's in elke grote runtime. Lookup antwoordt in minder dan 300 ms mediaan — snel genoeg om een SMS-verzending erop te laten wachten.

1
2
3
4
5
6
7
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.lookup.get({
  phone: "+14155550172",
}).safe();

Tien velden die u anders bij drie leveranciers zou moeten samenstellen.

Concrete datapunten, benoemd en auditeerbaar. Elk punt komt van een echte bron, niet van een model dat raadt.

  1. 01

    Lijntype-detectie

    Mobiel, vast, VoIP, gratis nummer, premium, pager. Bepaal of SMS überhaupt mogelijk is voordat u verzendt.

  2. 02

    Provideridentificatie

    Huidige providernaam en landcode per E.164-invoer. Continu bijgewerkt tegen MNP-registers.

  3. 03

    Geporteerd-van-historie

    De vorige provider waarvan het nummer is weggeporteerd. Handig voor routeringskostenprognoses en fraudeheuristieken.

  4. 04

    Land- en regioformaat

    Retourneert E.164-, nationaal en internationaal formaat; de land- en regiocodes die een router nodig heeft.

  5. 05

    Fraudesignalen

    Een fraud_score van 0-1 per nummer, gebaseerd op snelheid, lijntype-heuristieken, recente-portvlaggen en bekende-kwaadlijsten.

  6. 06

    Validiteit en bereikbaarheid

    Een boolean valid en een reachable-venster — sommige nummers parsen correct, maar de provider wijst ze niet meer toe.

  7. 07

    Batch-lookup

    POST een lijst van maximaal 1.000 nummers in één aanroep. Dezelfde prijs per nummer geldt; u bespaart de round trips.

  8. 08

    Cache-bewuste prijzen

    Een 24-uurscache op identieke invoer is gratis. U betaalt alleen wanneer het antwoord daadwerkelijk zou verschillen.

  9. 09

    Webhooks voor batchtaken

    Abonneer u voor grote batches op lookup.completed en lees het resultaatbestand in plaats van een HTTP-verbinding open te houden.

  10. 10

    Dezelfde auth, dezelfde error-envelope

    Eén API-sleutel voor Lookup, SMS, Email, WhatsApp, Voice. Eén fouttype-register voor allemaal.

Waarom we Lookup bouwen

Want u zou niet moeten ontdekken dat een nummer een vaste lijn is door te zien dat de SMS mislukt.

We draaiden al MNP-lookups binnen de SMS-routering van Bird — dat moest, om in realtime de goedkoopste providerroute te kiezen. Lookup is diezelfde query, beschikbaar als een volwaardig endpoint, zodat u aanmeldingen kunt filteren, risico kunt scoren en routeringskosten kunt voorspellen zonder één SMS te verzenden. Dezelfde auth, dezelfde error-envelope, dezelfde webhooks als de rest van het platform.

lookup.ts
200 · 0.3s
import { BirdClient } from "@messagebird/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,
//   }

Elke statuswijziging is een webhook.

HMAC-ondertekende payloads, replay-beschermd, idempotent. Enkele lookups zijn synchroon; batch-lookups worden als webhooks verspreid.

POST /webhooks/bird
signed
{
  "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
  }
}

Retry-schema: 5s, 30s, 5m, 30m, 2u, 6u, 12u. Dead-letter na de laatste poging; elk dead-lettered event is opnieuw afspeelbaar vanuit het dashboard of de API.

  • lookup.completedEen lookup (enkel of batch) is voltooid. De payload bevat de volledige response.
  • lookup.failedLookup kon niet worden uitgevoerd; de payload bevat de error-envelope.

Zoek het nummer op en verstuur er vervolgens naartoe.

Dezelfde auth, hetzelfde idempotency-contract, dezelfde error-envelope. Lookup is vormgegeven als elk ander endpoint — het verschil is dat het data retourneert in plaats van een bericht te verzenden.

Lookup.

lookup
await bird.lookup.get({
  phone: "+14155550172",
});

Provider, lijntype, geporteerd-van, fraudesignalen — synchroon geretourneerd in minder dan 300 ms.

SMS.

sms
await bird.sms.send({
  from: "Bird",
  to:   "+14155550172",
  text: `Your code is ${code}.`,
});

Dezelfde auth, dezelfde error-envelope. Laat de verzending afhangen van het lookup-resultaat — filter de vaste lijnen eruit voordat ze u geld kosten.

Vanaf $0,005 per lookup.

Prijs per query. Identieke invoer binnen een 24-uursvenster wordt gecachet en is gratis. Volumekortingen gelden automatisch boven 1M/maand. Geen platformkosten, geen stoelkosten.

Begin met één kanaal.
Voeg de rest toe wanneer je er klaar voor bent.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra je een betaalmethode toevoegt en een afzender verifieert.

Gebruik je Claude Code, Cursor of Codex? Kopieer een setup-prompt en je agent installeert de Bird CLI en skills voor je. Kies de jouwe:

Cursor