Phone-Validator goes BlockChain - Byteplant joins API3 Alliance

Phone Number Validation API

Integrate our Phone Number Validation & Verification API directly into your website or CRM/ERP and improve your contact data instantly - only valid, reachable phone numbers will be accepted. To ensure full compliance with the FCC Telephone Consumer Protection Act (TCPA), the API also detects the correct line type (landline, mobile or VoIP).

Try Our API For Free

Validating phone numbers with a real-time phone validation API is easy. With plugins created specifically for your website, e-commerce store, CRM, and other systems, you can check numbers in real-time.

When a user enters a phone number, the system performs a live network checks for validity. It comes back with a detailed status like "valid/confirmed", "valid/unconfirmed" or "invalid". It also identifies the line type (landline or mobile), phone carrier and geolocation of the user.

By taking advantage of the phone validator, you get access to free support, free WordPress, Node.js, and jQuery plugins, and easy integration through Zapier.

During the phone number validation process, no calls are made - your users will not be bothered by the verification.

Phone Number Validation API at Work

To keep in touch with prospects, users and clients, it's imperative to make sure their phone numbers are correct. Otherwise, you end up with an invalid phone number list, which can slow down your sales and marketing teams. Invalid phone numbers don't just hinder your marketing efforts. They can also lead to substantial unexpected expenses and lost revenue.

With our services, real-time phone number validation became a reality for a large number of businesses worldwide. Phone Validator performs live network queries along with database comparisons in over 240 countries to provide the fastest, most accurate response. This approach can save a significant amount of time and money for any business that relies on customer data to streamline its sales and marketing efforts.

The phone validator works for international and domestic phone numbers, providing data at a reasonable cost. With real-time phone number verification, it's possible to ensure the validity of your customer information and improve your data quality.

Phone Validation API Code Examples

  • API Specification
  • jQuery
  • PHP
  • Java
  • C#
  • VB.NET

Phone Validation API

API URLhttp[s]://api.phone-validator.net/api/v2/verify
MethodGET or POST
Example API request (GET)
https://api.phone-validator.net/api/v2/verify?PhoneNumber=+499874-322466&CountryCode=de&APIKey=your API key
Input Parameters
PhoneNumberphone number to validate (string, URL encoded) - either in national format or in international format with a leading + (please use URL encoding: + → %2B).
CountryCodetwo letter ISO 3166-1 country code (string) [optional, if phone number is in international format]
LocaleIETF language tag for Geocoding (string) [optional; default 'en-US']
Mode (string) express (static checks only)
extensive (full validation)
[optional, default = extensive]
APIKeyyour API key (string)
Timeouttimeout in seconds (int) [optional; default 10s, min 5s, max 300s]
API Result (JSON)
status (string)VALID_CONFIRMED, VALID_UNCONFIRMED, INVALID, DELAYED, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED
linetype (string)FIXED_LINE, MOBILE, VOIP, TOLL_FREE, PREMIUM_RATE, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN, VOICEMAIL
location (string)geographical location (city, county, state)
countrycode (string)two letter ISO 3166-1 country code
formatnational (string)phone number in national format
formatinternational (string)phone number in international format
mcc (string)mobile country code to identify a mobile network operator (carrier) using the GSM (including GSM-R), UMTS, and LTE networks
mnc (string)mobile network code to identify a mobile network operator (carrier) using the GSM (including GSM-R), UMTS, and LTE networks
ratelimit_remain (int)number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s)
ratelimit_seconds (int)number of seconds remaining in the current rate limit interval

Bulk Phone Validation API

The Bulk API allows you to upload up to 100K phone numbers for validation with a single API call.

API URLhttp[s]://api.phone-validator.net/api/v2/bulk-verify
MethodPOST
Example API request
curl -X POST -H 'Content-Type: text/csv' --data-binary @phonenumbers.csv "https://api.phone-validator.net/api/v2/bulk-verify?APIKey=your API key"
Input Parameters
Request Bodylist of phone numbers to validate in CSV format
APIKey (string)your API key
TaskName (string)name for this validation task [optional]
CountryCodetwo letter ISO 3166-1 country code (string) [optional, if phone numbers are in international format]
LocaleIETF language tag for Geocoding (string) [optional; default 'en-US']
Mode (string) express (static checks only)
extensive (full validation)
[optional, default = extensive]
NotifyEmail (string)email address to receive notifications for this task [optional, default is the email address of the API account]
NotifyURL (string)URL to receive a completion notification for this task [optional]
API Result (JSON)
status (string)API result code (SUCC or FAIL)
info (string)validation task id (if status is SUCC)

When the validation task is finished, we send you an email and (if requested) a HTTP GET request to the NotifyURL (with a 'taskid' parameter in the URL).

Phone Number Validation with jQuery

<script type="text/javascript" src="path/to/jquery"></script>
<script type="text/javascript">
$(document).ready(function() {
    ...
    // send API request
    PhoneNumber = 'phone number';
    CountryCode = 'us';
    Locale = 'en-US';
    $.ajax({
        url: 'https://api.phone-validator.net/api/v2/verify',
        type: 'POST',
        data: { PhoneNumber: PhoneNumber, CountryCode: CountryCode,
                Locale: Locale, APIKey: 'your API key'},
        dataType: 'json',
        success: function (json) {
            // check API result
            if (typeof(json.status) != "undefined") {
                statuscode = json.status;
                switch (statuscode) {
                    case "VALID_CONFIRMED":
                    case "VALID_UNCONFIRMED":
                        linetype = json.linetype;
                        location = json.location;
                        countrycode = json.countrycode;
                        formatnational = json.formatnational;
                        formatinternational = json.formatinternational;
                        mcc = json.mcc;
                        mnc = json.mnc;
                        break;
                    case "INVALID": break;
                    default:
                }
            }
        }
    });
    ...
});
</script>

Phone Number Validation with PHP

...
// build API request
$APIUrl = 'https://api.phone-validator.net/api/v2/verify';
$PhoneNumber = "phone number";
$CountryCode = "us";
$Locale = "en-US";
$Params = array('PhoneNumber' => $PhoneNumber,
                'CountryCode' => $CountryCode,
                'Locale' => $Locale,
                'APIKey' => 'your API key');
$Request = http_build_query($Params, '', '&');
$ctxData = array(
    'method'=>"POST",
    'header'=>"Connection: close\r\n".
    "Content-Type: application/x-www-form-urlencoded\r\n".
    "Content-Length: ".strlen($Request)."\r\n",
    'content'=>$Request);
$ctx = stream_context_create(array('http' => $ctxData));

// send API request
$result = json_decode(file_get_contents(
    $APIUrl, false, $ctx));

// check API result
switch($result->{'status'}) {
    case "VALID_CONFIRMED":
    case "VALID_UNCONFIRMED":
        $linetype = $result->{'linetype'};
        $location = $result->{'location'};
        $countrycode = $result->{'countrycode'};
        $formatnational = $result->{'formatnational'};
        $formatinternational = $result->{'formatinternational'};
        $mcc = $result->{'mcc'};
        $mnc = $result->{'mnc'};
    case "INVALID": 
        echo $PhoneNumber." is ".$result->{'status'};
        break;
    default:
        echo $result->{'info'};
}
...

Phone Number Validation with Java

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
...
HttpClient client = new DefaultHttpClient();
String PhoneNumber = "phone number";
String CountryCode = "us";
String Locale = "en";
String ApiKey = "your API key";
String APIURL = "https://api.phone-validator.net/api/v2/verify";
try {
    HttpPost request = new HttpPost(APIURL);
    List <NameValuePair> Input = new ArrayList<NameValuePair>();
    Input.add(new BasicNameValuePair("PhoneNumber", PhoneNumber));
    Input.add(new BasicNameValuePair("CountryCode", CountryCode));
    Input.add(new BasicNameValuePair("Locale", Locale));
    Input.add(new BasicNameValuePair("APIKey", ApiKey));
    request.setEntity(new UrlEncodedFormEntity(Input));
    HttpResponse response = client.execute(request);
    HttpEntity entity = response.getEntity();
    String Output = EntityUtils.toString(entity, "UTF-8");
    JSONParser parser = new JSONParser();
    Object obj = parser.parse(Output);
    JSONObject jsonObject = (JSONObject) obj;
    String status = (String) jsonObject.get("status");
    switch (status) {
        case "VALID_CONFIRMED":
        case "VALID_UNCONFIRMED":
            String LineType = (String) jsonObject.get("linetype");
            String Location = (String) jsonObject.get("location");
            String CountryCode = (String) jsonObject.get("countrycode");
            String FormatNational = (String) jsonObject.get("formatnational");
            String FormatIntl = (String) jsonObject.get("formatinternational");
            String MCC = (String) jsonObject.get("mcc");
            String MNC = (String) jsonObject.get("mnc");
            break;
        case "INVALID": break;
        default:
    }
    ...
} catch (IOException e) {
    e.printStackTrace();
} catch (ParseException e) {
    e.printStackTrace();
} finally {
    client.getConnectionManager().shutdown();
}
...

Phone Number Validation with C#

using System;
using System.Collections.Generic;
using System.Net.Http;
...

private class APIResult
{
    public String status { get; set; }
    public String linetype { get; set; }
    public String location { get; set; }
    public String countrycode { get; set; }
    public String formatnational { get; set; }
    public String formatinternational { get; set; }
    public String mcc { get; set; }
    public String mnc { get; set; }
}

const String APIURL = "https://api.phone-validator.net/api/v2/verify";
HttpClient client = new HttpClient();
String PhoneNumber = "phone number";
String CountryCode = "us";
String Locale = "en-US";
String ApiKey = "your API key";

var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>("PhoneNumber", PhoneNumber));
postData.Add(new KeyValuePair<string, string>("CountryCode", CountryCode));
postData.Add(new KeyValuePair<string, string>("Locale", Locale));
postData.Add(new KeyValuePair<string, string>("APIKey", APIKey));

HttpContent content = new FormUrlEncodedContent(postData);

HttpResponseMessage result = client.PostAsync(APIURL, content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;

APIResult res = new System.Web.Script.Serialization.JavaScriptSerializer().
Deserialize<APIResult>(resultContent);

switch (res.status) {
    case "VALID_CONFIRMED":
    case "VALID_UNCONFIRMED":
        String LineType = res.linetype;
        String Location = res.location;
        String CountryCode = res.countrycode;
        String FormatNational = res.formatnational;
        String FormatInternational = res.formatinternational;
        String MCC = res.mcc;
        String MNC = res.mnc;
        break;
    case "INVALID": break;
    default:
}
...

Phone Number Validation with VB.NET

...
Private Sub checkPhoneNumber(ByVal PhoneNumber As String,
                       ByVal CountryCode As String,
                       ByVal Locale As String,
                       ByVal APIKey As String)
    Const APIURL As String = "https://api.phone-validator.net/api/v2/verify"
    Using client As New Net.WebClient
      Dim postData As New Specialized.NameValueCollection
      postData.Add("PhoneNumber", PhoneNumber)
      postData.Add("CountryCode", CountryCode)
      postData.Add("Locale", Locale)
      postData.Add("APIKey", APIKey)
      Dim reply = client.UploadValues(APIURL, "POST", postData)
      Dim data As String = (New System.Text.UTF8Encoding).GetString(reply)
      Dim res = New System.Web.Script.Serialization.JavaScriptSerializer().
        Deserialize(Of APIResult)(data)        
      Select Case res.status
        Case "VALID_CONFIRMED"
        Case "VALID_UNCONFIRMED"
            Dim LineType As String = res.linetype
            Dim Location As String = res.location
            Dim CountryCode As String = res.countrycode
            Dim FormatNational As String = res.formatnational
            Dim FormatInternational As String = res.formatinternational
            Dim MCC As String = res.mcc
            Dim MNC As String = res.mnc
        Case "INVALID"
            ...
        Case Else
            ...
      End Select
    End Using
End Sub

Private Class APIResult
    Public status As String
    Public linetype As String
    Public location As String
    Public countrycode As String
    Public formatnational As String
    Public formatinternational As String
    Public mcc As String
    Public mnc As String
End Class
...

WordPress, jQuery & Node.js Plugins

Easy to install & use - these Phone Validator API plugins are available already:

Frequently Asked Questions about the Phone Validator API

What is the Phone Validator API?

The phone number validator API is a solution that checks whether a phone number is active or not. Additionally, it can provide useful parameters, such as:

  • Location – city or region of origin
  • Type of phone number (cell phone or landline)
  • Phone carrier type
Phone number verification can be done in real-time in order to check the customer's details before they become a part of your user database. This can save online businesses a substantial amount of time and money.

Why use Phone Validator API?

If you want to validate phone numbers, you have a limited number of options. Doing it manually is time-consuming. Meanwhile, it involves calling the user and disrupting their day-to-day activities.

With our phone verification API service, it's possible to automate the checking of thousands phone numbers without bothering the recipient. It can also provide additional information about the user, which can be useful for your sales and marketing efforts.

Our Phone number verification API saves businesses time and money while allowing the team to focus on core tasks instead of checking phone numbers manually.

How does the Phone Validator API work?

The phone validator checks numbers to see if they are valid (exist and still in use). The service uses live network queries along with a large set of internal and external data sources to ensure maximum accuracy. No actual calls are made during the phone number verification process.

You can use our service to standardize numbers for your phone number list and collect additional information about the user. Our phone number verification service supports 240+ countries.

Do you have a free trial for the API?

You can register and try our Phone Validator API for free - no payment or credit card required. Take full advantage of the phone number validation service and see how better quality phone numbers can improve your business.

You can use our Phone Validation API to check up to 100 phone numbers for free -
just register for your free account and we send you an email with the details!