https://phonevalidation.abstractapi.com/v1/
? api_key = YOUR_API_KEY
& phone = 14154582468
{
"phone": "14154582468",
"valid": true
"local_format": "4154582468",
"international_format": "+14154582468",
"country_name": "United States of America",
"country_code": "US",
"country_prefix": "+1",
"registered_location": "San Francisco, CA",
"carrier": "Verizon USA",
"line_type": "Mobile",
}
Abstract's Phone Number Validation and Verification API is a fast, lightweight, modern, and RESTful JSON API for determining the validity and other details of phone numbers from over 190 countries.
It's very simple to use: you only need to submit your API key and a phone number, and the API will respond as assessment of its validity, as well as additional details like the carrier details, line type, region and city details, and more.
Validating and verifying phone numbers is a critical step to reducing the chances of low quality data and fraudulent or risky users in your website or application.
The Phone Number Validation and Verification API, like all of Abstract's APIs, is organized around REST. It is designed to use predictable, resource-oriented URL's and to use HTTP status codes to indicate errors.
The Phone Number Validation and Verification API requires all communications to be secured TLS 1.2 or greater.
All of Abstract's API are versioned. The Phone Number Validation and Verification API is currently on Version 1.
Your API key is your unique authentication key to be used to access Abstract's Phone Number Validation and Verification API. Note that each of Abstract's API has a unique API key, so you will need different keys to access the Phone Number Validation and Verification and Email Validation APIs, for example. To authenticate your requests, you will need to append your API key to the base URL.
https://phonevalidation.abstractapi.com/v1/
Abstract's Phone Number Validation and Verification API simply requires your unique API key and the phone number you'd like to check:
https://phonevalidation.abstractapi.com/v1/
? api_key = YOUR_UNIQUE_API_KEY
& phone = 14154582468
This was a successful request, so the valid phone number and details associated with it are returned below:
{
"phone": "14154582468",
"valid": true,
"local_format":"4154582468",
"international_format": "+14154582468",
"country_name": "United States of America",
"country_code": "US",
"country_prefix":"+1",
"registered_location": "San Francisco, CA",
"carrier":"Verizon USA",
"line_type": "Mobile",
}
PARAMETER
TYPE
DETAILS
api_key required
String
Your unique API key. Note that each user has unique API keys for each of Abstract's APIs, so your Phone Validation API key will not work for as your IP Geolocation API key, for example.
phone required
String
The phone number to validate and verify.
The API response is returned in a universal and lightweight JSON format.
PARAMETER
TYPE
DETAILS
phone
String
The phone number submitted for validation and verification.
valid
Boolean
Is true if the phone number submitted is valid.
local_format
String
The local or national format of the submitted phone number. For example, it removes any international formatting, such as "+1" in the case of the US.
international_format
String
The international format of the submitted phone number. This means appending the phone number's country code and a "+" at the beginning.
country_name
String
The name of the country in which the phone number is registered.
country_code
String
The country's two letter ISO 3166-1 alpha-2 code.
country_prefix
String
The country's calling code prefix.
registered_location
String
As much location details as are available from our data. This can include the region, state / province, and in some cases down to the city.
carrier
String
The carrier that the number is registered with.
line_type
String
The type of phone number. The possible values are: Landline, Mobile, Satellite, Premium, Paging, Special, Toll_Free, and Unknown.
Whenever you make a request that fails for some reason, an error is returned also in the JSON format. The errors include an error code and description, which you can find in detail below.
CODE
TYPE
DETAILS
200
OK
Everything worked as expected.
400
Bad request
Bad request
401
Unauthorized
The request was unacceptable. Typically due to the API key missing or incorrect.
500
Internal Server Error
The request could not be completed due to an error on the server side.
503
Service Unavailable
The server was unavailable.
Abstract's Phone Validation API is a simple yet powerful REST API that takes a phone number and returns whether or not it is valid, as well as additional information about the phone number, such as its country and sometimes city / region of origin, as well as information like phone number type and carrier. These checks can be done asynchronously or in real-time. By verifying phone numbers via API, you can help keep your sign up and other such flows clear of fake phone numbers and other data and ensure only correct users or numbers continue.
We utilize several databases of numbers to ensure that that we have expansive coverage of not only every country, but also every type of telephone number, such as landlines, cellular phones, toll free numbers, and more. Our systems regularly ingest this data and cross reference it to ensure it's correct. Various updates to the data are made on a daily basis, and substantive updates to the phone data set are also made on a weekly and monthly basis.
The Phone Number Validation API supports phone numbers from 195+ countries. The countries and territories covered by the API include: Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antarctica, Antigua and Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamas, Bahrain, Bangladesh, Barbados, Belarus, Belgium, Belize, Benin, Bermuda, Bhutan, Bolivia, Bosnia and Herzegovina, Botswana, Bouvet Island, Brazil, British Indian Ocean Territory, Brunei Darussalam, Bulgaria, Burkina Faso, Burundi, Cambodia, Cameroon, Canada, Cape Verde, Cayman Islands, Central African Republic, Chad, Chile, China, Colombia, Comoros, Congo, Cook Islands, Costa Rica, Cote D'Ivoire (Ivory Coast), Croatia, Cuba, Cyprus, Czech Republic, Denmark, Djibouti, Dominica, Dominican Republic, East Timor, Ecuador, Egypt, El Salvador, Equatorial Guinea, Eritrea, Estonia, Ethiopia, Falkland Islands (Malvinas), Faroe Islands, Fiji, Finland, France, France, Metropolitan, French Guiana, French Polynesia, French Southern Territories, Gabon, Gambia, Georgia, Germany, Ghana, Gibraltar, Greece, Greenland, Grenada, Guadeloupe, Guam, Guatemala, Guinea, Guinea-Bissau, Guyana, Haiti, Heard and McDonald Islands, Honduras, Hong Kong, Hungary, Iceland, India, Indonesia, Iran, Iraq, Ireland, Israel, Italy, Jamaica, Japan, Jordan, Kazakhstan, Kenya, Kiribati, Korea (North), Korea (South), Kuwait, Kyrgyzstan, Laos, Latvia, Lebanon, Lesotho, Liberia, Libya, Liechtenstein, Lithuania, Luxembourg, Macau, Macedonia, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Marshall Islands, Martinique, Mauritania, Mauritius, Mayotte, Mexico, Micronesia, Moldova, Monaco, Mongolia, Montserrat, Morocco, Mozambique, Myanmar, Namibia, Nauru, Nepal, Netherlands, Netherlands Antilles, New Caledonia, New Zealand, Nicaragua, Niger, Nigeria, Niue, Norfolk Island, Northern Mariana Islands, Norway, Oman, Pakistan, Palau, Panama, Papua New Guinea, Paraguay, Peru, Philippines, Pitcairn, Poland, Portugal, Puerto Rico, Qatar, Reunion, Romania, Russian Federation, Rwanda, Saint Kitts and Nevis, Saint Lucia, Saint Vincent and The Grenadines, Samoa, San Marino, Sao Tome and Principe, Saudi Arabia, Senegal, Seychelles, Sierra Leone, Singapore, Slovak Republic, Slovenia, Solomon Islands, Somalia, South Africa, Spain, Sri Lanka, St. Helena, St. Pierre and Miquelon, Sudan, Suriname, Svalbard and Jan Mayen Islands, Swaziland, Sweden, Switzerland, Syria, Taiwan, Tajikistan, Tanzania, Thailand, Togo, Tokelau, Tonga, Trinidad and Tobago, Tunisia, Turkey, Turkmenistan, Turks and Caicos Islands, Tuvalu, Uganda, Ukraine, United Arab Emirates, United Kingdom (Britain / UK), United States of America (USA), US Minor Outlying Islands, Uruguay, Uzbekistan, Vanuatu, Vatican City State (Holy See), Venezuela, Viet Nam, Virgin Islands (British), Virgin Islands (US), Wallis and Futuna Islands, Western Sahara, Yemen, Yugoslavia, Zaire, Zambia, and Zimbabwe. Note that this is the same list of countries supported by our Public Holidays API.
May 26, 2023
-
Made significant improvements to the accuracy and coverage of mobile phone number validation for global numbers
October 4, 2020
-
Update list of carriers and line types of Europe and MENA
June 21, 2020
-
Improved handling of international country codes and trimming of special characters in submitted phone numbers
June 10, 2020
-
Improved phone number type detection, including for US VOIP numbers
Each of our API's has a free plan as well as several paid options, which offer a greater number of requests, a higher level of data quality, and greater speed for higher prices. Please see the page above or sign into your account to view pricing for each API.
Absolutely! We want you to try before you buy. Each of our API's has a free tier with a generous usage allowance for you to try the product out and verify that the speed and data quality work for you.
We use Stripe to accept payment via major debit and credit cards (Visa, Mastercard, American Express). If you cannot use those payment methods, then contact us at team at abstractapi.com to arrange for an alternative payment method.
Yes, you can upgrade or downgrade your subscription at any time by visiting your dashboard. If you upgrade in the middle of a billing cycle, you will be charged a pro-rated amount for your new plan through the end of the billing cycle.
Yes, all of our subscriptions are month to month. You can cancel at any time, and you will not be charged again at the end of your billing cycle.
You can cancel your subscription at any time from your dashboard. Once canceled, your subscription will be active until the end your current billing cycle, and then it will be automatically moved to the free plan.
If your API usage exceeds the monthly limit set by your plan, then you will be charged a fee for each call over your limit. At the end of your billing period, your usage will reset again.
We do offer enterprise plans with custom features and pricing in limited circumstances. If our public pricing plans don't work for you, then contact us (team at abstractapi.com) and we'll work something out.
While we don't normally offer discounts, we do make exceptions for certain types of users and use cases. If you are a student or are engaged in academic work, or are working on a non-profit or open source project, we're happy to offer you discounts for our API's. Just email us at team at abstractapi.com.
All of our plans are currently paid month to month. We will be launching annual plans at a discount soon. If you're interested in an annual plan in the meantime, just contact us and we'll set you up.
We will typically attempt to charge your payment method up to three times after it fails. If we're still unable to collect payment, then your subscription will be automatically canceled and you'll be moved to the free plan.
Yes, a paid tier of our API may be used in conjunction with a commercial project. The free tiers of our API's may not be used in commercial projects.