SMS Activation API
The common plain-text activation format, for tools that already use it. New integrations can also use the REST API.Verification Numbers Introduction
Every call is a GET (or POST) request to https://snsverify.com/stubs/handler_api.php with your API key and an action parameter. The key comes from the API key page of your console; keep it private, it can spend your credit. Answers are short text lines such as ACCESS_NUMBER or STATUS_OK, or JSON for the list actions, exactly like other services that use this format.
getBalance (GET) [+]
Your credit in USD.
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=getBalance
Answer
ACCESS_BALANCE:12.50
getServicesList (GET) [+]
Service codes you can buy (JSON).
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=getServicesList
Answer
{"status":"success","services":[{"code":"whatsapp","name":"WhatsApp"}]}getCountries (GET) [+]
Country codes (ISO, lower case) and dial codes (JSON).
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=getCountries
Answer
{"gb":{"name":"United Kingdom","dial":"44"}}getPrices (GET) [+]
Prices in USD per country and service. Both filters are optional.
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=getPrices&service=whatsapp&country=gb
Answer
{"gb":{"whatsapp":{"cost":0.94,"count":100}}}getNumber (GET) [+]
Buys a number. Returns the activation id and the number with its country code.
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=getNumber&service=whatsapp&country=gb
Answer
ACCESS_NUMBER:AC-7K2M9QX4PB:447700900123
getStatus (GET) [+]
STATUS_WAIT_CODE (no code yet), STATUS_OK:<code>, STATUS_WAIT_RETRY:<last code> (another code requested), STATUS_CANCEL (canceled or refunded).
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=getStatus&id=AC-7K2M9QX4PB
Answer
STATUS_OK:482915
setStatus (GET) [+]
status=1 ready (ACCESS_READY), 3 another code (ACCESS_RETRY_GET), 6 finish (ACCESS_ACTIVATION), 8 cancel with a full refund while no code arrived (ACCESS_CANCEL).
https://snsverify.com/stubs/handler_api.php?api_key=$KEY&action=setStatus&id=AC-7K2M9QX4PB&status=3
Answer
ACCESS_RETRY_GET
Typical Flow
- Call getNumber with service and country. Save the activation id and give the number to the app.
- Call setStatus with status=1 when the app has sent the SMS (optional, it only marks the activation ready).
- Poll getStatus every 3 to 5 seconds until it answers STATUS_OK with the code.
- Need another code? setStatus status=3, then poll again until STATUS_OK shows the new code.
- Done: setStatus status=6. No code and you want your money back now: setStatus status=8 (only before a code arrives). Otherwise the activation refunds itself after 20 minutes.
Error Answers
| BAD_KEY | Missing or wrong API key. |
| BAD_ACTION | Unknown action. |
| BAD_SERVICE | Unknown service code. |
| BAD_COUNTRY | The service is not sold in that country. |
| NO_BALANCE | Not enough credit. |
| NO_NUMBERS | No number available right now. Try again in a moment. |
| NO_ACTIVATION | Unknown activation id, or not yours. |
| EARLY_CANCEL_DENIED | A code has already arrived, so the activation cannot be canceled. |
| TOO_MANY_REQUESTS | More than 300 requests in a minute. |
| NO_ACTIVATIONS | 20 activations are already open. |
Limits: 300 requests per minute per key, up to 20 open activations per account. Prices as of 2026-11-04