Number Insight Basic

Use Nexmo's Number Insight Basic API to determine:

  • The country where a number is registered
  • The local and international representation of that number

This can help you present numbers to your users in the correct format for their locale.

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

Write the code

Add the following to ni-basic.sh:

Copy to Clipboard
curl "https://api.nexmo.com/ni/basic/json?api_key=$NEXMO_API_KEY&api_secret=$NEXMO_API_SECRET&number=$INSIGHT_NUMBER"

View full source

Run your code

Save this file to your machine and run it:

sh ni-basic.sh

Prerequisites

Install dependencies

npm install @vonage/server-sdk
Initialize your dependencies

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

Copy to Clipboard
const Vonage = require('@vonage/server-sdk');

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET
});

View full source

Write the code

Add the following to ni-basic.js:

Copy to Clipboard
vonage.numberInsight.get({level: 'basic', 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-basic.js

Prerequisites

Install dependencies

Add the following to `build.gradle`:

compile 'com.vonage:client:5.5.0'
Initialize your dependencies

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

Copy to Clipboard
VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();

View full source

Write the code

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

Copy to Clipboard
BasicInsightResponse response = client.getInsightClient().getBasicNumberInsight(INSIGHT_NUMBER);
System.out.println("International format: " + response.getInternationalFormatNumber());
System.out.println("National format: " + response.getNationalFormatNumber());
System.out.println("Country: " + response.getCountryName() + " (" + response.getCountryCodeIso3() + ", +"
        + response.getCountryPrefix() + ")");

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.vonage.quickstart.insight with the package containing BasicInsight:

gradle run -Pmain=com.vonage.quickstart.insight.BasicInsight

Prerequisites

Install dependencies

Install-Package Nexmo.Csharp.Client
Import dependencies

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

Copy to Clipboard
using Vonage;
using Vonage.NumberInsights;
using Vonage.Request;

View full source

Initialize your dependencies

Add the following to BasicInsights.cs:

Copy to Clipboard
var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(creds);

View full source

Write the code

Add the following to BasicInsights.cs:

Copy to Clipboard
var request = new BasicNumberInsightRequest() { Number = INSIGHT_NUMBER };
var response = client.NumberInsightClient.GetNumberInsightBasic(request);

View full source

Prerequisites

Install dependencies

composer require vonage/client

Write the code

Add the following to basic.php:

Copy to Clipboard
$basic  = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

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

View full source

Run your code

Save this file to your machine and run it:

php basic.php

Prerequisites

Install dependencies

pip install nexmo pprint

Write the code

Add the following to ni-basic.py:

Copy to Clipboard
client = vonage.Client(key=VONAGE_API_KEY, secret=VONAGE_API_SECRET)

insight_json = client.get_basic_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-basic.py

Prerequisites

Install dependencies

gem install vonage
Initialize your dependencies

Create a file named ni-basic.rb and add the following code:

Copy to Clipboard
client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

View full source

Write the code

Add the following to ni-basic.rb:

Copy to Clipboard
insight = client.number_insight.basic(
  number: INSIGHT_NUMBER
)

puts insight.inspect

View full source

Run your code

Save this file to your machine and run it:

ruby ni-basic.rb

The response from the API contains the following data:

{
    "status": 0,
    "status_message": "Success",
    "request_id": "fcb1e9a2-db9c-4ea2-84be-4e60da45e187",
    "international_format_number": "447700900000",
    "national_format_number": "07700 900000",
    "country_code": "GB",
    "country_code_iso3": "GBR",
    "country_name": "United Kingdom",
    "country_prefix": "44"
}

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