Choosing a phone validation API for outbound sales
The five things worth evaluating in a phone validation vendor for outbound — coverage, line-type detail, bulk refunds, pricing model — and the one buyers skip: whether it tells you what it actually checked.
Contents
You are picking a phone validation API to clean an outbound list, and every vendor's homepage says the same three words: accurate, fast, real-time. None of that tells you which one to buy. What tells you is a short checklist you can hold against your own file — plus one question most buyer's guides skip: does the vendor tell you what it actually checked, or hand you a green checkmark and hope you do not ask? Here is how to read the field for outbound, what each real option is good at, and where the honest lines fall.
The five things worth evaluating
Country coverage. Your list is only as international as your reps' territory. A US-only tool is fine for US-only dialing and a liability the moment a +44 or +61 number lands in the file. Ask which regions a vendor parses and normalizes, not just which ones it markets. You can spot-check any single number against a tool before you commit — the keyless phone validator takes one number, no signup.
Line-type detail. Outbound routing lives here. You want to skip texting landlines, hold ambiguous lines for a live call, and know a toll-free from a mobile. Note that line type from metadata is the number's designated type in its numbering plan (mobile, fixed line, VoIP, toll-free), not a live network reading — more on that gap below.
Bulk throughput and per-row refunds. You are cleaning a file, not one number. Check the row cap per job and — the part people forget — what happens to your money when a row is garbage. A vendor that charges you for unparseable rows is charging you for its own inability to parse them.
Pricing model. Per-query pay-as-you-go rewards low, spiky volume and punishes a big monthly list scrub. Subscription credits reward steady cleaning. Neither is "better"; they fit different dialing rhythms. Read whether credits expire and whether a card is required to start.
Honesty about what it checked. The one that separates the field. A response that returns valid: true and stops is telling you less than it implies. The useful kind names its own limits in the payload.
The honest field
Concede the strengths first, because they are real.
Twilio Lookup is the deep option. It is pay-as-you-go, and its line-type-intelligence and carrier add-ons pull live carrier data — current carrier, line type from the network. If you need real reachability signal today and are comfortable paying per query and wiring up a larger platform, Twilio does things a metadata-only tool cannot.
NumVerify is the cheap, simple option. It gives you libphonenumber-grade format and region validation over a plain API at a low price. If all you need is "is this well-formed and which country," it is hard to beat on cost and simplicity.
1Lookup is the SMB self-serve option, covering phone, email, and IP in one account with a low-friction signup — a reasonable pick if you want one login for several data types. We wrote up the trade-offs at Boundstone vs 1Lookup.
Trestle is the international, data-rich option. It is genuinely global and sells an HLR-fed activity score — a liveness-leaning signal outbound teams pay for. If per-country fidelity and an activity signal are your priority, it belongs on your list.
Where Boundstone fits
Boundstone is the metadata-and-honesty option, built for teams cleaning lists self-serve. Three things define it. One credit system across phone, email, and IP — the same balance and the same per-row accounting whether you validate a phone number, an email address, or an IP, so you are not reconciling three meters. Self-serve pricing with 250 credits a month free, no card, credits that never expire. And the honesty contract: every response lists what it checked and what it did not.
{
"valid": true,
"e164": "+16504472983",
"country": "US",
"line_type": "fixed_line_or_mobile",
"national_format": "(650) 447-2983",
"checks": {
"performed": ["format", "region", "line_type_metadata"],
"not_performed": ["carrier_lookup", "ported_status", "hlr_liveness"]
}
}
That not_performed array is the point. By default carrier_lookup, ported_status, and hlr_liveness are honestly reported as not performed. If you need liveness, send hlr:true — a real HLR network dip at 5 credits on a paid plan, refunded when the network cannot answer — and those three move into performed. Either way the payload says which happened instead of pretending. The Boundstone vs Twilio Lookup page draws that line in detail.
What "valid" does not tell you for outbound
Read this before you treat any validated file as a dial list. valid: true from metadata means the number is well-formed and possible for its region with a designated line type — not that it is in service, reachable, answered, or currently carried by whom you think. Confirming that needs a live carrier or HLR lookup, which is exactly the not_performed set above.
Two specifics that bite outbound teams. fixed_line_or_mobile — common across North America — means the numbering plan cannot distinguish the two; it is honest ambiguity, so route it for a call and do not guess "mobile." And VoIP detection from metadata only catches numbers in designated VoIP ranges; a hosted or ported number reusing a mobile or fixed-line range looks like a normal mobile to metadata and would need a live carrier lookup to unmask.
One more line, plainly: validation is a hygiene layer, not a compliance layer. Boundstone does not scrub the Do Not Call registry and is not TCPA advice. For DNC and TCPA you need the official registries and, where it matters, legal counsel — not this API. Keep validation and compliance as two separate steps.
The short version
- Evaluate five things. Country coverage, line-type detail, bulk throughput with per-row refunds, pricing model, and whether the vendor is honest about what it checked.
- Each rival wins somewhere. Twilio Lookup is deep with live carrier data (pay-as-you-go); NumVerify is cheap and simple; 1Lookup is self-serve across phone/email/IP; Trestle is international with an HLR-fed activity score.
- Boundstone's edge is one credit system plus the honesty contract. Metadata across phone, email and IP, self-serve pricing, and live carrier/HLR as a paid opt-in (
hlr:true, 5 credits) rather than a silent guess. - "Valid" means well-formed and possible, not live or dial-able. If you need guaranteed liveness, buy that layer explicitly — on Boundstone it is
hlr:true. - Validation cleans the list, it does not scrub DNC. It is not TCPA advice either — keep those as separate steps.