Enter your access seed to login. No email, no password.
new here?
Create Anonymous Account
No email, no password, no KYC. Your account is secured by a unique seed phrase.
Entry Deposit
$75.00
Added to your balance
Ready to use instantly
Includes SMS verification, number rental, sub-accounts for reselling, and full API access.
Bitcoin
Ethereum
Solana
USDT
already have a seed?
Send BTC
$75.00 entry deposit — added to your balance
60:00
Waiting for payment...
Your account will be created automatically once confirmed
Payment Received
$75.00 has been added to your balance. Here is your access seed:
Save this seed now — it will never be shown again
This seed is your only way to access your account. If you lose it, your balance is permanently lost. No recovery, no reset, no exceptions.
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")