Grand SMS
± API documentation

± API documentation

Start with one request

14 · ± API commandsREST + handler_api.phpJSON / plain text · Bearer

♫ Create a API key in your dashboard, get a number and check for messages cada 10 segondes. Paging is crededed when un SMS with a code arrive; reading it reverse non affect your balance.

REST APIhttps://smscash.org/api/v1
ʹ Compatibility API base URLhttps://smscash.org/stubs/handler_api.php
सेवा रहनेछ ।फोन नंबर छ । SMS यसका लागि पैसा छ, पैसा छ भने पैसा छ । USDT आतुर छ TRC20भुगतानका लागि यो 1 त्यहाँ पुग्ने जो 45 दिनको लागि
Exemply request · cURL
curl --get 'https://smscash.org/stubs/handler_api.php' \
  --data-urlencode 'api_key=YOUR_API_KEY' \
  --data-urlencode 'action=getNumber' \
  --data-urlencode 'service=go' \
  --data-urlencode 'country=86'

Alternative compatible interface address: /handler_api.php. Eventual REST integrations continua a work.

API

अनुरोध निर्माण उपकरण

cURL · Go · JS · Python
ʹ Compatibility API base URLhttps://smscash.org/stubs/handler_api.php
cURL
curl --max-time 15 --fail-with-body 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1'

कुञ्जी सुरक्षित गरिँदैन। यो जाँचले नम्बर उपलब्ध गराउँदैन।

■ REST for nove integrationes

सेवाहरू र देशहरू

± Choice a service and a land. Payment per SMS depende on the pay.

REST
GET /api/v1/catalog?service=go&country=86&page=1&page_size=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "rows": [
    {
      "offer_id": 42,
      "service": "go",
      "service_name": "Google",
      "country_id": 86,
      "country_name": "Italy",
      "provider_id": 1,
      "operator": 1,
      "provider_name": "operator=1",
      "reward": "0.00300000",
      "currency": "USD",
      "accounting_precision": 8,
      "earnings_hold_days": 45
    }
  ],
  "page": 1,
  "page_size": 100,
  "total": 1,
  "pages": 1,
  "has_more": false,
  "accounting_precision": 8
}

service · country · operator · q · page · page_size (1–100)

±Get numer
handler_api.php
GET /stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86

स्वचालित चयन: उपलब्ध प्रदायकबाट अनियमित छनोट।

REST
ACCESS_NUMBER: session ID · phone number
service + country · session_duration: 20
ref: software owner code (optional)
operator: public ID (e.g. 1) or comma-separated IDs (e.g. "1,3")
optional · omitted/any/0: random eligible provider
country: integer · service: string · SMS code: string

ʹNumber is valide per 20 minutes. SMS is controled cada 10 sekundes. You canceled imediately.

धेरै नम्बर जाँच्नुहोस्
REST
GET /api/v1/activations/batch?ids=42,43
Authorization: Bearer YOUR_API_KEY
JSON
{
  "rows": [
    {
      "id": 42,
      "found": true,
      "phone": "12025550123",
      "status": "received",
      "service": "go",
      "country_id": 86,
      "provider_id": 1,
      "operator": 1,
      "expires_at": "2026-10-10T12:15:00Z",
      "sms_count": 1,
      "code": "001234",
      "last_sms": {
        "id": 101,
        "code": "001234",
        "sender": "Service",
        "text": "Code: 001234",
        "received_at": "2026-10-10T12:01:00Z"
      }
    },
    {
      "id": 43,
      "found": false,
      "error": {
        "code": "NO_ACTIVATION",
        "message": "Session not found."
      }
    }
  ],
  "as_of": "2026-10-10T12:01:00Z",
  "poll_interval_seconds": 10
}
REST
ids: 1–100 positive session IDs, separated by commas
Input order preserved · duplicates removed
Foreign, unavailable or out-of-scope IDs: found=false
Read only · no supplier requests · last_sms is the latest message
मौज्दात · रोकिएको रकम
REST
GET /api/v1/balance
Authorization: Bearer YOUR_API_KEY
JSON
{
  "currency": "USD",
  "accounting_precision": 8,
  "balance": "12.00000000",
  "held_balance": "34.50000001",
  "balance_minor": "1200000000",
  "held_minor": "3450000001",
  "as_of": "2026-10-12T20:00:00Z",
  "next_release_at": "2026-11-26T20:00:00Z"
}

balance — उपलब्ध; held_balance — रोकिएको रकम. USD · 8

रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।

तयार क्लाइन्टहरू

JavaScript · Node.js 18+
import {SmScash, SmScashError} from './smscash.mjs';

const api = new SmScash(process.env.SMSCASH_API_KEY);
const catalog = await api.catalog({service: 'go', country: 86});
console.log(catalog.rows);

const messages = await api.sms(42, {afterId: 0});
console.log(messages.sms);
const statuses = await api.batch([42]);
const held = await api.holdBalance();
console.log(held); // Exact USD string
Python 3.9+
import os
from smscash import SmScash, SmScashError

api = SmScash(os.environ['SMSCASH_API_KEY'])
catalog = api.catalog(service='go', country=86)
print(catalog['rows'])

messages = api.sms(42, after_id=0)
print(messages['sms'])
statuses = api.batch([42])
held = api.hold_balance()
print(held) # Exact USD string
SDK
me() · balance() · holdBalance()/hold_balance() · catalog() · activation() · sms() · batch()
setStatus(id, "cancel") / set_status(id, "cancel")
Timeout: 15 s · no dependencies · no automatic retries
Error: code · status · hint · requestId/request_id · retryable
ALLOCATION_UNCERTAIN: contact support with request_id; never retry automatically.

SMS-Activate / HeroSMS

SMS-Activate · ʹ Compatibility API base URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · ʹ Compatibility API base URLhttps://smscash.org/hero-sms/stubs/handler_api.php

प्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

± Choice a service and a land. Payment per SMS depende on the pay.

± kodʹDescription
getNumber / getNumberV2±Get numer
getStatus / getStatusV2±Get the last code
setStatus / finishActivation / cancelActivationManagement session
getPrices / getNumbersStatus• Kontrola disponibility
getRewards (SMScash)♫ Recompense for SMS
getServicesList / getServicesसेवाहरू
getCountries / getOperatorsसेवाहरू र देशहरू
getActiveActivationsSessions
getBalanceप्रयोगकर्ताको मौज्दात
getHoldBalance (SMScash)रोकिएको रकम

cost = 0 USD · activationCost = 0 USD
reward — ♫ Recompense for SMS

HeroSMS · cURL
curl --get 'https://smscash.org/hero-sms/stubs/handler_api.php' \
  --data-urlencode 'api_key=YOUR_API_KEY' \
  --data-urlencode 'action=getNumberV2' \
  --data-urlencode 'service=go' \
  --data-urlencode 'country=86'
akana responsi
{
  "activationId": "42",
  "phoneNumber": "393331234567",
  "activationCost": 0,
  "currency": 840,
  "countryCode": 86,
  "canGetAnotherSms": true,
  "activationTime": "2026-10-11T12:00:00Z",
  "activationEndTime": "2026-10-11T12:15:00Z",
  "reward": "0.00300000"
}
SMS-Activate / HeroSMS
GET or POST application/x-www-form-urlencoded
api_key · action · service · country · ref (optional)
setStatus: 1 → ACCESS_READY · 3 → ACCESS_RETRY_GET
           6 → ACCESS_ACTIVATION · 8 → ACCESS_CANCEL
getStatus: STATUS_WAIT_CODE · STATUS_OK:001234 · STATUS_CANCEL
getStatusV2: {"verificationType":1,"sms":null,"call":null}
getServicesList: {"status":"success","services":[{"code":"go","name":"Google"}]}
getCountries: {"86":{"id":86,"eng":"Italy","visible":1,"retry":1,"rent":0}}
getPrices: {"86":{"go":{"cost":0,"count":12,"reward":"0.00300000","currency":"USD"}}}
getRewards: {"59":{"vi":{"1":"0.01000000"}}}
getRewards filters: country · service · operator (optional, e.g. 1,3); any/0: all permitted providers
getActiveActivations: start=0 · limit=1–100 · activeActivations / data
Business/key errors: HTTP 200 + plain text · server errors: HTTP 500
Availability: actual supplier pool, shared cache up to 20 s; not a reservation
No automatic retries after a transport error or ALLOCATION_UNCERTAIN.
Unsupported: rent · calls · forwarding · multiple services per number · prolong
Unsupported options return BAD_REQUEST; unsupported actions return BAD_ACTION.
SMScash keys and country/service codes; configure this base URL in your software.

ʹNumber is valide per 20 minutes. SMS is controled cada 10 sekundes. You canceled imediately.

• autentification and retries

REST: ± header Authorization: Bearer YOUR_API_KEY. ♫ Compatible Interface: ʹparameters api_key und action± . Use HTTPS.

για management API keys, enter your account.

∞• requests/min per account
∞Sessions simultanèes

API request frequency and the number of telefon numbers is unlimited. No quotes day or hourly.

ʹNumber is valide per 20 minutes. SMS is controled cada 10 sekundes. You canceled imediately.

± API key scope

♫ You can restricte a key for specific services, pays and providers. Lists vacces permite alle options disponibles.

JSON
{
  "label": "♫ My software",
  "policy": {
    "services": [
      "go"
    ],
    "countries": [
      86
    ],
    "providers": [
      1
    ]
  }
}

PATCH /api/v1/keys/{id} ± modified the name and policy completly. Secret is show only time create.

10% total. 5% + 5% ♫ avec software-code.

± quando emite un number, please provide ref ± owner of the software. La solicitud is autorised by the प्रयोगकर्ता's key. The code is in the section "Referrals" and in GET /api/v1/referrals → software_ref.

Request± Inviterakana software
akana san ref10%—
♫ with ref5%5%
With ref, no refererer—5%

La platform paga il bonus sin reducir rentail de la प्रयोगकर्ता. Proprieter de software and the referer can be a self person. प्रयोगकर्ताहरू can't use your proprie code.

♫ Termens figuras quando session is create; reading SMS und retry do not change them. Pass ref ====*** *** (**)**=* * **(*) **) ==*== USD 0.003 ≤ gives USD 0.00015 cada uno to the softwareowner and referer. USD 0.00030.

± API commands

± 11 Metodes XVBC-style plus your SMScash balance.

GETgetNumber±Get numer

ังles create a session and reserve un number disponible for the प्रयोगकर्ता. The recompense rate and reference remitents is fixed at allocation; recompens is crediteded when un SMS with a code arrive.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
service*string± Disponible service codes. The response is limited to the area of the API key.
country*integerTake ID from getCountries.
operatorstringВозьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0
session_durationintegerLa session dura 20 minutes. Pass 20 or outlook this parameter.
with_operatorinteger1 ले जवाफमा अपरेटर ID थप्छ; 0 वा प्यारामिटर नदिँदा तीन खण्ड फर्काउँछ।
refstringПубличный код владельца софта: 5% ему и 5% пригласившему. Без ref — 10% пригласившему. Неизвестный, отключённый, некорректный или собственный ref игнорируется: запрос продолжается без бонуса владельцу софта. Действующие коды и прежние условия уже выданных сессий сохраняются.

* Necessari parameter. In all requests also pass action=getNumber.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1'

akana responsi

± Number emited
ACCESS_NUMBER:42:380670000000:1
± has numre disponible
EMPTY_POOL
  • स्वचालित चयन: उपलब्ध प्रदायकबाट अनियमित छनोट।
  • ± a numeric pays with a pool give EMPTY_POOL; the error format of the pays is BAD_COUNTRY.
  • ± key of a deleted session continua usated: replaying allocation with that key return SESION_CLOSEd and do not emit un ather number.
  • ë resultat de allocation is not confirmed. Automatic reasing is disabled for evit asignation a second number.
GETgetNumbersStatus• Kontrola disponibility

ë disponible telefon numbers per service and land.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
country*integerTake ID from getCountries.

* Necessari parameter. In all requests also pass action=getNumbersStatus.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86'

akana responsi

± Disponible numbers
{
  "go_0": 0
}
  • Le suffix _0 significa a choice sin specifique operator.
  • Disponibility reference to the general pool of the founder. The selected canal is controled, want a number is allocation.
GETgetStatus±Get the last code

♫ Easy request for session status and last SMS code. Leading zeros in the code is conserved.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.

* Necessari parameter. In all requests also pass action=getStatus.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42'

akana responsi

♫ Waitting
STATUS_WAIT_CODE
Code recebite
STATUS_OK:001234
•Cancellation or extension
STATUS_CANCEL
± Not found
NO_ACTIVATION
  • ± poll cada 20 seconds. Reading a message reading do not create ather page.
  • ■ post retry the anst code is not return: getStatus wants for the next SMS.
  • ♫ After un number sin SMS es deleted, getStatus and getSms return STATUS_CANCEL; getSmsFull returne the close status, un phone vac and a vap sms list. REST /activations/{id} and /sms retorn 404 NO_ACTIVATION.
GETsetStatusManagement session

♫ Finishes, canceles or reanly wait for SMS. The session expiration continued as same.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.
status*integer± 3 — wait for the next code, uden prolonging the session; 6 — finish post SMS; 8 — cancel immediately.

* Necessari parameter. In all requests also pass action=setStatus.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3'

akana responsi

♫ Watching for SMS
ACCESS_RETRY_GET
× Completed
ACCESS_ACTIVATION
ʹCancelded
ACCESS_CANCEL
  • ë retry wait for the next code in the original 20 minutes.
  • • Cancellation need remove recompensies ja functioned.
  • ♫ Only numbers with SMS code holdes in historia. Anullated and expirate numers with a code is borred.
GETgetRepeatNumber■ emite same number de norme denominar

ัง Opens a nove session with specific number of your history. You can select out a display service in the same pay.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
number*stringʹ your old number. Only numbers and a optional leading + ire allowed.
service*string± Disponible service codes. The response is limited to the area of the API key.
session_durationintegerLa session dura 20 minutes. Pass 20 or outlook this parameter.
with_operatorinteger1 ले जवाफमा अपरेटर ID थप्छ; 0 वा प्यारामिटर नदिँदा तीन खण्ड फर्काउँछ।
refstringПубличный код владельца софта: 5% ему и 5% пригласившему. Без ref — 10% пригласившему. Неизвестный, отключённый, некорректный или собственный ref игнорируется: запрос продолжается без бонуса владельцу софта. Действующие коды и прежние условия уже выданных сессий сохраняются.
operatorstringВозьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0

* Necessari parameter. In all requests also pass action=getRepeatNumber.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go'

akana responsi

± New session
ACCESS_NUMBER:43:380670000000
■ The number is now buddy
NUMBER_IN_USE
  • First, finish or cancel your actual session. If the number is buddy, re-issuance non is executed.
  • ■ La new session recipient a new ID and the actual tariff. Old SMS is not copyed in it. ref is set reset.
  • SMScash permite repetering only numbers from the history of this account. The pay is identified per number.
  • ± key of a deleted session continua usated: replaying allocation with that key return SESION_CLOSEd and do not emit un ather number.
GETgetSmsFull±Get SMS as JSON

■ structured history of all messages with ID, sender, code, text and pays, service and forwiver data.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.

* Necessari parameter. In all requests also pass action=getSmsFull.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42'

akana responsi

JSON
{
  "success": true,
  "session_id": 42,
  "phone": "380670000000",
  "status": 1,
  "status_name": "received",
  "sms_count": 1,
  "sms": [
    {
      "id": 101,
      "external_id": "message-101",
      "sender": "Service",
      "code": "001234",
      "text": "Код подтверждения: 001234",
      "received_at": "2026-10-09T12:00:00Z",
      "country": {
        "id": 86,
        "name": "Italy"
      },
      "service": {
        "code": "go",
        "name": "Google"
      },
      "provider": {
        "id": 1,
        "name": "operator=1"
      }
    }
  ],
  "expires_at": "2026-10-09T12:20:00Z"
}
  • Dialog Preferred format for integration. Remember sms[].id to process only new messages.
  • numeric status SMScash: 1 - active, 6 - completed, 8 - cancellate or expirate. status_name distinctions between wait, received, finished, canceled, expired.
  • ± Codes recebidos continuas disponibles tras session closeds. For grandes volumes, use REST /activations/{id}/sms with after_id.
  • ♫ After un number sin SMS es deleted, getStatus and getSms return STATUS_CANCEL; getSmsFull returne the close status, un phone vac and a vap sms list. REST /activations/{id} and /sms retorn 404 NO_ACTIVATION.
GETgetSms±Get SMS als a text string

ë return the total SMS historia in string format for existing clients.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.

* Necessari parameter. In all requests also pass action=getSms.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42'

akana responsi

± Message
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
♫ Waitting
STATUS_WAIT_CODE
•Cancellation or extension
STATUS_CANCEL
  • lëng Message format: Timeságcode ≤text. Multimes messages is separated by a colon.
  • ʹThe text SMS self possible contain kolons and vertical bars. For confidentible parsing, use getSmsFull.
GETgetServicesसेवाहरू

± Disponible service codes. The response is limited to the area of the API key.

Útvoi direktoriu līmeiro

प्रकाशन…

JSON ↗

Lieder Service directory is shared intervest the forward. Number disponibility is controled separately.

♫ You can restricte a key for specific services, pays and providers. Lists vacces permite alle options disponibles.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
countryintegerTake ID from getCountries.

* Necessari parameter. In all requests also pass action=getServices.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY'

akana responsi

सेवाहरू
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • Lieder Service directory is shared intervest the forward. Number disponibility is controled separately.
GETgetCountriesदेशहरू

́IDs, names and challing codes for the pays in the selection canal.

Útvoi direktoriu līmeiro

प्रकाशन…

JSON ↗

♫ You can restricte a key for specific services, pays and providers. Lists vacces permite alle options disponibles.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

* Necessari parameter. In all requests also pass action=getCountries.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY'

akana responsi

देशहरू
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperatorsOperatora (_O)

उपलब्ध अपरेटरहरू: API ID, नाम र रकम रोक्ने अवधि।

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
countryintegerTake ID from getCountries.
operatorstringВозьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0

* Necessari parameter. In all requests also pass action=getOperators.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY'

akana responsi

Operatora (_O)
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "operator=1",
    "earnings_hold_days": 45
  }
}
  • Возьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3.
GETgetRewards♫ Recompense for SMS

Limiteds depende dependente on the pay. Total monts is per paged SMS.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
countryintegerTake ID from getCountries.
servicestring± Disponible service codes. The response is limited to the area of the API key.
operatorstringВозьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0

* Necessari parameter. In all requests also pass action=getRewards.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi'

akana responsi

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • ≤ USD tariffiske summas returneres como decimal decimales exacte strengs with 8 decimalies places:
  • ♫ actived providers disponible for your key.
  • country ID → service code → operator ID → reward (USD)
GETgetTopCountriesByServiceТоп стран по сервису

До 10 стран с лучшей доставкой смс кодов за последние 24 часа

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
service*stringКод сервиса из getServices.

* Necessari parameter. In all requests also pass action=getTopCountriesByService.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getTopCountriesByService&api_key=YOUR_API_KEY&service=go'

akana responsi

Структура ответа

Ключ в примереʹDescriptionÚtvoi direktoriu līmeiro
["12"], ["36"]± ID Country
Первый, внешний уровень JSON. Каждая запись объединяет операторов одной страны.
getCountries
["12"]["1"], ["12"]["3"]ID оператора
Второй уровень JSON, внутри страны. Это публичный ID оператора (поставщика), который передаётся в параметре operator.
getOperators
JSON
{
  "12": {
    "1": {
      "reward": 0.012,
      "count": 542
    },
    "3": {
      "reward": 0.014,
      "count": 301
    }
  },
  "36": {
    "1": {
      "reward": 0.011,
      "count": 190
    }
  }
}
{}
{}
  • В примере ["12"]["1"] — данные оператора 1 в стране 12. ID стран берутся из getCountries, ID операторов — из getOperators.
  • reward — действующее личное вознаграждение в USD, JSON-число. count — количество выданных номеров за последние 24 часа, включая сессии без кода.
  • Рейтинг рассчитывается как все полученные непустые коды, делённые на все выдачи номеров за последние 24 часа для выбранного сервиса.
  • Повторные непустые коды увеличивают числитель; конверсия может превышать 100%. Начальные нули сохраняются.
  • Суточная статистика сервиса кэшируется на 10 минут. Тарифы и ограничения ключа проверяются при каждом запросе. Момент среза — в заголовке X-Statistics-As-Of.
  • Нет данных или доступных связок — пустой объект {}. Страны с выдачами и нулём кодов имеют нулевую конверсию. Порядок ключей JSON не задаёт места в рейтинге.
GETgetBalanceप्रयोगकर्ताको मौज्दात

Addition SMScash: disponible balance tendence to consideration recordingals, bonuss reference and paging requests.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

* Necessari parameter. In all requests also pass action=getBalance.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY'

akana responsi

मौज्दात
ACCESS_BALANCE:0.00
  • getBalance return the disponible USD balance with ≤ 8 decimal places.
  • रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।
GETgetHoldBalanceरोकिएको रकम

SMS प्राप्त भएपछि आम्दानी प्रदायकले तोकेको अवधिसम्म रोक्का हुन्छ। तोकिएको मितिमा रकम स्वतः निकाल्न उपलब्ध हुन्छ।

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

* Necessari parameter. In all requests also pass action=getHoldBalance.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY'

akana responsi

रोकिएको रकम
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।

• Codes de respons and repeat requests

♫ In handler_api.php business resultats normalmente provenis HTTP 200. Kontrole body text. Directorys and getSmsFull return JSON if success; errors is allways text.

± kodHTTP• Cause and next step
TARIFF_NOT_CONFIGURED200± rates year was not definited■ Number allocation will started unknown SMS recompenses is configurated.
COUNTRY_BLOCKED200■ asignation number for this pays is blocked.♫ Choice outher pays.
BAD_SERVICE200■ asignation number for this service is blocked.Select ather service.
PROVIDER_NOT_READY200± Number allocation non disponible temporarly± refresh the API katalogs.
BAD_KEY400ʹNo api_key or invalid format.■ Kontrola last key in the request.
INVALID_API_KEY401± key is unknown, revocate or the account is desactived.ʹCreate a valid API key.
BAD_COUNTRY400mancant o non un number positiv.Take ID from getCountries.
BAD_SESSION_DURATION400ʹTelefonnumbers publiced exclusive 20 minutes.Korekt ± Korrekt session_duration.
BAD_REQUEST400♫ Kontrola request fields.♫ Please corrige your request.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200Unknown or desactived directory item.± refresh the API katalogs.
BAD_NUMBER200ë incorrecte number format.♫ Give the number in digits.
BAD_ACTION / BAD_STATUS200ʹUnknown commando, ID or operation.■ Kontroli settings.
EMPTY_POOL200± ejecun matching telefon numbers disponible actualmente.Repetirez tra 10-30 sekundes, o change filters.
NUMBER_IN_USE200■ Specifique number is ocupat of a active session.Find your session or select another number.
NO_ACTIVATION200Die session or previous number non aparten al your account.♫ Check ID and Key.
SESSION_CLOSED / SMS_REQUIRED200♫ State transition momental няма disponible.■ Kontrola condition and disponibility of SMS.
SCOPE_BLOCKED200± service, land, of vendor non autorized for the key.■ update's scope of the API key.
INTERNAL_ERROR500* Temporary server or vendor error.सम्पर्क र सहयोग · X-Request-ID
ALLOCATION_PENDING200♫ WaittinggetActiveActivations · getStatus
ALLOCATION_UNCERTAIN200ë resultat de allocation is not confirmed. Automatic reasing is disabled for evit asignation a second number.ë resultat de allocation is not confirmed. Automatic reasing is disabled for evit asignation a second number.

± REST returna un object {"error":{"code":"…","message":"…"}} et regular HTTP statuss 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "♫ Kontrola request fields.",
    "request_id": "req_…",
    "hint": "Use the documented JSON type; numbers must not be quoted.",
    "retryable": false,
    "details": {
      "field": "country",
      "expected": "integer"
    }
  }
}
REST
X-Request-ID: included in every API response
405: Allow lists the supported HTTP methods
ALLOCATION_PENDING: retryable=true · Retry-After=3 · same operation key
ALLOCATION_UNCERTAIN: retryable=false · contact support
Transport errors: check the operation before another write; keep the original key.

■ REST for nove integrationes

≤ USD tariffiske summas returneres como decimal decimales exacte strengs with 8 decimalies places: 0.00300000 USD.

■ balance money is USD. Request and response schemes exists in OpenAPI.

♫ retirrer in USDT · TRC20भुक्तानी हुन 1 देखि 45 दिन लाग्छ। रकम निकाल्ने शुल्क 4 $ हो। यो अनुरोध गरिएको रकमबाट काटिन्छ। SMS प्राप्त भएपछि आम्दानी प्रदायकले तोकेको अवधिसम्म रोक्का हुन्छ। तोकिएको मितिमा रकम स्वतः निकाल्न उपलब्ध हुन्छ। रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।
GET/api/v1/catalogसेवाहरू र देशहरू
GET/api/v1/tariffsSMS recompense rates per Country
GET/api/v1/offers♫ Rates and recompenses
GET/api/v1/servicesÚtvoi direktoriu līmeiro
GET/api/v1/countriesÚtvoi direktoriu līmeiro
GET/api/v1/operatorsÚtvoi direktoriu līmeiro
GET/api/v1/availability?country=1Númber disponibility
POST/api/v1/activations± New session
GET/api/v1/activations/batch?ids=42,43धेरै नम्बर जाँच्नुहोस्
GET/api/v1/activations♫ Last 200 sessions: scope=history, wait or all
GET/api/v1/activations/{id}Session and messages
GET/api/v1/activations/{id}/sms?after_id=0&limit=100ë New SMS with cursor
POST/api/v1/activations/{id}/retry♫ Watching for SMS
POST/api/v1/activations/{id}/finishKomplimentation
POST/api/v1/activations/{id}/cancelCancel
POST/api/v1/activations/repeat± Number reissues
GET/api/v1/keys± API keys
POST/api/v1/keysCreate a key
PATCH/api/v1/keys/{id}■ Change name or policy
DELETE/api/v1/keys/{id}Key Revoke
GET/api/v1/referrals♫ Code referencial and rendements
GET/api/v1/summaryBalance and Resumé
GET/api/v1/balanceरोकिएको रकम
GET/api/v1/ledgerEarnings ledger
GET/api/v1/withdrawals± requestes receptions
POST/api/v1/withdrawalsCreate a request
GET/api/v1/statistics■ Statistiki totale
GET/api/v1/earnings/holdsआम्दानीको रोक्का

♫ Recipiente only new SMS

REST
GET /api/v1/activations/42/sms?after_id=0&limit=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "session_id": 42,
  "sms": [
    {
      "id": 101,
      "code": "001234",
      "text": "± Code: 001234",
      "sender": "Service",
      "received_at": "2026-10-09T12:00:00Z"
    }
  ],
  "next_cursor": 101,
  "has_more": false
}

Save next_cursor and transfer it on as after_id. If has_more=true, la next page puede read immediately. limite: 1–200. Sessions and SMS disponible only for theowner.