Comparison

Best phone number validation APIs in 2026

Which phone validation API should you use? Seven options compared by the data they return, their free tier and what 5,000 lookups with carrier and line type cost.

Updated October 29, 2026 ยท 6 min read

The best phone number validation API depends on what you need to know about a number: whether it is formatted correctly (free, with Google’s libphonenumber), whether it exists in its country’s numbering plan, who the carrier is and whether it is a mobile, landline or VoIP number (a validation API), or whether the phone is reachable right now (an HLR lookup). This comparison covers seven options, numlookupapi, Twilio Lookup, Vonage Number Insight, Abstract, Numverify, Telesign Phone ID and libphonenumber, with what they return, their free tiers and their prices.

We publish numlookupapi, so we are not neutral. Every price and limit below comes from the provider’s own pricing page or documentation, read in October 2026. Prices are list prices without taxes.

Quick comparison

OptionReturnsFree tierPaid pricing
numlookupapiValidity, carrier, line type, number type (incl. VoIP), location, time zones, all formats; batch of 100; HLR on paid plans250 requests a month for testing and personal projects, batch included, no credit cardFlat monthly plans: $9.99 for 5,000, $49.99 for 50,000, $109.99 for 250,000, $179.99 for 500,000
Twilio Lookup v2Free: validity and formats. Paid packages: line type, caller name (US), line status, SIM swap, identity match and moreBasic Lookup (validity, formatting) is freePer request and package: Line Type Intelligence $0.008, Caller Name $0.01
Vonage Number InsightBasic: country and formats. Standard: number type and current carrier. Advanced: adds roaming and reachabilityBasic is freePer request; being replaced by Vonage Identity Insights (Number Insight ends February 4, 2027)
Abstract Phone ValidationValidity, carrier, line type, location100 free requests, no credit cardStarter: $19 a month for 5,000
NumverifyValidity, formats, country, location, carrier, line type100 requests a month, non-commercialBasic: $14.99 a month for 5,000
Telesign Phone IDPhone type, carrier, location, numbering details, blocklistingNot statedPer transaction, on Telesign’s pricing page
libphonenumber (Google, open source)Validity by number range, type by range, formats, original carrier outside North AmericaFree, offline (Apache 2.0)Free

What “phone validation” can mean

LevelAnswersWho offers it
FormatIs this shaped like a phone number? What is its E.164 form?libphonenumber, every API
Numbering planCan this number exist in its country? Mobile or landline range?libphonenumber, every API
Carrier and line typeWhich network was the number assigned to? Mobile, landline, VoIP, toll-free?numlookupapi, Twilio (paid package), Vonage Standard, Abstract, Numverify, Telesign
Live network status (HLR)Is the phone reachable now? Was the number ported? Is it roaming?numlookupapi (hlr=1, paid plans), Twilio Line Status, Vonage Advanced

Most sign-up forms need the first three levels. The live status matters before sending SMS to old lists and for fraud checks.

How to choose

  1. Only formats and typos? Use libphonenumber (or the free phone number validator for single numbers); no API needed.
  2. Carrier and line type at a predictable monthly cost? A flat-rate plan such as numlookupapi’s keeps the price per lookup fixed, with carrier and line type included in every request.
  3. Already on Twilio or Vonage for SMS? Their lookup products add per-request costs but keep everything on one bill. On Vonage, plan the move from Number Insight to Identity Insights.
  4. Validating lists? Use a batch endpoint: numlookupapi validates 100 numbers per request and bills identical numbers in a batch once.
  5. Need to know whether a mobile number is live? Look for an HLR or line status product, priced per lookup on top of validation.

What 5,000 lookups cost

Carrier and line type for 5,000 numbers a month, at list prices as of October 2026:

ProviderPlan or priceCost for 5,000
numlookupapiBasic plan$9.99
NumverifyBasic plan$14.99
AbstractStarter plan$19
TwilioLine Type Intelligence, $0.008 per request$40
VonageIdentity Insights current carrier, $0.00819 per requestabout $41

At 50,000 lookups, numlookupapi’s Pro plan costs $49.99 and Twilio’s Line Type Intelligence $400. Flat plans have a monthly quota: compare the plan that fits your volume, and check what the provider does when you go over it.

The options in detail

numlookupapi

A JSON API: one request returns validity, carrier, line type, number_type (which marks VoIP numbers and the landline_or_mobile ranges of the US and Canada), location, time zones and the number in E.164, national, international and RFC 3966 formats. POST /v1/validate takes 100 numbers per request, and the dashboard validates uploaded CSV, TXT and Excel files. On paid plans, hlr=1 adds the live network status of a mobile number (reachable, ported, current carrier, roaming) for 20 extra requests per answered lookup. The free plan is for testing and personal projects; commercial use starts with Basic. Pricing, documentation.

Twilio Lookup v2

Basic Lookup is free and returns whether a number is valid (valid, validation_errors) and its formats. Everything else is a paid package billed per request: Line Type Intelligence ($0.008), Caller Name ($0.01, US only), Identity Match, Line Status, Reassigned Number (US only), and SIM Swap and Call Forwarding in private beta. Good if you already send SMS through Twilio. Our numlookupapi vs Twilio Lookup page compares the two in detail.

Vonage Number Insight

Three levels: Basic (free; country and formats), Standard (number type and current carrier for mobile numbers) and Advanced (adds roaming and reachability). Vonage has announced that Number Insight ends on February 4, 2027, and points to its Identity Insights API, which prices number formatting at no cost, the original carrier at $0.00117 and the current carrier at $0.00819 per request.

Abstract Phone Validation

Returns validity, carrier, line type and location. The free tier starts with 100 requests without a credit card; Starter costs $19 a month for 5,000 requests ($17 a month billed yearly). Phone risk and registration data are on the higher plans.

Numverify

From apilayer. Returns validity, local and international formats, country, location, carrier and line type. The free plan has 100 requests a month and is for non-commercial use; Basic costs $14.99 a month for 5,000 requests.

Telesign Phone ID

Telesign’s Phone ID returns the phone type, carrier, location, numbering details and blocklisting information. Telesign publishes per-transaction prices on its identity pricing page.

libphonenumber

Google’s open-source library (Apache 2.0; release 9.0.42 in October 2026) with ports for JavaScript, Python, PHP and other languages. It validates length and prefix against every country’s numbering plan, tells mobile from landline ranges, formats numbers and maps number blocks to the carrier they were originally assigned to. Its documentation says it does not provide the current carrier, and in our test with the Python port it returned no carrier for a US number. Our tutorials show it in JavaScript, Python and PHP.

numlookupapi in one request

curl -H "apikey: YOUR-API-KEY" "https://api.numlookupapi.com/v1/validate/+14158586273"
{
  "valid": true,
  "number": "14158586273",
  "local_format": "4158586273",
  "international_format": "+14158586273",
  "country_prefix": "+1",
  "country_code": "US",
  "country_name": "United States of America",
  "location": "Novato",
  "carrier": "AT&T Mobility LLC",
  "line_type": "mobile",
  "e164_format": "+14158586273",
  "national_format": "(415) 858-6273",
  "rfc3966_format": "tel:+1-415-858-6273",
  "possible": true,
  "number_type": "landline_or_mobile",
  "timezones": ["America/Los_Angeles"]
}

A number that is not in use returns HTTP 200 with "valid": false, so check that field rather than the status code. Start with 250 free requests a month or compare the plans.

Frequently asked questions

What is the best free phone validation API?

For format checks, Google's libphonenumber is free, open source and works offline. Twilio's Basic Lookup checks validity and formats for free. Among hosted APIs with carrier and line type, numlookupapi's free plan gives 250 requests a month for testing and personal projects, including batch validation, with no credit card; Numverify's free plan has 100 requests a month for non-commercial use.

Do I need an API if libphonenumber is free?

libphonenumber validates formats and number ranges offline. You need an API when you want the carrier and line type from a maintained numbering-plan database (including US and Canadian number blocks, which libphonenumber does not map to carriers), when you cannot ship numbering-plan data to every client, or when you need the live network status of a mobile number.

Can a phone validation API tell if a number is active?

Only with a live network query. Format and numbering-plan validation say a number can exist. An HLR lookup asks the mobile network whether the number is reachable, ported or roaming: numlookupapi offers it with hlr=1 on paid plans, Twilio as Line Status and Vonage in Advanced Number Insight.

How much does phone number validation cost?

As of October 2026, 5,000 lookups with carrier and line type cost $9.99 a month on numlookupapi's Basic plan, $14.99 on Numverify Basic and $19 on Abstract's Starter plan, while Twilio bills Line Type Intelligence at $0.008 per request, $40 for 5,000.

Phone number API

Validate numbers like this in your app

numlookupapi checks any phone number worldwide in one request and returns validity, line type, carrier, location and every standard format as JSON.

Read the documentation

250 free requests every month. No credit card required.

GET https://api.numlookupapi.com/v1/validate/+12069220880

{
  "valid": true,
  "number": "12069220880",
  "local_format": "2069220880",
  "international_format": "+12069220880",
  "country_prefix": "+1",
  "country_code": "US",
  "country_name": "United States of America",
  "location": "Seattle",
  "line_type": "landline",
  "e164_format": "+12069220880",
  "national_format": "(206) 922-0880"
}

Keep reading

Start using our phone number API for free today!

Get 250 requests / month for free