Number Insight Standard

The Number Insight Standard API provides all the information from the Number Insight Basic API together with the following additional data:

Use this information to determine the best type of communication for a number (SMS or voice) and block virtual numbers.

Before attempting to run the code examples, replace the variable placeholders as instructed in replaceable variables.

Write the code

Add the following to ni-standard.sh:

Copy to Clipboard
curl -X "POST" "https://api.nexmo.com/ni/standard/json" \
     -d "api_key=$NEXMO_API_KEY" \
     -d "api_secret=$NEXMO_API_SECRET" \
     -d "number=$INSIGHT_NUMBER"

View full source 

Run your code

Save this file to your machine and run it:

$ sh ni-standard.sh

Prerequisites

Install dependencies

$ npm install nexmo
Initialize your dependencies

Create a file named ni-standard.js and add the following code:

Copy to Clipboard
const Nexmo = require('nexmo');

const nexmo = new Nexmo({
  apiKey: NEXMO_API_KEY,
  apiSecret: NEXMO_API_SECRET
});

View full source 

Write the code

Add the following to ni-standard.js:

Copy to Clipboard
nexmo.numberInsight.get({level: 'standard', number: INSIGHT_NUMBER}, (error, result) => {
  if(error) {
    console.error(error);
  }
  else {
    console.log(result);
  }
});

View full source 

Run your code

Save this file to your machine and run it:

$ node ni-standard.js

Prerequisites

Install dependencies

Add the following to build.gradle:

compile 'com.nexmo:client:4.0.0'
Initialize your dependencies

Create a class named StandardInsight and add the following code to the main method:

Copy to Clipboard
NexmoClient client = new NexmoClient.Builder().apiKey(NEXMO_API_KEY).apiSecret(NEXMO_API_SECRET).build();

View full source 

Write the code

Add the following to the main method of the StandardInsight class:

Copy to Clipboard
StandardInsightResponse response = client.getInsightClient().getStandardNumberInsight(INSIGHT_NUMBER);

System.out.println("BASIC INFO:");
System.out.println("International format: " + response.getInternationalFormatNumber());
System.out.println("National format: " + response.getNationalFormatNumber());
System.out.println("Country: " + response.getCountryName() + " (" + response.getCountryCodeIso3() + ", +"
        + response.getCountryPrefix() + ")");

System.out.println();
System.out.println("CARRIER INFO:");
System.out.println("Current carrier: " + response.getCurrentCarrier().getName());
System.out.println("Original carrier: " + response.getOriginalCarrier().getName());

View full source 

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.nexmo.quickstart.insight with the package containing StandardInsight:

gradle run -Pmain=com.nexmo.quickstart.insight.StandardInsight

Prerequisites

Install dependencies

$ Install-Package Nexmo.Csharp.Client
Initialize your dependencies

Create a file named NumberInsightController.cs and add the following code:

Copy to Clipboard
Client = new Client(creds: new Nexmo.Api.Request.Credentials
{
    ApiKey = "NEXMO_API_KEY",
    ApiSecret = "NEXMO_API_SECRET"
});

View full source 

Write the code

Add the following to NumberInsightController.cs:

Copy to Clipboard
var results = Client.NumberInsight.RequestStandard(new NumberInsight.NumberInsightRequest()
{
    Number = number,
});

View full source 

Run your code

Save this file to your machine and run it:

$ (Run using your IDE)

Prerequisites

Install dependencies

$ composer require nexmo/client

Write the code

Add the following to standard.php:

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

$insights = $client->insights()->standard(INSIGHT_NUMBER);

View full source 

Run your code

Save this file to your machine and run it:

$ php standard.php

Prerequisites

Install dependencies

$ pip install nexmo pprint

Write the code

Add the following to ni-standard.py:

Copy to Clipboard
client = nexmo.Client(key=NEXMO_API_KEY, secret=NEXMO_API_SECRET)

insight_json = client.get_standard_number_insight(number=INSIGHT_NUMBER)
pprint(insight_json)

View full source 

Run your code

Save this file to your machine and run it:

$ python ni-standard.py

Prerequisites

Install dependencies

$ gem install nexmo

Write the code

Add the following to ni-standard.rb:

Copy to Clipboard
require 'nexmo'

client = Nexmo::Client.new(
  api_key: NEXMO_API_KEY,
  api_secret: NEXMO_API_SECRET
)

insight = client.number_insight.standard(
  number: SEARCH_NUMBER
)

puts insight.inspect

View full source 

Run your code

Save this file to your machine and run it:

$ ruby ni-standard.rb

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"}
}{
    "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"}
}

For a description of each returned field and to see all possible values, see the Number Insights API documentation