Введите вашу сид-фразу для входа. Без email, без пароля.
впервые здесь?
Создать анонимный аккаунт
Без email, без пароля, без KYC. Ваш аккаунт защищён уникальной сид-фразой.
Вступительный депозит
$75.00
Зачисляется на ваш баланс
Готов к использованию мгновенно
Включает SMS-верификацию, аренду номеров, суб-аккаунты для перепродажи и полный доступ к API.
Bitcoin
Ethereum
Solana
USDT
уже есть сид-фраза?
Отправить BTC
$75.00 вступительный депозит — зачисляется на ваш баланс
60:00
Ожидание оплаты...
Ваш аккаунт будет создан автоматически после подтверждения
Оплата получена
$75.00 зачислено на ваш баланс. Вот ваша сид-фраза доступа:
Сохраните эту сид-фразу сейчас — она больше не будет показана
Эта сид-фраза — единственный способ получить доступ к вашему аккаунту. Если вы её потеряете, ваш баланс будет утрачен навсегда. Без восстановления, без сброса, без исключений.
Документация API
Автоматизируйте процессы SMS-верификации с помощью API SimNoKYC. Покупайте виртуальные номера телефонов, получайте SMS-коды, арендуйте выделенные номера и управляйте заказами — всё программно.
Требуется аутентификация. Все запросы к API используют аутентификацию сессий на основе cookies. Вы должны быть авторизованы в своём аккаунте SimNoKYC для использования API. Войдите через веб-интерфейс или используйте конечную точку авторизации для установки сессии.
Аутентификация
API использует аутентификацию сессий на основе cookies. Для программной аутентификации:
Отправьте POST-запрос на /auth-api.php с вашей seed-фразой
Сохраните cookie сессии из ответа
Включайте cookie во все последующие API-запросы
POST/auth-api.php
Аутентифицируйтесь с помощью вашей seed-фразы и установите сессию.
Параметр
Тип
Обязательный
Описание
action
string
обязательный
Должно быть "login"
seed
string
обязательный
Ваш 16-символьный seed доступа (напр. AbC3-dEf4-gHj5-kLm6)
cURL
Python
JavaScript
# Login and save session cookie
curl -X POST https://simnokyc.com/auth-api.php \
-d "action=login&seed=AbC3-dEf4-gHj5-kLm6" \
-c cookies.txt
import requests
session = requests.Session()
resp = session.post("https://simnokyc.com/auth-api.php", data={
"action": "login",
"seed": "AbC3-dEf4-gHj5-kLm6"
})
data = resp.json()
print(data) # {"success": true, "user": {...}}# session object now holds the cookie for all future requests
Все ответы в формате JSON. Конечные точки POST принимают тела запросов application/json и application/x-www-form-urlencoded.
Лимиты запросов
API применяет следующие ограничения по частоте запросов:
Эндпоинт
Лимит
Окно
Аутентификация
5 попыток
15 минут
Все остальные endpoints
Без строгого лимита
—
Ограничение частоты запросов: Аутентификация ограничена 5 попытками за 15 минут. Другие endpoints в настоящее время не ограничены, но чрезмерное использование может быть замедлено. Используйте разумные интервалы между запросами.
Обработка ошибок
Все ошибки возвращают объект JSON с полем <code>error</code>:
{
"error": "Description of what went wrong"
}
HTTP код
Значение
200
Успех (проверьте тело ответа на ошибки уровня приложения)
403
Недействительный CSRF-токен
405
Неверный HTTP-метод (напр. GET на endpoint только для POST)
429
Лимит запросов превышен
Распространённые ошибки на уровне приложения:
Ошибка
Причина
"Login required"
Сессия истекла или не аутентифицирован
"Insufficient balance"
Недостаточно средств — включает поля need и have
"Service not available for this country"
Нет в наличии или сервис неактивен для выбранной страны
"Missing country or service"
Обязательные параметры не были предоставлены
Список стран
GET/api.php?action=countries
Возвращает все активные страны с доступными виртуальными номерами. Аутентификация не требуется.
resp = session.get("https://simnokyc.com/api.php", params={"action": "countries"})
countries = resp.json()
for c in countries:
print(c["code"], c["name"])
const resp = await fetch("https://simnokyc.com/api.php?action=countries");
const countries = await resp.json();
Возвращает доступных операторов (провайдеров) для конкретной страны. У каждого оператора есть тип и ценовой множитель, применяемый к базовой цене сервиса.
Типы операторов:virtual — VoIP-номера, самые дешёвые, могут быть заблокированы некоторыми сервисами. physical — реальные SIM-карты, более высокий процент успеха. premium — самая быстрая доставка (~10 сек), наивысший процент успеха.
Купить номер (SMS-активация)
POST/api.php?action=buy
Купите виртуальный номер для одноразовой SMS-верификации. Номер активен 20 минут. Если SMS не получено, ваш баланс автоматически возвращается.
Возвращает ваши 50 последних заказов, включая номера телефонов и SMS-коды. Опрашивайте этот endpoint для проверки входящих SMS-кодов по активным заказам.
Арендуйте один или несколько выделенных телефонных номеров. Номер принадлежит исключительно вам на весь период аренды и принимает неограниченное количество входящих SMS.
Параметр
Тип
Обязательный
Описание
country
string
обязательный
Код страны
operator_id
integer
обязательный
ID оператора
duration
integer
обязательный
7, 14, 30 или 90 дней
qty
integer
необязательный
Количество номеров для аренды (1–10, по умолчанию: 1)
Вот полный пример на Python, который выполняет аутентификацию, находит сервис, покупает номер и запрашивает SMS-код:
Python
import requests, time
BASE = "https://simnokyc.com"
SEED = "AbC3-dEf4-gHj5-kLm6"
s = requests.Session()
# 1. Authenticate
s.post(f"{BASE}/auth-api.php", data={"action": "login", "seed": SEED})
# 2. Check balance
user = s.get(f"{BASE}/api.php?action=user").json()
print(f"Balance: ${user['balance']}")
# 3. Get services for USA
services = s.get(f"{BASE}/api.php?action=services&country=us").json()
whatsapp = next(svc for svc in services if svc["name"] == "WhatsApp")
print(f"WhatsApp: ${whatsapp['price']} ({whatsapp['stock']} in stock)")
# 4. Buy a number
order = s.post(f"{BASE}/api.php?action=buy", json={
"country": "us",
"service_id": whatsapp["id"]
}).json()
print(f"Order #{order['order_id']} created")
# 5. Poll for SMS codefor _ in range(60):
orders = s.get(f"{BASE}/api.php?action=orders").json()
my_order = next(o for o in orders if o["id"] == order["order_id"])
if my_order["sms_code"]:
print(f"SMS code: {my_order['sms_code']}")
print(f"Phone: {my_order['phone_number']}")
breakprint("Waiting for SMS...")
time.sleep(5)
else:
print("Timeout — balance will be refunded automatically")