No SMS received? You're automatically refunded.

SMSVault

API documentation

A small REST API for automating number purchases. Your key lives in Dashboard → API key.

Authentication

Send your key in the Authorization header on every request. Keep it secret; you can regenerate it at any time.

curl https://api.smsvault.example/v1/balance \
  -H "Authorization: Bearer sv_your_api_key"

Endpoints

GET/v1/servicesList all services with their icon and ID.
GET/v1/prices?service=whatsappPrice and stock per country for a service.
POST/v1/ordersBuy a number. Body: { service, country }.
GET/v1/orders/{id}Order status and SMS code once received.
POST/v1/orders/{id}/cancelCancel a waiting order and get refunded.
GET/v1/balanceCurrent account balance.

Example: buy a number

POST /v1/orders
{ "service": "telegram", "country": "gb" }

200 OK
{
  "id": "0b7c…",
  "phone_number": "+44 770 090 0318",
  "status": "waiting",
  "price": 0.42,
  "expires_at": "2026-01-01T12:15:00Z"
}

Order statuses

  • waiting — number is active, no SMS yet.
  • received — the sms_code field contains your code.
  • refunded — cancelled or timed out; the price was credited back.
  • expired — the order ended after a code was delivered.

Rate limits

60 requests per minute per key. Poll order status no more than once every 3 seconds.