Find an API

Search public APIs with auth details & Postman guides

← All APIs

Verify API

nexmo · Company

Company No Auth Free & Open API

The Verify API helps you to implement 2FA (two-factor authentication) in your applications. This is useful for: * Protecting against spam, by preventing spammers from creating multiple accounts * Monitoring suspicious activity, by forcing an account user to verify ownership of a number * Ensuring that you can reach your users at any time because you have their correct phone number More information is available at

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Verify Search

Use Verify search to check the status of past or current verification requests: 1. Send a Verify search request containing the `request_id`s of the verification requests you are interested in. 2. Use the `status` of each verification request in the `checks` array of the response object to determine

https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}?api_key=YOUR_API_KEY&api_secret=example&request_id=example&request_ids=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}?api_key=YOUR_API_KEY&api_secret=example&request_id=example&request_ids=example"
import requests
params = {
    "api_key": "YOUR_API_KEY",
    "api_secret": "example",
    "request_id": "example",
    "request_ids": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}');
url.searchParams.set('api_key', 'YOUR_API_KEY');
url.searchParams.set('api_secret', 'example');
url.searchParams.set('request_id', 'example');
url.searchParams.set('request_ids', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}")
	q := baseURL.Query()
	q.Set("api_key", "YOUR_API_KEY")
	q.Set("api_secret", "example")
	q.Set("request_id", "example")
	q.Set("request_ids", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}")
uri.query = URI.encode_www_form({
  "api_key" => "YOUR_API_KEY",
  "api_secret" => "example",
  "request_id" => "example",
  "request_ids" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/search/{format}?" . http_build_query([
    "api_key" => "YOUR_API_KEY",
    "api_secret" => "example",
    "request_id" => "example",
    "request_ids" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST Request a network unblock

Request to unblock a network that has been blocked due to potential fraud detection Network Unblock is switched off by default. Please contact Sales to enable the Network Unblock API for your accoun

https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock

Hover any highlighted part to learn what it does

curl -X POST "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock"
import requests
response = requests.post(
    "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock';

const response = await fetch(url, {
  method: 'POST',
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock"
	req, _ := http.NewRequest("POST", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/network-unblock";
$opts = ["http" => [
    "method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST Request a Verification

Use Verify request to generate and send a PIN to your user: 1. Create a request to send a verification code to your user. 2. Check the `status` field in the response to ensure that your request was successful (zero is success). 3. Use the `request_id` field in the response for the Verify check.

https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}

Hover any highlighted part to learn what it does

curl -X POST "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}"
import requests
response = requests.post(
    "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}';

const response = await fetch(url, {
  method: 'POST',
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}"
	req, _ := http.NewRequest("POST", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/nexmo.com/verify/1.2.4/{format}";
$opts = ["http" => [
    "method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with Verify API?

Verify API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Verify API is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗