GET
/
v1
curl --request GET \
  --url https://phonevalidation.abstractapi.com/v1
{
  "phone": "14152007986",
  "valid": true,
  "format": {
    "international": "+14152007986",
    "local": "(415) 200-7986"
  },
  "country": {
    "code": "US",
    "name": "United States",
    "prefix": "+1"
  },
  "location": "California",
  "type": "mobile",
  "carrier": "T-Mobile USA, Inc."
}

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.

Getting started

REST

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.

HTTPS

The Phone Number Validation and Verification API requires all communications to be secured TLS 1.2 or greater.

API Versions

All of Abstract’s API are versioned. The Phone Number Validation and Verification API is currently on Version 1.

Your API Key

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.

Base URL

https://phonevalidation.abstractapi.com/v1/

Validation endpoint

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:

Request parameters

api_key
String
required

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 your IP Geolocation API, for example.

phone
String
required

The phone number to validate and verify.

Response parameters

The API response is returned in a universal and lightweight JSON format.

phone
String

The phone number submitted for validation and verification.

valid
Boolean

Is true if the phone number submitted is valid.

format
Object

The object containing the international and local formats of the submitted number

format.international
String

The international format of the submitted phone number. This means appending the phone number’s country code and a ”+” at the beginning.

format.local
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.

country
Object

The object containing details of the phone number’s country

country.code
String

The country’s two letter ISO 3166-1 alpha-2 code.

country.name
String

The name of the country in which the phone number is registered.

country.prefix
String

The country’s calling code prefix.

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.

type
String

The type of phone number. The possible values are: Landline, Mobile, Satellite, Premium, Paging, Special, Toll_Free, and Unknown.

carrier
String

The carrier that the number is registered with.

Response and error codes

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.

CodeTypeDetails
200OKEverything worked as expected.
400Bad requestBad request.
401UnauthorizedThe request was unacceptable. Typically due to the API key missing or incorrect.
422Quota reachedThe request was aborted due to insufficient API credits. (Free plans)
429Too many requestsThe request was aborted due to the number of allowed requests per second being reached. This happens on free plans as requests are limited to 1 per second.
500Internal server errorThe request could not be completed due to an error on the server side.
503Service unavailableThe server was unavailable.

Code samples and libraries

Please see the top of this page for code samples for these languages and more. If we’re missing a code sample, or if you’d like to contribute a code sample or library in exchange for free credits, email us at: team@abstractapi.com

Other notes

A note on metered billing: Each individual phone number you submit counts as a credit used. Credits are also counted per request, not per successful response. So if you submit a request for the (invalid) phone number “kasj8929hs”, that still counts as 1 credit.