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. Every server is a general multi-service source (any supported app/service, any of its countries).

Buy Temp Number

GET Check Balance
https://sms-cool.com/api/v1/balance?api_key=YOUR_KEY
{
  "status": "success",
  "balance": 15.5
}
GET List Servers
https://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": 3, "name": "Server 3" },
    { "server_number": 4, "name": "Server 4" },
    { "server_number": 6, "name": "Server 6" }
  ]
}
GET List Countries
https://sms-cool.com/api/v1/countries?api_key=YOUR_KEY&server=1
{
  "status": "success",
  "countries": [
    { "id": 923, "name": "Pakistan" }
  ]
}
GET List Services
https://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://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://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://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://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://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 Server 1 — List Services (gmail.com)
https://sms-cool.com/api/v1/email/services?api_key=YOUR_KEY&server=1&domain=gmail.com
{
  "status": "200",
  "server": 1,
  "domain": "gmail.com",
  "services": [
    { "id": "tg", "name": "Telegram", "price": 0.15, "count": 120 }
  ]
}

// Server 1 sells one email per SERVICE (id). Use the id as service_id when buying.
GET Server 1 — Buy Email
https://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
}

// service_id and domain are both required on Server 1.
GET Server 2 — List Domains (per site)
https://sms-cool.com/api/v1/email/services?api_key=YOUR_KEY&server=2&site=telegram.com
{
  "status": "200",
  "server": 2,
  "site": "telegram.com",
  "domains": [
    { "domain": "outlook.com", "name": "outlook.com", "price": 0.06, "count": 340 },
    { "domain": "hotmail.com", "name": "hotmail.com", "price": 0.05, "count": 0 }
  ]
}

// Server 2 is priced per DOMAIN and the stock depends on the site you want
// the code from (site = the website that will send the email, e.g.
// telegram.com, facebook.com). count 0 = out of stock. site defaults to telegram.com.
GET Server 2 — Buy Email
https://sms-cool.com/api/v1/email/buy?api_key=YOUR_KEY&server=2&domain=outlook.com&site=telegram.com
{
  "status": "200",
  "email_id": "98765",
  "email": "randomuser@outlook.com",
  "price": 0.06,
  "balance": 14.94
}

// Server 2: no service_id needed. Pass the domain from the list above and the
// SAME site you listed with (the price you were shown is the price charged).
// Errors: "No stock available", "Domain not available", "Insufficient balance".
GET Get Email Code (both servers)
https://sms-cool.com/api/v1/email/code?api_key=YOUR_KEY&email_id=abc123
{
  "status": "200",
  "email_id": "abc123",
  "messages": [
    { "email": "randomuser@gmail.com", "code": "482910" }
  ]
}

// Poll every 3-5 seconds.
// status 200 = code received, 202 = still waiting (messages is empty),
// 300 = activation cancelled / expired and refunded, 404 = unknown email_id.
GET Cancel Email (both servers)
https://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
}

// Only an email that has not received its code can be cancelled for a refund.
GET Email History
https://sms-cool.com/api/v1/email/history?api_key=YOUR_KEY&page=1
{
  "status": "200",
  "total": 12,
  "page": 1,
  "per_page": 20,
  "history": [
    {
      "email_id": "abc123",
      "email_address": "randomuser@gmail.com",
      "service_name": "Telegram",
      "domain": "gmail.com",
      "status": "received",
      "code": "482910",
      "price": 0.15,
      "server": 1,
      "created_at": "2026-01-01 12:00:00"
    }
  ]
}

// status: active | received | cancelled

Rentals

GET List Countries
https://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://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://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://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://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://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://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://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://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://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://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://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.
Contact us