REST API

API

Simple REST API. JSON in, JSON out. No SDK needed.

Authentication

Pass your API key in the Authorization header on every request. Keys are scoped to your account and can be rotated from the dashboard.

Request header
Authorization: Bearer YOUR_API_KEY

Get your key from the dashboard under Settings > API.

Base URL

Base URL
https://api.sms-activate.dev

Endpoints

GET/api/v1/balance

Check your current credit balance.

Response

json
{
  "balance": 12.40,
  "currency": "USD"
}
GET/api/v1/numbers/available

Get available numbers for a service and country combination.

Query Parameters

servicestringService identifier (e.g. telegram, google)
countrystringISO 3166-1 alpha-2 country code (e.g. ru, us)

Example Request

http
GET /api/v1/numbers/available?service=telegram&country=ru

Response

json
{
  "service": "telegram",
  "country": "ru",
  "price": 0.07,
  "available": 142
}
POST/api/v1/numbers/buy

Buy a number. Returns the number and an activation ID. Credits are held on purchase.

Request Body

json
{
  "service": "telegram",
  "country": "ru"
}

Response

json
{
  "id": "act_9x2k1p",
  "number": "+79161234567",
  "service": "telegram",
  "country": "ru",
  "expires_at": "2024-03-14T12:34:56Z"
}
GET/api/v1/activations/:id

Check activation status and retrieve the SMS code if it has been received.

Response

json
{
  "id": "act_9x2k1p",
  "status": "received",
  "code": "482910",
  "received_at": "2024-03-14T12:33:22Z"
}
DELETE/api/v1/activations/:id

Cancel an activation. If no SMS was received, the credit is refunded to your balance immediately.

Response

json
{
  "id": "act_9x2k1p",
  "status": "cancelled",
  "refunded": true
}

Rate Limits

300 requests per minute per API key. Bulk and reseller plans have higher limits — contact support to upgrade.

X-RateLimit-Limit: 300

X-RateLimit-Remaining: 298

X-RateLimit-Reset: 1710416096

Building something on top of this?

Reseller accounts get higher rate limits, better prices, and priority support.

See reseller program