Sign in with your access seed — that is all. No email, no password.
nuovo qui?
Autenticazione a due fattori
Type the 6-digit code from your authenticator app, or any one of your recovery codes.
Crea un account anonimo
No email, no password, no KYC. On the next step you get a seed phrase — that phrase is the entire account.
hai già un seed?
Account creato
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 di Verifica SMS — SMSNoKYC
Automatizza la verifica OTP dall'inizio alla fine. Prenota numeri virtuali in oltre 190 paesi, leggi i codici SMS in secondi, noleggia linee dedicate a lungo termine e comanda ogni ordine da un'unica superficie REST: senza chiave API, senza KYC, pagato in criptovaluta.
Tempo di lettura: 5 minREST · JSON · OpenAPI 3.0Spec OpenAPI →
Autenticazione richiesta. Ogni richiesta si appoggia a un cookie di sessione, quindi devi aver effettuato l'accesso al tuo account SMSNoKYC. Stabilisci una sessione tramite l'interfaccia web o l'endpoint di autenticazione prima di chiamare.
Perché gli sviluppatori scelgono l’API SMSNoKYC
SMSNoKYC è l’API di verifica SMS più flessibile per gli sviluppatori che richiedono anonimato, copertura globale e prezzi prevedibili. A differenza dei provider SMS-OTP tradizionali che subordinano l’accesso a contratti enterprise, volumi minimi mensili e questionari KYC, SMSNoKYC funziona con qualsiasi client HTTPS, addebita esclusivamente per numero e accetta 20+ criptovalute tra cui Bitcoin, Monero, Ethereum, USDT, USDC, Solana, Litecoin, XRP, TRON e Toncoin.
I casi d’uso tipici includono: automatizzare la registrazione di account per QA su larga scala, recuperare password monouso per agenti headless e bot CI, validare flussi con verifica telefonica nell’integrazione continua, affittare numeri dedicati a lungo termine per account Telegram o WhatsApp che richiedono ricezione SMS ininterrotta, e gestire la verifica geo-distribuita in 190+ paesi con controllo esplicito del livello operatore — virtuale, fisico o premium.
Autenticazione
L'API utilizza l'autenticazione di sessione basata su cookie. Per autenticarsi in modo programmatico:
Invia una richiesta POST a /auth-api.php con la tua seed phrase
Memorizza il cookie di sessione dalla risposta
Includi il cookie in tutte le successive richieste API
POST/auth-api.php
Autenticati con la tua seed phrase e stabilisci una sessione.
Parametro
Tipo
Obbligatorio
Descrizione
action
string
obbligatorio
Deve essere "login"
seed
string
obbligatorio
La tua seed di accesso a 16 caratteri (es. 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
Tutte le risposte sono in formato JSON. Gli endpoint POST accettano sia application/json che application/x-www-form-urlencoded come corpo della richiesta.
Limiti di chiamate
L'API applica i seguenti rate limit:
Endpoint
Limite
Finestra
Autenticazione
5 tentativi
15 minuti
Tutti gli altri endpoint
Nessun limite fisso
—
Rate limiting: L'autenticazione è limitata a 5 tentativi ogni 15 minuti. Gli altri endpoint non sono attualmente soggetti a rate limit, ma un utilizzo eccessivo potrebbe essere rallentato. Usa intervalli di richiesta ragionevoli.
Gestione degli errori
Tutti gli errori restituiscono un oggetto JSON con un campo <code>error</code>:
{
"error": "Description of what went wrong"
}
Codice HTTP
Significato
200
Operazione riuscita (controlla il corpo della risposta per errori a livello applicativo)
403
Token CSRF non valido
405
Metodo HTTP errato (es. GET su un endpoint solo POST)
429
Limite di chiamate superato
Errori comuni a livello applicativo:
Errore
Causa
"Login required"
Sessione scaduta o non autenticata
"Insufficient balance"
Fondi insufficienti — include i campi need e have
"Service not available for this country"
Nessuna disponibilità o servizio inattivo per il paese selezionato
"Missing country or service"
I parametri obbligatori non sono stati forniti
Elenca paesi
GET/api.php?action=countries
Restituisce tutti i paesi attivi con numeri virtuali disponibili. Nessuna autenticazione richiesta.
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();
Restituisce i servizi disponibili per un paese specifico, inclusi prezzi e disponibilità. Senza un codice paese, restituisce tutti i servizi senza prezzi.
Restituisce gli operatori (carrier) disponibili per un paese specifico. Ogni operatore ha un tipo e un moltiplicatore di prezzo applicato al prezzo base del servizio.
Tipi di operatore:virtual — numeri VoIP, i più economici, potrebbero essere bloccati da alcuni servizi. physical — SIM fisiche, tasso di successo più elevato. premium — consegna più rapida (~10s), massimo tasso di successo.
Acquista numero (attivazione SMS)
POST/api.php?action=buy
Acquista un numero virtuale per la verifica SMS singola. Il numero è attivo per 20 minuti. Se non viene ricevuto alcun SMS, il saldo viene rimborsato automaticamente.
Restituisce i tuoi 50 ordini più recenti, inclusi i numeri di telefono e i codici SMS. Interroga questo endpoint per verificare i codici SMS in arrivo sugli ordini attivi.
Ecco un esempio Python completo che esegue l'autenticazione, trova un servizio, acquista un numero e verifica l'arrivo del codice 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")
Domande frequenti
A cosa serve l'API di verifica di SMSNoKYC?
Apre al tuo stesso codice lo stesso catalogo del sito: numeri virtuali in oltre 190 paesi per la verifica OTP una tantum e per noleggi da 7 a 90 giorni. Tramite una semplice interfaccia REST in JSON puoi sfogliare le app, leggere i prezzi in tempo reale, prenotare numeri, recuperare i codici in arrivo e rimborsare le attivazioni fallite: senza KYC, fatturando solo in cripto.
Serve una chiave API o un token OAuth?
No. L'autenticazione è un cookie di sessione: invia una volta la tua frase di accesso da 16 caratteri in POST a /auth-api.php, poi rimanda il cookie restituito a ogni chiamata successiva. Nulla da fornire, ruotare o revocare: accedi una volta per sessione e resti tale per tutta la vita del cookie.
Quanto costa l'API?
Chiamare l'API è gratis: niente canone mensile, niente abbonamento, nessun volume minimo. Paghi solo per numero: attivazioni una tantum da 0,05 $, noleggi dedicati da pochi dollari per 7 giorni. Tutto viene scalato dal tuo saldo prepagato, e ogni attivazione che non riceve mai un SMS viene rimborsata da sola.
Quali linguaggi e framework possono chiamarla?
Tutto ciò che può inviare una richiesta HTTPS funziona: Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, cURL da Bash e il resto. La documentazione include esempi pronti da copiare in cURL, Python e JavaScript, e un file OpenAPI 3.0 completo su /openapi.json ti permette di generare un client tipizzato nel linguaggio che preferisci.
Cosa succede se un codice di verifica non arriva mai?
Ogni attivazione ha una finestra di 20 minuti. Se non arriva nulla prima che si chiuda, l'ordine si annulla da solo e l'intero prezzo torna sul saldo: senza ticket, senza ritentativo manuale. Puoi spendere quel saldo rimborsato subito su un altro numero, magari in un'altra categoria di operatore (virtuale, fisico o premium) per un tasso di successo migliore.
L'API ha limiti di frequenza?
L'accesso è limitato a 5 tentativi ogni 15 minuti per IP per bloccare l'indovinello della frase. Il resto — catalogo, acquisto, ordini, noleggi — per ora non ha un tetto rigido, ma mantieni intervalli ragionevoli: interrogare /api.php?action=orders ogni 3-5 secondi basta e avanza per leggere gli SMS, e picchi sostenuti oltre circa 10 req/s possono essere limitati a livello di WAF.