Войти

API для SMS-верификации

Покупка номера, проверка кода и отмена одним HTTP-запросом. Распространённый в индустрии виртуальных номеров формат handler_api: для подключения программ регистрации и ботов достаточно указать адрес и ключ.

Получить API-ключ

После входа создайте ключ в меню API на странице аккаунта. Ключ показывается только один раз при создании, поэтому сразу сохраните его. API использует тот же баланс и те же цены, что и сайт.

Основной адрес

https://nuviosms.com/stubs/handler_api.php?api_key=API_KEY&action=...

Основные запросы

actionЧто мы делаемПример ответа
getBalanceПроверка балансаACCESS_BALANCE:12.50
getPrices&service=telegram&country=gbЦены и доступные номера по сервисам и странам{"gb":{"telegram":{"cost":0.207,"count":8877728}}}
getNumber&service=telegram&country=gbПокупка номераACCESS_NUMBER:ID:PHONE
getStatus&id=IDПроверить кодSTATUS_WAIT_CODE / STATUS_OK:CODE
setStatus&id=ID&status=8Отмена номера (до получения кода, полный возврат)ACCESS_CANCEL
setStatus&id=ID&status=3Получить ещё один код на тот же номерACCESS_RETRY_GET
setStatus&id=ID&status=6ЗавершитьACCESS_ACTIVATION

Параметры запроса

ИмяОбязательноОписание
api_keyВсеAPI-ключ, созданный на странице аккаунта
actionВсеgetBalance, getPrices, getNumber, getStatus, setStatus
servicegetNumberКод сервиса (например: telegram, whatsapp, google). Совпадает с адресом страницы в списке сервисов
countrygetNumberДвухбуквенный код страны (например: gb, us, id)
idgetStatus, setStatusID номера, который вернул getNumber (начинается с N-)
statussetStatus8 отмена, 3 ещё один код, 6 завершить, 1 готов

Ответы и их значение

ОтветЗначениеДеньги
ACCESS_NUMBER:ID:PHONEНомер полученСтоимость номера списывается
STATUS_WAIT_CODEОжидаем кодБез изменений
STATUS_OK:CODEКод полученОплата завершена
STATUS_WAIT_RETRY:CODEОжидаем следующий код (предыдущие коды тоже показаны)Без доплаты
STATUS_CANCELОтменено или время истеклоВозвращено, если кода не было
ACCESS_CANCELОтмененоПолный возврат
ACCESS_RETRY_GETОжидаем ещё один код на тот же номерБез доплаты
ACCESS_ACTIVATIONРабота с номером завершенаБез изменений
NO_BALANCEПополните баланс и получайте сразуНе списывается
NO_NUMBERSНомера этой страны сейчас недоступныНе списывается
NO_ACTIVATIONSОткрыто 20 номеровНе списывается
EARLY_CANCEL_DENIEDНомер с полученным кодом завершайте (6), а не отменяйтеБез изменений
BAD_KEYНеверный API-ключНе списывается
BAD_SERVICE / BAD_COUNTRYНеверный код сервиса или страныНе списывается
NO_ACTIVATIONID номера не найденБез изменений
TOO_MANY_REQUESTSПревышен лимит 300 запросов в минутуНе списывается

Примеры на разных языках

import time, requests

BASE = "https://nuviosms.com/stubs/handler_api.php"
KEY = "API_KEY"

def call(**p):
    return requests.get(BASE, params={"api_key": KEY, **p}, timeout=30).text

r = call(action="getNumber", service="telegram", country="gb")
if not r.startswith("ACCESS_NUMBER"):
    raise SystemExit(r)
_, num_id, phone = r.split(":")
print("Number:", phone)

for _ in range(240):                      # 20 minutes
    s = call(action="getStatus", id=num_id)
    if s.startswith("STATUS_OK"):
        print("Code:", s.split(":")[1])
        call(action="setStatus", id=num_id, status=6)
        break
    time.sleep(5)

Как это работает

  • Получите номер через getNumber, введите его на странице регистрации и вызывайте getStatus каждые 5 секунд.
  • STATUS_OK:код: введите этот код и завершите через setStatus 6.
  • Если код не придёт в течение 20 минут, стоимость номера автоматически вернётся на баланс.
  • До 300 запросов в минуту.