Number Lookup
Look up any E.164 phone number to validate it and enrich it with carrier, line-type, portability, SIM-swap, roaming, and live-reachability intelligence. Orbit uses Devotel HLR as the primary source and Telnyx as a fallback. Lookup is a billable operation — see Billing below.Single Lookup (quick validation)
phone field must be valid E.164 (+ followed by 1–15 digits).
Full Intelligence Lookup
+ as %2B (an unencoded + is also accepted for back-compat).
Response
Data Packages (Twilio Lookup v2 compatible)
Add afields= selector (comma-separated, or a JSON array) to request per-field intelligence packages — the same selector shape Twilio Lookup v2 uses, so migration scripts work unchanged.
400.
Available fields
| Field | Status today | Source |
|---|---|---|
line_type_intelligence | available | Devotel HLR (type, network, mcc, mnc) |
operator_name | available | Devotel HLR home-network operator name |
phone_number_quality_score | available | derived from reachability + portability + carrier signals |
sim_swap | available when Telnyx hints present | Telnyx Lookup v2 |
caller_name | not_implemented | CNAM subscriber display (pairs with cnam) |
cnam | coming_soon | Devotel wholesale softswitch CNAM dip |
identity_match | coming_soon | KYC vendor (not contracted) |
call_forwarding | coming_soon | Telnyx forwarding add-on (not contracted) |
number_reputation | coming_soon | Telnyx Number Insights / Trust Hub (not contracted) |
dataPackages map carries a discriminated status:
| Status | Meaning |
|---|---|
available | The provider returned real data in data. |
coming_soon | The field is advertised in the catalog but the upstream provider is not yet contracted (reason: "upstream_provider_not_contracted"). Replaying will not change the answer until the vendor work lands — do not design integrations assuming a payload. |
not_implemented | No provider has wired this field yet (transient). |
error | The provider call failed for this specific field; the base lookup may still have succeeded (per-field isolation). |
Bulk Lookup
Validate up to 100 numbers in a single request.available: false with an explanatory message and an empty results array. The endpoint is rate-limited more tightly than single lookup (a 100-number batch checks for ~$1.00 of wallet headroom up front).
Billing
Each lookup that an upstream actually answers is charged to your wallet on thenumber_lookup channel (fallback 1¢/query; per-org overrides apply). Key rules:
- Single lookup is charged after the upstream returns. A request that falls through to local E.164 detection (no upstream call) is free.
- Bulk lookup pre-checks your balance for
N × unit priceand fails fast with402before fanning out, then charges per successful result. - A per-tenant daily cost cap (default $50/day) protects against runaway spend — exceeding it returns
429. - Sandbox requests (
testMode) are never billed.
402 INSUFFICIENT_BALANCE with balance_cents and cost_cents so you can prompt a top-up.