SMS Verification API Documentation
Integrate product lookup, SMS verification orders, code retrieval, renewals, callbacks, and account balance endpoints.
The NonVoipUsNumber API lets authorized customers list current rental products, place supported orders, and retrieve incoming SMS from their own server. For a plain-language comparison of mobile, rental, and VoIP options, read what a non-VoIP US number means.
Documentation reviewed August 27, 2026.
SMS verification API integration workflow
Use a generated API key for new integrations. Keep it on your server, send it in an authorization header, and never place it in browser code or a public repository.
1. Create an API key
Sign in, open Profile & integrations, generate a key, and store it in your server's secret manager or environment.
2. List products
Call POST /api/products and use the returned product_id, price, category, and availability. Do not guess or hard-code old IDs.
3. Order and receive SMS
Call POST /api/order, retain the returned order_id, then poll /api/getsms or register a callback URL.
| Task | Endpoint | Important response data |
|---|---|---|
| Check balance | POST /api/balance | balance |
| List products | POST /api/products | product_id, price, available |
| Place an order | POST /api/order | order_id, number, expiration |
| Read the latest SMS | POST /api/getsms | sms, pin, status |
| Register a callback | POST /api/saveurl | saved callback URL and status |
Quick-start examples
Each example lists current short-term products. Set NONVOIP_API_KEY securely on your server before running it.
curl --request POST \
--url https://nonvoipusnumber.com/manager/api/products \
--header "Authorization: Bearer $NONVOIP_API_KEY" \
--header "Content-Type: application/json" \
--data '{"type":"short_term"}'
<?php
$apiKey = getenv('NONVOIP_API_KEY');
$request = curl_init('https://nonvoipusnumber.com/manager/api/products');
curl_setopt_array($request, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['type' => 'short_term']),
]);
$response = curl_exec($request);
import os
import requests
response = requests.post(
"https://nonvoipusnumber.com/manager/api/products",
headers={
"Authorization": f"Bearer {os.environ['NONVOIP_API_KEY']}"
},
json={"type": "short_term"},
timeout=30,
)
response.raise_for_status()
print(response.json())
const response = await fetch(
'https://nonvoipusnumber.com/manager/api/products',
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.NONVOIP_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ type: 'short_term' })
}
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
Callbacks, errors, and production readiness
Register an HTTPS callback with POST /api/saveurl and a JSON body such as { "url": "https://client.example/webhook" }. The same URL receives incoming SMS, premium bid, and product_price events.
- Handle documented
400,404, and429responses instead of retrying every failure immediately. - Read
X-RateLimit-Limit,X-RateLimit-Remaining, andX-RateLimit-Reseton authenticated responses. - Use
order_idfor later order actions and log provider responses without logging your API key.
For every request and schema, use the OpenAPI JSON or interactive Swagger documentation. Compare public pricing and review the FAQ for service guidance.
Launch your own white-label reseller website
A ready-to-install reseller application is available for customers who want a branded website powered by the NonVoIP API. It runs separately on your own domain and includes customer accounts, local balances, configurable markup, ordering, callbacks, realtime status updates, and optional Cryptomus deposits.
Use your own authorized API account. API and payment credentials stay securely on your server.
curl -fsSL https://raw.githubusercontent.com/rakibur01/nonvoip-reseller/main/deploy/bootstrap.sh | sudo bash
The installer detects Ubuntu 24.04 or AlmaLinux 9 and AMD64 or ARM64, verifies the downloaded release, then offers guided terminal installation or a protected configuration-file workflow.