Find an API

Search public APIs with auth details & Postman guides

← All APIs

Nexmo Conversion API

nexmo · Company

Company No Auth Free & Open API

The Conversion API allows you to tell Nexmo about the reliability of your 2FA communications. Sending conversion data back to us means that Nexmo can deliver messages faster and more reliably. The conversion data you send us is confidential: Nexmo does not share it with third parties. In order to identify the carriers who provide the best performance, Nexmo continually tests the routes we use to deliver SMS and voice calls. Using Adaptive Routing™, Nexmo actively reroutes messages through differ

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST Tell Nexmo if your SMS message was successful

Send a Conversion API request with information about the SMS message identified by `message-id`. Nexmo uses your conversion data and internal information about `message-id` to help improve our routing of messages in the future.

https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/sms?delivered=true&timestamp=example&message-id=example

Hover any highlighted part to learn what it does

curl -X POST "https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/sms?delivered=true&timestamp=example&message-id=example"
import requests
params = {
    "delivered": "true",
    "timestamp": "example",
    "message-id": "example"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/sms",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/sms');
url.searchParams.set('delivered', 'true');
url.searchParams.set('timestamp', 'example');
url.searchParams.set('message-id', 'example');

const response = await fetch(url, {
  method: 'POST',
}); 
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/conversion/1.0.1/sms")
	q := baseURL.Query()
	q.Set("delivered", "true")
	q.Set("timestamp", "example")
	q.Set("message-id", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	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/conversion/1.0.1/sms")
uri.query = URI.encode_www_form({
  "delivered" => "true",
  "timestamp" => "example",
  "message-id" => "example"
})

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/conversion/1.0.1/sms?" . http_build_query([
    "delivered" => "true",
    "timestamp" => "example",
    "message-id" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST Tell Nexmo if your voice call was successful

Send a Conversion API request with information about the Call or Text-To-Speech identified by `message-id`. Nexmo uses your conversion data and internal information about `message-id` to help improve our routing of messages in the future.

https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/voice?delivered=true&timestamp=example&message-id=example

Hover any highlighted part to learn what it does

curl -X POST "https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/voice?delivered=true&timestamp=example&message-id=example"
import requests
params = {
    "delivered": "true",
    "timestamp": "example",
    "message-id": "example"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/voice",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/nexmo.com/conversion/1.0.1/voice');
url.searchParams.set('delivered', 'true');
url.searchParams.set('timestamp', 'example');
url.searchParams.set('message-id', 'example');

const response = await fetch(url, {
  method: 'POST',
}); 
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/conversion/1.0.1/voice")
	q := baseURL.Query()
	q.Set("delivered", "true")
	q.Set("timestamp", "example")
	q.Set("message-id", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	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/conversion/1.0.1/voice")
uri.query = URI.encode_www_form({
  "delivered" => "true",
  "timestamp" => "example",
  "message-id" => "example"
})

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/conversion/1.0.1/voice?" . http_build_query([
    "delivered" => "true",
    "timestamp" => "example",
    "message-id" => "example"
]);
$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 Nexmo Conversion API?

Nexmo Conversion 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. Nexmo Conversion 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 ↗