Sign in with your access seed — that is all. No email, no password.
novo por aqui?
Autenticação de dois fatores
Type the 6-digit code from your authenticator app, or any one of your recovery codes.
Crie uma conta anônima
No email, no password, no KYC. On the next step you get a seed phrase — that phrase is the entire account.
já tem uma seed?
Conta Criada
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 Verificação SMS — SMSNoKYC
Automatize a verificação OTP de ponta a ponta. Reserve números virtuais em mais de 190 países, leia os códigos SMS em segundos, alugue linhas dedicadas de longa duração e comande cada pedido por uma única superfície REST — sem chave de API, sem KYC, pago em criptomoeda.
Autenticação necessária. Cada requisição se apoia num cookie de sessão, então você precisa estar conectado à sua conta SMSNoKYC. Estabeleça uma sessão pela interface web ou pelo ponto de autenticação antes de chamar.
Por que desenvolvedores escolhem a API SMSNoKYC
O SMSNoKYC é a API de verificação SMS mais flexível para desenvolvedores que precisam de anonimato, cobertura global e preços previsíveis. Ao contrário de provedores legados de SMS-OTP que condicionam o acesso a contratos corporativos, mínimos mensais e questionários KYC, o SMSNoKYC funciona com qualquer cliente HTTPS, cobra estritamente por número e aceita 20+ criptomoedas, incluindo Bitcoin, Monero, Ethereum, USDT, USDC, Solana, Litecoin, XRP, TRON e Toncoin.
Casos de uso típicos incluem automatizar cadastros de contas para QA em escala, recuperar senhas de uso único para agentes headless e bots de CI, validar fluxos que exigem telefone em integração contínua, alugar números dedicados de longo prazo para contas do Telegram ou WhatsApp que precisam de recepção SMS ininterrupta, e alimentar verificação geodistribuída em 190+ países com controle explícito de nível de operadora — virtual, físico ou premium.
Autenticação
A API usa autenticação de sessão baseada em cookies. Para autenticar programaticamente:
Envie uma requisição POST para /auth-api.php com sua frase seed
Armazene o cookie de sessão da resposta
Inclua o cookie em todas as requisições API subsequentes
POST/auth-api.php
Autentique-se com sua frase seed e estabeleça uma sessão.
Parâmetro
Tipo
Obrigatório
Descrição
action
string
obrigatório
Deve ser "login"
seed
string
obrigatório
Sua seed de acesso de 16 caracteres (ex. 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 as respostas são em JSON. Os endpoints POST aceitam corpos de requisição application/json e application/x-www-form-urlencoded.
Limites de requisições
A API aplica os seguintes limites de taxa:
Endpoint
Limite
Janela
Autenticação
5 tentativas
15 minutos
Todos os outros endpoints
Sem limite rígido
—
Limite de taxa: A autenticação é limitada a 5 tentativas por 15 minutos. Outros endpoints não são atualmente limitados, mas o uso excessivo pode ser restringido. Use intervalos de requisição razoáveis.
Tratamento de erros
Todos os erros retornam um objeto JSON com um campo <code>error</code>:
{
"error": "Description of what went wrong"
}
Código HTTP
Significado
200
Sucesso (verifique o corpo da resposta para erros de nível de aplicação)
403
Token CSRF inválido
405
Método HTTP incorreto (ex. GET em um endpoint somente POST)
429
Limite de taxa excedido
Erros comuns a nível de aplicação:
Erro
Causa
"Login required"
Sessão expirada ou não autenticado
"Insufficient balance"
Fundos insuficientes — inclui os campos need e have
"Service not available for this country"
Sem estoque ou serviço inativo para o país selecionado
"Missing country or service"
Os parâmetros obrigatórios não foram fornecidos
Listar Países
GET/api.php?action=countries
Retorna todos os países ativos com números virtuais disponíveis. Nenhuma autenticação necessária.
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();
Tipos de operadoras:virtual — números VoIP, mais baratos, podem ser bloqueados por alguns serviços. physical — cartões SIM reais, maior taxa de sucesso. premium — entrega mais rápida (~10s), maior taxa de sucesso.
Comprar número (Ativação SMS)
POST/api.php?action=buy
Compre um número virtual para verificação SMS única. O número fica ativo por 20 minutos. Se nenhum SMS for recebido, seu saldo é reembolsado automaticamente.
Retorna seus 50 pedidos mais recentes, incluindo números de telefone e códigos SMS. Consulte este endpoint para verificar códigos SMS recebidos em pedidos ativos.
Status dos pedidos:active — aguardando SMS. completed — SMS recebido. cancelled — cancelado pelo usuário. refunded — reembolsado automaticamente (nenhum SMS recebido antes do tempo limite). expired — expirado.
Aqui está um exemplo completo em Python que autentica, encontra um serviço, compra um número e consulta o 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")
Perguntas frequentes
Para que serve a API de verificação do SMSNoKYC?
Ela abre ao seu próprio código o mesmo catálogo do site: números virtuais em mais de 190 países para verificação OTP pontual e para aluguéis de 7 a 90 dias. Por uma interface REST em JSON simples, você pode navegar por aplicativos, ler preços ao vivo, reservar números, buscar os códigos recebidos e reembolsar ativações que falharam — sem KYC, cobrando só em cripto.
É preciso uma chave de API ou um token OAuth?
Não. A autenticação é um cookie de sessão: envie uma vez a sua frase de acesso de 16 caracteres por POST para /auth-api.php e depois reencaminhe o cookie devolvido em cada chamada seguinte. Nada a provisionar, rotacionar ou revogar — você entra uma vez por sessão e permanece por toda a vida do cookie.
Quanto custa a API?
Chamar a API é grátis — sem mensalidade, sem assinatura, sem volume mínimo. Você só paga por número: ativações pontuais a partir de 0,05 US$, aluguéis dedicados a partir de poucos dólares por 7 dias. Tudo é debitado do seu saldo pré-pago, e qualquer ativação que nunca receber um SMS é reembolsada sozinha.
Que linguagens e frameworks podem chamá-la?
Tudo que consegue emitir uma requisição HTTPS funciona — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, cURL do Bash e o resto. A documentação traz exemplos prontos para copiar em cURL, Python e JavaScript, e um arquivo OpenAPI 3.0 completo em /openapi.json permite gerar um cliente tipado na linguagem que preferir.
O que acontece se um código de verificação nunca chegar?
Cada ativação tem uma janela de 20 minutos. Se nada chegar antes de fechar, o pedido se cancela sozinho e o preço integral volta ao saldo — sem ticket, sem repetição manual. Você pode gastar esse saldo reembolsado na hora em outro número, talvez em outra categoria de operadora (virtual, física ou premium) por uma taxa de sucesso melhor.
A API tem limites de taxa?
O login é limitado a 5 tentativas por 15 minutos e por IP para bloquear a adivinhação da frase. O resto — catálogo, compra, pedidos, aluguéis — não tem um teto rígido por ora, mas mantenha intervalos razoáveis: consultar /api.php?action=orders a cada 3-5 segundos basta de sobra para ler SMS, e rajadas sustentadas acima de cerca de 10 req/s podem ser limitadas no nível do WAF.