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.