Phone validation API
Phone Number Validation API
Send a phone number in any format and get back whether it is valid, its E.164, national and international formats, its country, carrier and line type. Validate numbers at sign-up, before you send an SMS, or clean a whole list with batches of 100.
Example request and response
The example from the /v1/validate documentation. Numbers without a country prefix need country_code, e.g. ?country_code=US.
curl "https://api.numlookupapi.com/v1/validate/+14158586273" \
-H "apikey: YOUR-API-KEY"
{
"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"]
}
Response fields
- valid
- Whether the number is valid in its country's numbering plan.
- possible
- Whether the number has a possible length for its country (a possible number can still be unassigned).
- e164_format, international_format, national_format, local_format, rfc3966_format
- The number in each format, ready to store or display.
- country_code, country_name, country_prefix
- ISO country code, country name and dialing prefix.
- carrier, line_type, number_type
- The operator and the type of line (mobile, landline, toll-free, VoIP and others).
- location, timezones
- Region or city of the number and its IANA time zones.
Use cases
Sign-up forms
Reject mistyped and impossible numbers before they reach your database, and store them in E.164.
SMS and calling
Skip landlines and invalid numbers before you send an SMS or start a call, so you do not pay for messages that cannot arrive.
List cleaning
Validate existing contact lists in batches of up to 100 numbers per request.
Start on the free plan
The free plan includes 100 requests a month with batch validation (10 requests a minute). Paid plans start at $9.99 a month for 5,000 requests without a rate limit.