← Blog

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.

Frequently asked questions

What should a phone validation API actually check before an outbound calling or SMS campaign?

Look for correct E.164 formatting, a valid region and numbering plan, and line-type metadata that indicates whether a number looks like mobile, landline or VoIP so you can route SMS versus voice sensibly. Just as important is transparency about scope: Boundstone returns a checks.performed and checks.not_performed list on every response, so a 'valid' verdict transparently covers format, region and line-type metadata and nothing more. That lets you strip out malformed and mis-routed numbers before they waste dialer or messaging spend.

If a phone number comes back 'valid', does that mean it's active and someone will answer?

No. A 'valid' result means the number is well-formed, maps to a real region and numbering plan, and includes line-type metadata plus an E.164 version, so it is a hygiene check rather than a liveness check. It does not confirm the line is currently in service or reachable, because carrier lookup and HLR liveness are not performed by default, though a live HLR dip is available as a paid opt-in (hlr:true). Treat validation as a way to remove obvious junk before you dial, not as proof that a number is connectable.

Does validating phone numbers make my outbound calls DNC or TCPA compliant?

No. Phone validation is number hygiene, covering formatting, region and line-type metadata, and it is not a compliance tool. Boundstone does not scrub Do-Not-Call registries, check TCPA consent, or give legal advice, and it cannot tell you a number's current carrier or whether it has been ported, since carrier and ported-status lookups are not performed. You still need a dedicated DNC-scrubbing and consent process alongside any validation step.

Thomas Tsui

Founder of Boundstone — building phone, email and IP validation you can actually verify.

One honest API for email, phone and IP — every response lists what it checked and what it didn't claim to. Free tier: 250 credits/month, no card, credits never expire.

More from Boundstone — API documentation · Benchmark methodology · The benchmark series · Buyer's checklist