API documentation
| HTTP method | POST |
| Response format | JSON |
| API URL | https://vsim.pro/api/v2 |
| API key | Get your API key on the Account page |
| Currency | All prices are in USD |
Rate limit: 60 requests per minute, including up to 20 orders.
Balance
| Parameter | Description |
key | Your API key |
action | balance |
Example response
{
"status": "success",
"balance": "12.4500",
"currency": "USD"
}
Services list
| Parameter | Description |
key | Your API key |
action | services |
Example response
[
{
"service": 12,
"name": "WhatsApp"
},
{
"service": 15,
"name": "Telegram"
}
]
Countries list
| Parameter | Description |
key | Your API key |
action | countries |
service | Service ID |
Example response
[
{
"country": 45,
"name": "United Kingdom",
"prefix": "+44",
"price": "0.3000",
"stock": 9294068,
"rate": 46.97
}
]
Operators list
| Parameter | Description |
key | Your API key |
action | operators |
service | Service ID |
country | Country ID |
Example response
[
{
"operator": "premium",
"price": "2.5454",
"stock": 9294068,
"rate": 51.97
},
{
"operator": "virtual59",
"price": "0.9100",
"stock": 120511,
"rate": 46.97
}
]
Add order
| Parameter | Description |
key | Your API key |
action | order |
service | Service ID |
country | Country ID |
operator | Operator name from the Operators list (e.g. virtual59 or premium) |
Example response
{
"status": "success",
"order": 23501,
"phone": "+447397940000",
"charge": "0.9100",
"expires": "2026-09-30 12:20:00",
"currency": "USD"
}
Add smart order
| Parameter | Description |
key | Your API key |
action | smartOrder |
service | Service ID |
Only the service is needed. We pick the country and operator with the best chance of receiving your code.
Example response
{
"status": "success",
"order": 23502,
"phone": "+447397940001",
"country": 45,
"charge": "1.0010",
"expires": "2026-09-30 12:20:00",
"currency": "USD"
}
Order status
| Parameter | Description |
key | Your API key |
action | status |
order | Order ID |
Status values: waiting (no SMS yet), received (SMS arrived), completed, canceled, timeout (expired). Canceled and timeout orders without an SMS are refunded automatically.
Example response
{
"order": 23501,
"status": "received",
"phone": "+447397940000",
"code": "482913",
"sms": [
{
"sender": "WhatsApp",
"text": "Your WhatsApp code is 482-913",
"code": "482913"
}
],
"charge": "0.9100",
"refunded": false,
"expires": "2026-09-30 12:20:00",
"currency": "USD"
}
Complete order
| Parameter | Description |
key | Your API key |
action | complete |
order | Order ID |
Use after you have received the code. The number is closed.
Example response
{
"status": "success"
}
Cancel order
| Parameter | Description |
key | Your API key |
action | cancel |
order | Order ID |
Only possible before an SMS arrives. The full price returns to your balance.
Example response
{
"status": "success",
"refund": "0.9100"
}
Errors
If something goes wrong, every action returns status: error with a message.
Too many requests returns HTTP 429 with the message Too many requests. Please slow down. Wait a few seconds and try again.
{
"status": "error",
"message": "Insufficient balance"
}