Integrate SMS COOL directly into your own software using our REST API.
Sign in to see your personal API key and get live examples with it pre-filled.
Sign InTypical flow
1. List servers → 2. List countries for a server → 3. List services for that country → 4. Rent a number using their IDs → 5. Poll for the SMS code → 6. Cancel if you didn't get an OTP in time.
Available servers
Call GET /servers for the live, up-to-date list — server numbers and availability can change. As of now: Server 1–4 are general multi-service providers (any supported app/service, any of their countries). Server 5 is Telegram VIP Server — Telegram-only, but typically faster/more reliable numbers for Telegram specifically.
{
"status": "success",
"balance": 15.5
}
{
"status": "success",
"servers": [
{ "server_number": 1, "name": "Server 1" },
{ "server_number": 2, "name": "Server 2" },
{ "server_number": 5, "name": "Telegram VIP Server" }
]
}
{
"status": "success",
"countries": [
{ "id": 923, "name": "Pakistan" }
]
}
{
"status": "success",
"services": [
{ "id": 426, "name": "WhatsApp", "price": 0.24 }
]
}
{
"status": "success",
"order_id": 1042,
"phone": "923001234567",
"price": 0.24,
"expires_at": "2026-07-02T14:20:00+00:00"
}
{
"order_id": 1042,
"status": "completed",
"sms_code": "82914"
}
// status is one of: pending, completed, cancelled
{
"status": "success",
"order_id": 1042,
"message": "Order marked complete"
}
// Call this once you've received and used the code — releases the
// number on the provider's side. Safe to call even if already completed.
{
"status": "success",
"order_id": 1042,
"message": "Another SMS requested. Poll /check to see it arrive."
}
{
"status": "success",
"order_id": 1042,
"message": "Order cancelled and funds refunded"
}
{
"status": "200",
"server": 1,
"domain": "gmail.com",
"services": [
{ "service_code": "tg", "service_name": "Telegram", "price": 0.15 }
]
}
{
"status": "200",
"email_id": "abc123",
"email": "randomuser@gmail.com",
"price": 0.15,
"balance": 14.85
}
{
"status": "200",
"messages": [
{ "email": "randomuser@gmail.com", "code": "OTP: 482910" }
]
}
// status 202 = still waiting, 300 = cancelled
{
"status": "200",
"message": "Cancelled and refunded",
"refunded": 0.15,
"balance": 15.0
}
{
"status": "200",
"total": 12,
"page": 1,
"history": [ { "email_address": "...", "status": "received" } ]
}
{
"status": "200",
"provider": "smsbus",
"countries": [
{ "country_code": "CA", "country_name": "Canada" }
]
}
{
"status": "200",
"pricing": [
{ "id": 7, "duration_hours": 720, "custom_price": 4.5 }
]
}
{
"status": "200",
"id": "55",
"phone_number": "15551234567",
"price_paid": 4.5,
"expiry_time": "2026-08-02 14:20:00",
"balance": 10.5
}
{
"status": "200",
"total": 2,
"rentals": [ { "id": "55", "phone_number": "...", "status": "active" } ]
}
{
"status": "200",
"messages": [ { "content": "Your code is 482910" } ]
}
{
"status": "200",
"message": "Number renewed successfully!",
"new_expiry": "2026-09-02T14:20:00+00:00",
"balance": 6.0
}
{
"status": "200",
"message": "Rental cancelled and refund applied!",
"refunded": 4.5,
"balance": 15.0
}
// Server 1 (SMS-Bus): must cancel within 20 minutes of purchase.
// Server 2 (Quackr): must cancel within 2 hours of purchase.
// Both providers: cancellation is blocked once an SMS has been received.
{
"status": "200",
"country_code": "US",
"services": [
{ "id": 3, "service_code": "wa", "service_name": "WhatsApp", "duration_preset": "oneMonth", "duration_hours": 720, "custom_price": 5.4 }
]
}
// Durations are always one of: oneWeek, oneMonth, sixMonths, twelveMonths
// — no shorter options exist for per-service rentals.
{
"status": "200",
"rental_id": 12,
"phone_number": "12025551234",
"service_name": "WhatsApp",
"price_paid": 5.4,
"expiry_time": "2026-08-05 20:00:00",
"balance": 9.6
}
{
"status": "200",
"total": 1,
"rentals": [ { "rental_id": 12, "phone_number": "...", "service_name": "WhatsApp", "status": "active" } ]
}
{
"status": "200",
"messages": [ { "sender": "WhatsApp", "content": "Your code is 123-456", "received_at": "2026-07-05 20:10:00" } ]
}
{
"status": "200",
"message": "Number renewed successfully!",
"new_expiry": "2026-09-05T20:00:00+00:00",
"balance": 4.2
}
// No cancel endpoint exists for per-service rentals — this product
// has no cancellation option, matching Quackr's own API.