Sign in with your access seed — that is all. No email, no password.
nuevo aqui?
Autenticación de dos factores
Type the 6-digit code from your authenticator app, or any one of your recovery codes.
Crear una cuenta anónima
No email, no password, no KYC. On the next step you get a seed phrase — that phrase is the entire account.
ya tienes una semilla?
Cuenta creada
Your access seed:
Write this seed down now — it is shown only this once.
The seed is the one and only key to your account. Lose it and the balance is gone for good — there is no reset, no recovery and no support override.
API de Verificación SMS — SMSNoKYC
Automatiza la verificación OTP de principio a fin. Reserva números virtuales en más de 190 países, lee los códigos SMS en segundos, alquila líneas dedicadas de larga duración y controla cada pedido desde una única superficie REST: sin clave de API, sin KYC, pagado en criptomoneda.
Autenticación requerida. Cada petición se apoya en una cookie de sesión, por lo que debes estar conectado a tu cuenta de SMSNoKYC. Establece una sesión mediante la interfaz web o el punto de autenticación antes de llamar.
Por qué los desarrolladores eligen la API de SMSNoKYC
SMSNoKYC es la API de verificación SMS más flexible para desarrolladores que necesitan anonimato, cobertura global y precios predecibles. A diferencia de los proveedores SMS-OTP tradicionales que restringen el acceso mediante contratos empresariales, mínimos mensuales y cuestionarios KYC, SMSNoKYC funciona con cualquier cliente HTTPS, cobra estrictamente por número y acepta más de 20 criptomonedas, incluyendo Bitcoin, Monero, Ethereum, USDT, USDC, Solana, Litecoin, XRP, TRON y Toncoin.
Los casos de uso típicos incluyen la automatización de registros de cuentas para QA a escala, la obtención de contraseñas de un solo uso para agentes headless y bots de CI, la validación de flujos que requieren teléfono en integración continua, el alquiler de números dedicados a largo plazo para cuentas de Telegram o WhatsApp que necesitan recepción SMS ininterrumpida, y la verificación geodistribuida en 190+ países con control explícito por nivel de operador — virtual, físico o premium.
Autenticacion
La API utiliza autenticación de sesión basada en cookies. Para autenticarse programáticamente:
Envía una solicitud POST a /auth-api.php con tu frase seed
Almacena la cookie de sesión de la respuesta
Incluye la cookie en todas las solicitudes API posteriores
POST/auth-api.php
Autentícate con tu frase seed y establece una sesión.
Parametro
Tipo
Requerido
Descripción
action
string
requerido
Debe ser "login"
seed
string
requerido
Tu seed de acceso de 16 caracteres (ej. AbC3-dEf4-gHj5-kLm6)
cURL
Python
JavaScript
# Login and save session cookie
curl -X POST https://smsnokyc.com/auth-api.php \
-d "action=login&seed=AbC3-dEf4-gHj5-kLm6" \
-c cookies.txt
import requests
session = requests.Session()
resp = session.post("https://smsnokyc.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
Todas las respuestas son JSON. Los endpoints POST aceptan cuerpos de solicitud application/json y application/x-www-form-urlencoded.
Límites de solicitudes
La API aplica los siguientes límites de velocidad:
Endpoint
Límite
Ventana
Autenticacion
5 intentos
15 minutos
Todos los demás endpoints
Sin límite estricto
—
Límite de tasa: La autenticación está limitada a 5 intentos por 15 minutos. Los demás endpoints no están actualmente limitados, pero el uso excesivo puede ser restringido. Usa intervalos de solicitud razonables.
Manejo de errores
Todos los errores devuelven un objeto JSON con un campo <code>error</code>:
{
"error": "Description of what went wrong"
}
Código HTTP
Significado
200
Éxito (verifica el cuerpo de la respuesta para errores a nivel de aplicación)
403
Token CSRF inválido
405
Método HTTP incorrecto (ej. GET en un endpoint solo POST)
429
Límite de tasa excedido
Errores comunes a nivel de aplicación:
Error
Causa
"Login required"
Sesión expirada o no autenticado
"Insufficient balance"
Fondos insuficientes — incluye los campos need y have
"Service not available for this country"
Sin stock o servicio inactivo para el país seleccionado
"Missing country or service"
No se proporcionaron los parámetros requeridos
Listar Países
GET/api.php?action=countries
Devuelve todos los países activos con números virtuales disponibles. No se requiere autenticación.
resp = session.get("https://smsnokyc.com/api.php", params={"action": "countries"})
countries = resp.json()
for c in countries:
print(c["code"], c["name"])
const resp = await fetch("https://smsnokyc.com/api.php?action=countries");
const countries = await resp.json();
Devuelve los operadores (proveedores) disponibles para un país específico. Cada operador tiene un tipo y un multiplicador de precio aplicado al precio base del servicio.
Tipos de operadores:virtual — números VoIP, los más baratos, pueden ser bloqueados por algunos servicios. physical — tarjetas SIM reales, mayor tasa de éxito. premium — entrega más rápida (~10s), mayor tasa de éxito.
Comprar número (Activación SMS)
POST/api.php?action=buy
Compra un número virtual para verificación SMS de un solo uso. El número está activo durante 20 minutos. Si no se recibe ningún SMS, tu saldo se reembolsa automáticamente.
Devuelve tus 50 pedidos más recientes, incluyendo números de teléfono y códigos SMS. Consulta este endpoint para verificar los códigos SMS entrantes en pedidos activos.
Estados de pedido:active — esperando SMS. completed — SMS recibido. cancelled — cancelado por el usuario. refunded — reembolsado automáticamente (sin SMS recibido antes del tiempo límite). expired — expirado.
Alquila uno o más números de teléfono dedicados. El número es exclusivamente tuyo durante todo el período de alquiler y recibe SMS entrantes ilimitados.
Parametro
Tipo
Requerido
Descripción
country
string
requerido
Código de país
operator_id
integer
requerido
ID del operador
duration
integer
requerido
7, 14, 30, o 90 días
qty
integer
opcional
Cantidad de números a alquilar (1–10, por defecto: 1)
Aquí hay un ejemplo completo en Python que se autentica, encuentra un servicio, compra un número y consulta el código SMS:
Python
import requests, time
BASE = "https://smsnokyc.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")
Preguntas frecuentes
¿Para qué sirve la API de verificación de SMSNoKYC?
Abre a tu propio código el mismo catálogo que el sitio: números virtuales en más de 190 países para verificación OTP puntual y para alquileres de 7 a 90 días. A través de una sencilla interfaz REST en JSON puedes explorar aplicaciones, leer precios en vivo, reservar números, recuperar los códigos entrantes y reembolsar activaciones fallidas, sin KYC y facturando solo en cripto.
¿Hace falta una clave de API o un token OAuth?
No. La autenticación es una cookie de sesión: envía una vez tu frase de acceso de 16 caracteres por POST a /auth-api.php y luego reenvía la cookie devuelta en cada llamada siguiente. Nada que aprovisionar, rotar o revocar: te conectas una vez por sesión y sigues conectado durante toda la vida de la cookie.
¿Cuánto cuesta la API?
Llamar a la API es gratis: sin cuota mensual, sin suscripción, sin volumen mínimo. Solo pagas por número: activaciones puntuales desde 0,05 USD, alquileres dedicados desde unos pocos dólares por 7 días. Todo se descuenta de tu saldo prepago, y cualquier activación que nunca reciba un SMS se reembolsa sola.
¿Qué lenguajes y frameworks pueden llamarla?
Todo lo que pueda emitir una petición HTTPS funciona: Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, cURL desde Bash y el resto. La documentación incluye ejemplos listos para copiar en cURL, Python y JavaScript, y un archivo OpenAPI 3.0 completo en /openapi.json permite generar un cliente tipado en el lenguaje que prefieras.
¿Qué ocurre si un código de verificación nunca llega?
Cada activación tiene una ventana de 20 minutos. Si no llega nada antes de que se cierre, el pedido se cancela solo y el precio íntegro vuelve a tu saldo, sin ticket ni reintento manual. Puedes gastar ese saldo reembolsado de inmediato en otro número, quizá de otra categoría de operador (virtual, físico o premium) para una mejor tasa de éxito.
¿Tiene la API límites de frecuencia?
El inicio de sesión está limitado a 5 intentos por 15 minutos e IP para bloquear el adivinado de frases. El resto (catálogo, compra, pedidos, alquileres) no tiene un tope estricto por ahora, pero mantén intervalos razonables: consultar /api.php?action=orders cada 3-5 segundos basta de sobra para leer SMS, y ráfagas sostenidas por encima de unas 10 req/s pueden limitarse a nivel de WAF.