Number Insight Standard

You can use Nexmo's Number Insight Standard API to retrieve a user's landline or mobile number, including checking to see that it is registered to an operator. This can help you verify that a phone number is real and give you information on how to format the number.

Number Insight Standard API is a synchronous, easy-to-use RESTful web service. For any phone number you can:

  • Retrieve the international and local format.
  • Know the country where the number is registered.
  • Line type detection (mobile/landline/virtual number/premium/toll-free)
  • Detect mobile country code (MCC) and mobile network code (MNC)
  • Detect if number is ported
  • Identify caller name (USA only)
  • Check if phone number is reachable
curl "https://api.nexmo.com/ni/standard/json?api_key=API_KEY&api_secret=API_SECRET&number=447700900000"
import com.nexmo.client.NexmoClient;
import com.nexmo.client.auth.AuthMethod;
import com.nexmo.client.insight.StandardInsightResponse;

AuthMethod auth = new TokenAuthMethod(API_KEY, API_SECRET);
NexmoClient client = new NexmoClient(auth);
StandardInsightResponse response = client.getInsightClient().getStandardNumberInsight(TO_NUMBER);
<?php 
require_once __DIR__ . '/../vendor/autoload.php';

$basic  = new \Nexmo\Client\Credentials\Basic(NEXMO_API_KEY, NEXMO_API_SECRET);
$client = new \Nexmo\Client($basic);

// Fetch standard insights about this number
$response = $client->insights()->standard('447700900000');

// Alternatively, you can fetch CNAM information too
$response = $client->insights()->standardCnam('447700900000');
import nexmo

client = nexmo.Client(api_key='API_KEY', api_secret='API_SECRET')
client.get_standard_number_insight(number="447700900000")
require 'nexmo'

client = Nexmo::Client.new(api_key: 'API_KEY', api_secret: 'API_SECRET')

client.number_insight.standard(number: '447700900000')
nexmo insight:standard --verbose 447700900000

The response from the API contains the following data:

{
    "status": 0,
    "status_message": "Success",
    "request_id": "e98e0dfb-c485-491b-8d2a-283f35e21d04",
    "international_format_number": "447700900000",
    "national_format_number": "07700 900000",
    "country_code": "GB",
    "country_code_iso3": "GBR",
    "country_name": "United Kingdom",
    "country_prefix": "44",
    "request_price": "0.00500000",
    "remaining_balance": "10.000000",
    "current_carrier": {
        "network_code": "23420",
        "name": "Hutchison 3G Ltd",
        "country": "GB",
        "network_type": "mobile"
    },
    "original_carrier": {
        "network_code": "23410",
        "name": "Telefonica UK Limited",
        "country": "GB",
        "network_type": "mobile"
    },
    "ported": "assumed_ported",
    "roaming": {"status": "unknown"}
}
<?xml version="1.0" encoding="UTF-8"?>
<lookup>
  <request_id>e98e0dfb-c485-491b-8d2a-283f35e21d04</request_id>
  <international_format_number>447700900000</international_format_number>
  <local_number country_code="GB" country_code_iso3="GBR" country_name="United Kingdom" country_prefix="44">07700 900000</local_number>
  <error code="0">Success</error>
  <request_price>0.00500000</request_price>
  <remaining_balance>10.000000</remaining_balance>
  <current_carrier network_code="23420" name="Hutchison 3G Ltd" country="GB" network_type="mobile" />
  <original_carrier network_code="23410" name="Telefonica UK Limited" country="GB" network_type="mobile" />
  <ported>assumed_ported</ported>
  <roaming status="unknown" />
</lookup>