Home / API
REST JSON API

Automate SMS verification with our API

REST JSON API for bots, panels and your own software. Order numbers, read SMS codes, cancel — in a few lines of code.

In seconds Orders return instantly; poll status for the SMS code.
Secure keys Header-only auth, hashed storage, rate limits and optional IP allowlist.
JSON responses Modern REST. Easy with Curl, Node, Python or any language.
Balance checks Query balance and prices before ordering; clear errors on low funds.

Start in 4 steps

Sign up, key, order, SMS — that is the whole flow.

1
Create account Register free and top up balance.
2
Get API key Generate a key from your Profile page.
3
Place order POST /order with service + country.
4
Read the code GET /order/{id} for the SMS OTP.

Endpoints

All paths are under the base URL. Auth is required.

https://www.nuvexsoft.com/verifyhub/demo/api/v1
Method Path Description
GET /me Account summary
GET /balance Current balance
GET /services Active service list
GET /prices?service=wa Country prices / stock
POST /order Create a number order
GET /order/{id} Order status + OTP
POST /order/{id}/cancel Cancel and refund
POST /order/{id}/done Mark order done

Code samples

Copy and replace YOUR_KEY with your key.

Check balance
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://www.nuvexsoft.com/verifyhub/demo/api/v1/balance"
Get a number
curl -X POST "https://www.nuvexsoft.com/verifyhub/demo/api/v1/order" \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":"wa","country":"62"}'
Wait for SMS
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://www.nuvexsoft.com/verifyhub/demo/api/v1/order/123"

# status: waiting | received | cancelled | expired | done
# code: OTP (when received)

API FAQ

Common integration questions.

After signing up, create a key on the Profile page. The full key is shown only once when generated.
Any language works with REST JSON: PHP, Python, Node.js, Go, C#… Curl samples are in the docs.
Same as the panel: refunds apply on expiry or successful cancel. Status returns expired / cancelled.
Yes: 120 requests/min overall, 30 orders/min. Over limit returns HTTP 429 with X-RateLimit headers. Poll status every 2–5s.
Keys are stored hashed and accepted only via headers. You can set an IP allowlist on Profile and rotate if leaked.
Ready to integrate?

Sign up, create an API key, and get your first number in a few lines.

Sign up free & get a key Contact