API Documentation

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 In

Typical 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.

Buy Temp Number

GET Check Balance
https://www.sms-cool.com/api/v1/balance?api_key=YOUR_KEY
{
  "status": "success",
  "balance": 15.5
}
GET List Servers
https://www.sms-cool.com/api/v1/servers?api_key=YOUR_KEY
{
  "status": "success",
  "servers": [
    { "server_number": 1, "name": "Server 1" },
    { "server_number": 2, "name": "Server 2" },
    { "server_number": 5, "name": "Telegram VIP Server" }
  ]
}
GET List Countries
https://www.sms-cool.com/api/v1/countries?api_key=YOUR_KEY&server=1
{
  "status": "success",
  "countries": [
    { "id": 923, "name": "Pakistan" }
  ]
}
GET List Services
https://www.sms-cool.com/api/v1/services?api_key=YOUR_KEY&server=1&country_id=923
{
  "status": "success",
  "services": [
    { "id": 426, "name": "WhatsApp", "price": 0.24 }
  ]
}
GET Rent a Number
https://www.sms-cool.com/api/v1/rent?api_key=YOUR_KEY&service_id=426&country_id=923
{
  "status": "success",
  "order_id": 1042,
  "phone": "923001234567",
  "price": 0.24,
  "expires_at": "2026-07-02T14:20:00+00:00"
}
GET Check SMS Status
https://www.sms-cool.com/api/v1/check/1042?api_key=YOUR_KEY
{
  "order_id": 1042,
  "status": "completed",
  "sms_code": "82914"
}

// status is one of: pending, completed, cancelled
GET Complete / Finish Order
https://www.sms-cool.com/api/v1/complete/1042?api_key=YOUR_KEY
{
  "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.
GET Resend / Request Another Code
https://www.sms-cool.com/api/v1/resend/1042?api_key=YOUR_KEY
{
  "status": "success",
  "order_id": 1042,
  "message": "Another SMS requested. Poll /check to see it arrive."
}
GET Cancel Number
https://www.sms-cool.com/api/v1/cancel/1042?api_key=YOUR_KEY
{
  "status": "success",
  "order_id": 1042,
  "message": "Order cancelled and funds refunded"
}

Temp Mail

GET List Domains / Services
https://www.sms-cool.com/api/v1/email/services?api_key=YOUR_KEY&server=1&domain=gmail.com
{
  "status": "200",
  "server": 1,
  "domain": "gmail.com",
  "services": [
    { "service_code": "tg", "service_name": "Telegram", "price": 0.15 }
  ]
}
GET Buy Email
https://www.sms-cool.com/api/v1/email/buy?api_key=YOUR_KEY&server=1&service_id=tg&domain=gmail.com
{
  "status": "200",
  "email_id": "abc123",
  "email": "randomuser@gmail.com",
  "price": 0.15,
  "balance": 14.85
}
GET Get Email Code
https://www.sms-cool.com/api/v1/email/code?api_key=YOUR_KEY&email_id=abc123
{
  "status": "200",
  "messages": [
    { "email": "randomuser@gmail.com", "code": "OTP: 482910" }
  ]
}

// status 202 = still waiting, 300 = cancelled
GET Cancel Email
https://www.sms-cool.com/api/v1/email/cancel?api_key=YOUR_KEY&email_id=abc123
{
  "status": "200",
  "message": "Cancelled and refunded",
  "refunded": 0.15,
  "balance": 15.0
}
GET Email History
https://www.sms-cool.com/api/v1/email/history?api_key=YOUR_KEY&page=1
{
  "status": "200",
  "total": 12,
  "page": 1,
  "history": [ { "email_address": "...", "status": "received" } ]
}

Rentals

GET List Countries
https://www.sms-cool.com/api/v1/rental/countries?api_key=YOUR_KEY&provider=1
{
  "status": "200",
  "provider": "smsbus",
  "countries": [
    { "country_code": "CA", "country_name": "Canada" }
  ]
}
GET List Pricing
https://www.sms-cool.com/api/v1/rental/pricing?api_key=YOUR_KEY&provider=1&country_code=ca
{
  "status": "200",
  "pricing": [
    { "id": 7, "duration_hours": 720, "custom_price": 4.5 }
  ]
}
GET Rent a Number
https://www.sms-cool.com/api/v1/rental/buy?api_key=YOUR_KEY&provider=1&country_code=ca&duration_hours=720
{
  "status": "200",
  "id": "55",
  "phone_number": "15551234567",
  "price_paid": 4.5,
  "expiry_time": "2026-08-02 14:20:00",
  "balance": 10.5
}
GET My Rentals
https://www.sms-cool.com/api/v1/rental/my-rentals?api_key=YOUR_KEY
{
  "status": "200",
  "total": 2,
  "rentals": [ { "id": "55", "phone_number": "...", "status": "active" } ]
}
GET Get Rental SMS
https://www.sms-cool.com/api/v1/rental/sms?api_key=YOUR_KEY&order_id=ORDER_ID
{
  "status": "200",
  "messages": [ { "content": "Your code is 482910" } ]
}
GET Renew Rental
https://www.sms-cool.com/api/v1/rental/renew?api_key=YOUR_KEY&rental_id=55&duration_hours=720
{
  "status": "200",
  "message": "Number renewed successfully!",
  "new_expiry": "2026-09-02T14:20:00+00:00",
  "balance": 6.0
}
GET Cancel Rental
https://www.sms-cool.com/api/v1/rental/cancel?api_key=YOUR_KEY&rental_id=55
{
  "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.

Per-Service Rentals

GET List Services & Pricing
https://www.sms-cool.com/api/v1/per-service/services?api_key=YOUR_KEY&country_code=US
{
  "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.
GET Rent a Dedicated Number
https://www.sms-cool.com/api/v1/per-service/buy?api_key=YOUR_KEY&service_code=wa&country_code=US&duration_preset=oneMonth
{
  "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
}
GET My Per-Service Rentals
https://www.sms-cool.com/api/v1/per-service/my-rentals?api_key=YOUR_KEY
{
  "status": "200",
  "total": 1,
  "rentals": [ { "rental_id": 12, "phone_number": "...", "service_name": "WhatsApp", "status": "active" } ]
}
GET Get SMS
https://www.sms-cool.com/api/v1/per-service/sms?api_key=YOUR_KEY&rental_id=12
{
  "status": "200",
  "messages": [ { "sender": "WhatsApp", "content": "Your code is 123-456", "received_at": "2026-07-05 20:10:00" } ]
}
GET Renew
https://www.sms-cool.com/api/v1/per-service/renew?api_key=YOUR_KEY&rental_id=12&duration_preset=oneMonth
{
  "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.