Sign in with your access seed — that is all. No email, no password.
nouveau ici ?
Authentification à deux facteurs
Type the 6-digit code from your authenticator app, or any one of your recovery codes.
Créer un compte anonyme
No email, no password, no KYC. On the next step you get a seed phrase — that phrase is the entire account.
vous avez déjà un seed ?
Compte créé
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 Vérification SMS — SMSNoKYC
Automatisez la vérification OTP de bout en bout. Réservez des numéros virtuels dans plus de 190 pays, lisez les codes SMS en quelques secondes, louez des lignes dédiées de longue durée et pilotez chaque commande via une seule surface REST — pas de clé d'API, pas de KYC, payé en cryptomonnaie.
Temps de lecture : 5 minREST · JSON · OpenAPI 3.0Spec OpenAPI →
Authentification requise. Chaque requête s'appuie sur un cookie de session : vous devez donc être connecté à votre compte SMSNoKYC. Établissez une session via l'interface web ou le point d'authentification avant d'appeler.
Pourquoi les développeurs choisissent l’API SMSNoKYC
SMSNoKYC est l’API de vérification SMS la plus flexible pour les développeurs qui ont besoin d’anonymat, d’une couverture mondiale et de tarifs prévisibles. Contrairement aux fournisseurs SMS-OTP classiques qui conditionnent l’accès à des contrats entreprise, des minimums mensuels et des questionnaires KYC, SMSNoKYC fonctionne avec n’importe quel client HTTPS, facture strictement par numéro, et accepte 20+ cryptomonnaies dont Bitcoin, Monero, Ethereum, USDT, USDC, Solana, Litecoin, XRP, TRON et Toncoin.
Les cas d’usage typiques incluent l’automatisation d’inscriptions de comptes pour le QA à grande échelle, la récupération de mots de passe à usage unique pour les agents headless et les bots CI, la validation de parcours nécessitant un téléphone en intégration continue, la location de numéros dédiés long terme pour des comptes Telegram ou WhatsApp nécessitant une réception SMS ininterrompue, et la vérification géo-distribuée dans 190+ pays avec contrôle explicite du niveau d’opérateur — virtuel, physique ou premium.
Authentification
L'API utilise l'authentification par session basée sur les cookies. Pour vous authentifier par programmation :
Envoyez une requête POST à /auth-api.php avec votre phrase seed
Stockez le cookie de session de la réponse
Incluez le cookie dans toutes les requêtes API suivantes
POST/auth-api.php
Authentifiez-vous avec votre phrase seed et établissez une session.
Paramètre
Type
Requis
Description
action
string
requis
Doit être "login"
seed
string
requis
Votre seed d'accès de 16 caractères (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
Tous les points d'accès de l'API sont relatifs à :
https://smsnokyc.com/api.php?action={action}
Toutes les réponses sont en JSON. Les points d'accès POST acceptent les corps de requête application/json et application/x-www-form-urlencoded.
Limites de requêtes
L'API applique les limites de débit suivantes :
Point d'accès
Limite
Fenêtre
Authentification
5 tentatives
15 minutes
Tous les autres points de terminaison
Pas de limite stricte
—
Limitation de débit : L'authentification est limitée à 5 tentatives par 15 minutes. Les autres points de terminaison ne sont pas actuellement limités, mais un usage excessif peut être ralenti. Utilisez des intervalles de requête raisonnables.
Gestion des erreurs
Toutes les erreurs renvoient un objet JSON avec un champ <code>error</code> :
{
"error": "Description of what went wrong"
}
Code HTTP
Signification
200
Succès (vérifiez le corps de la réponse pour les erreurs au niveau applicatif)
403
Jeton CSRF invalide
405
Méthode HTTP incorrecte (ex. GET sur un point de terminaison POST uniquement)
429
Limite de débit dépassée
Erreurs courantes au niveau de l'application :
Erreur
Cause
"Login required"
Session expirée ou non authentifié
"Insufficient balance"
Fonds insuffisants — inclut les champs need et have
"Service not available for this country"
Pas de stock ou service inactif pour le pays sélectionné
"Missing country or service"
Les paramètres requis n'ont pas été fournis
Lister les pays
GET/api.php?action=countries
Renvoie tous les pays actifs avec des numéros virtuels disponibles. Aucune authentification requise.
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();
Renvoie les opérateurs (fournisseurs) disponibles pour un pays spécifique. Chaque opérateur a un type et un multiplicateur de prix appliqué au prix de base du service.
Types d'opérateurs :virtual — numéros VoIP, les moins chers, peuvent être bloqués par certains services. physical — vraies cartes SIM, taux de réussite plus élevé. premium — livraison la plus rapide (~10s), meilleur taux de réussite.
Acheter un numéro (Activation SMS)
POST/api.php?action=buy
Achetez un numéro virtuel pour une vérification SMS unique. Le numéro est actif pendant 20 minutes. Si aucun SMS n'est reçu, votre solde est automatiquement remboursé.
Renvoie vos 50 commandes les plus récentes, y compris les numéros de téléphone et les codes SMS. Interrogez ce point de terminaison pour vérifier les codes SMS entrants sur les commandes actives.
Louez un ou plusieurs numéros de téléphone dédiés. Le numéro est exclusivement le vôtre pour toute la période de location et reçoit des SMS entrants illimités.
Renvoie les informations du compte et le solde de l'utilisateur actuel. Utilisez ceci pour vérifier le statut d'authentification et les fonds disponibles.
Voici un exemple complet en Python qui s'authentifie, trouve un service, achète un numéro et interroge le code 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")
Questions fréquemment posées
À quoi sert l'API de vérification SMSNoKYC ?
Elle ouvre à votre propre code le même catalogue que le site : des numéros virtuels dans plus de 190 pays pour la vérification OTP ponctuelle et pour des locations de 7 à 90 jours. Via une simple interface REST JSON, vous pouvez parcourir les applications, lire les prix en direct, réserver des numéros, récupérer les codes entrants et rembourser les activations ratées — sans KYC, facturation en crypto uniquement.
Faut-il une clé d'API ou un jeton OAuth ?
Non. L'authentification est un cookie de session : envoyez une fois votre phrase d'accès de 16 caractères en POST à /auth-api.php, puis reportez le cookie renvoyé sur chaque appel suivant. Rien à provisionner, faire tourner ou révoquer — vous vous connectez une fois par session et le restez pendant toute la durée de vie du cookie.
Combien coûte l'API ?
L'API est gratuite à appeler — pas de frais mensuel, pas d'abonnement, pas de volume minimum. Vous ne payez qu'au numéro : activations ponctuelles dès 0,05 $, locations dédiées dès quelques dollars pour 7 jours. Tout est prélevé sur votre solde prépayé, et toute activation qui ne reçoit jamais de SMS est remboursée d'elle-même.
Quels langages et frameworks peuvent l'appeler ?
Tout ce qui peut émettre une requête HTTPS fonctionne — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, cURL depuis Bash et le reste. La doc inclut des exemples prêts à copier en cURL, Python et JavaScript, et un fichier OpenAPI 3.0 complet sur /openapi.json permet de générer un client typé dans le langage de votre choix.
Que se passe-t-il si un code de vérification n'arrive jamais ?
Chaque activation dispose d'une fenêtre de 20 minutes. Si rien n'arrive avant sa fermeture, la commande s'annule d'elle-même et le prix intégral revient sur votre solde — sans ticket, sans nouvelle tentative manuelle. Vous pouvez dépenser ce solde remboursé aussitôt sur un autre numéro, éventuellement sur une autre catégorie d'opérateur (virtuel, physique ou premium) pour un meilleur taux de réussite.
L'API a-t-elle des limites de débit ?
La connexion est plafonnée à 5 tentatives par 15 minutes et par IP pour bloquer la devinette de phrase. Le reste — catalogue, achat, commandes, locations — n'a pas de plafond strict pour l'instant, mais gardez des intervalles raisonnables : interroger /api.php?action=orders toutes les 3-5 secondes suffit largement pour lire les SMS, et des rafales soutenues au-delà d'environ 10 req/s peuvent être limitées au niveau du WAF.