Insira sua seed de acesso para entrar. Sem e-mail, sem senha.
novo por aqui?
Criar Conta Anônima
Sem e-mail, sem senha, sem KYC. Sua conta é protegida por uma frase seed única.
Depósito Inicial
$75.00
Adicionado ao seu saldo
Pronto para uso imediato
Inclui verificação por SMS, aluguel de números, subcontas para revenda e acesso completo à API.
Bitcoin
Ethereum
Solana
USDT
já tem uma seed?
Enviar BTC
Depósito inicial de $75,00 — adicionado ao seu saldo
60:00
Aguardando pagamento...
Sua conta será criada automaticamente após a confirmação
Pagamento Recebido
$75,00 foi adicionado ao seu saldo. Aqui está sua seed de acesso:
Salve esta seed agora — ela nunca será exibida novamente
Esta seed é a única forma de acessar sua conta. Se você perdê-la, seu saldo será permanentemente perdido. Sem recuperação, sem redefinição, sem exceções.
API Documentation
Automate SMS verification workflows with the SimNoKYC API. Purchase virtual phone numbers, receive SMS codes, rent dedicated numbers, and manage orders — all programmatically.
Authentication required. All API requests use cookie-based session authentication. You must be logged in to your SimNoKYC account to use the API. Log in via the web interface or use the auth endpoint to establish a session.
Authentication
The API uses cookie-based session authentication. To authenticate programmatically:
Send a POST request to /auth-api.php with your seed phrase
Store the session cookie from the response
Include the cookie in all subsequent API requests
POST/auth-api.php
Authenticate with your seed phrase and establish a session.
Parameter
Type
Required
Description
action
string
required
Must be "login"
seed
string
required
Your 16-character access seed (e.g. 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
All responses are JSON. POST endpoints accept both application/json and application/x-www-form-urlencoded request bodies.
Rate Limits
The API enforces the following rate limits:
Endpoint
Limit
Window
Authentication
5 attempts
15 minutes
All other endpoints
No hard limit
—
Rate limiting: Authentication is limited to 5 attempts per 15 minutes. Other endpoints are not currently rate-limited, but excessive usage may be throttled. Use reasonable request intervals.
Error Handling
All errors return a JSON object with an error field:
{
"error": "Description of what went wrong"
}
HTTP Code
Meaning
200
Success (check response body for application-level errors)
403
Invalid CSRF token
405
Wrong HTTP method (e.g. GET on a POST-only endpoint)
429
Rate limit exceeded
Common application-level errors:
Error
Cause
"Login required"
Session expired or not authenticated
"Insufficient balance"
Not enough funds — includes need and have fields
"Service not available for this country"
No stock or service inactive for the selected country
"Missing country or service"
Required parameters were not provided
List Countries
GET/api.php?action=countries
Returns all active countries with available virtual numbers. No authentication required.
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();
Operator types:virtual — VoIP numbers, cheapest, may be blocked by some services. physical — real SIM cards, higher success rate. premium — fastest delivery (~10s), highest success rate.
Buy Number (SMS Activation)
POST/api.php?action=buy
Purchase a virtual number for one-time SMS verification. The number is active for 20 minutes. If no SMS is received, your balance is automatically refunded.
Order statuses:active — waiting for SMS. completed — SMS received. cancelled — cancelled by user. refunded — auto-refunded (no SMS received before timeout). expired — timed out.
Here's a full Python example that authenticates, finds a service, buys a number, and polls for the SMS code:
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")