Automatisez l'achat de numéros et la vérification par SMS sur sms.tc. Deux interfaces : une API REST moderne et un endpoint compatible SMS-Activate prêt à l'emploi — connectez votre logiciel SMS-Activate existant à sms.tc sans modifier une ligne de code.
sms.tc est un agrégateur multi-fournisseurs : une seule API vous donne accès aux numéros de plusieurs fournisseurs en amont, avec nos tarifs appliqués. Vous pouvez utiliser l'interface la mieux adaptée à votre stack.
JSON via HTTP. Recommandé pour les nouvelles intégrations.
https://sms.tc/api/v1Protocole en texte brut compatible avec les clients SMS-Activate.
https://sms.tc/stubs/handler_api.phpChaque requête doit inclure votre clé API. L'API REST la lit depuis un en-tête ; l'endpoint SMS-Activate la lit depuis le paramètre de requête api_key.
REST
Authorization: Bearer smstc_live_xxxX-Api-Key: smstc_live_xxxSMS-Activate
?api_key=smstc_live_xxxCodes canoniques
Les pays utilisent les identifiants numériques de SMS-Activate (0=Russie, 1=Ukraine…) et les services des codes courts (tg, wa, ig…). Retrouvez-les via les endpoints catalog / getCountries / getServicesList.
Devise
Tous les prix et soldes sont exprimés en USD (ISO 840).
Solde
Les achats sont débités de votre solde sms.tc. Les activations échouées ou expirées sont remboursées automatiquement.
Taux de réussite SMS (rate)
Les réponses des offres peuvent inclure rate : la part de nos propres activations clôturées ayant reçu un SMS (en %, ou null). Calculé par fournisseur + service + pays, affiché uniquement à partir de 10 activations clôturées, actualisé une fois par jour. Utilisez /activations/offers/providers pour le détail par fournisseur.
URL de base https://sms.tc/api/v1. Authentifiez-vous avec un en-tête Bearer / X-Api-Key. Les réponses sont au format JSON.
/activations/offersList available numbers (service → country → price/count/rate)./activations/offers/providersPer-provider offers (provider, operator, price, stock, SMS success rate). Requires service + country./activationsBuy a number. Body: { service, country, operator? }./activations/{id}Get activation status + received SMS code./emailsList email activations./emailsBuy an email activation. Body: { site, domain }./emails/batchBuy email activations in bulk (count 1–10)./emails/{id}Check an email activation./emails/{id}Cancel an email activation./emails/{id}/reorderReorder an email activation./emails/domainsList available email domains./catalog/countriesCanonical country list (SMS-Activate ids)./catalog/servicesCanonical service list (short codes)./catalog/pricesPrices by country/service, incl. SMS success rate (rate)./rent/offersRentable services for a country + duration./rentRent a number. Body: { service, country, duration }./rent/{id}Get a rent order + its SMS./rent/{id}/prolongExtend a rent. Body: { duration }.# 1) Lister les numéros disponibles
curl https://sms.tc/api/v1/activations/offers \
-H "Authorization: Bearer smstc_live_xxx"
# 2) Acheter un numéro (Telegram, pays 6)
curl -X POST https://sms.tc/api/v1/activations \
-H "Authorization: Bearer smstc_live_xxx" \
-H "Content-Type: application/json" \
-d '{"service":"tg","country":6}'
# 3) Vérifier le code
curl https://sms.tc/api/v1/activations/123456 \
-H "X-Api-Key: smstc_live_xxx"Un endpoint unique, /stubs/handler_api.php, piloté par le paramètre de requête action — il reproduit le protocole SMS-Activate afin que les logiciels partenaires existants fonctionnent sans modification. Les réponses sont en texte brut (ou en JSON pour les actions V2 / de liste).
| action | Retourne |
|---|---|
| getBalance | ACCESS_BALANCE:12.50 |
| getNumber | ACCESS_NUMBER:<id>:<phone> |
| getNumberV2 | JSON (activationId, phoneNumber, …) |
| getStatus | STATUS_WAIT_CODE · STATUS_OK:<code> |
| getStatusV2 | JSON (sms, call, …) |
| setStatus | ACCESS_READY · ACCESS_RETRY_GET · ACCESS_ACTIVATION · ACCESS_CANCEL |
| getActiveActivations | JSON (active list) |
| getHistory | JSON (history) |
| getPrices | JSON (prices by country/service) |
| getCountries | JSON (countries) |
| getServicesList | JSON (services) |
| getOperators | JSON (operators) |
| getAllSms | JSON (all SMS for an activation) |
| finishActivation | 204 |
| cancelActivation | 204 |
| reactivate / reactivateOptions | JSON · provider-dependent |
| getRentNumber / getRentServicesAndCountries / serviceCountRent | JSON · provider-dependent |
| prolong / prolongOptions / prolongHistory | JSON · rent only |
setStatus
# Obtenir un numéro
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getNumber&service=tg&country=6
→ ACCESS_NUMBER:123456:628712345678
# Vérifier le statut / le code
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getStatus&id=123456
→ STATUS_OK:12345
# Terminer (6) ou annuler (8)
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=setStatus&id=123456&status=8
→ ACCESS_CANCELL'endpoint SMS-Activate renvoie des jetons en texte brut (HTTP 200). L'API REST renvoie du JSON avec un statut HTTP et un code d'erreur.
NO_KEYLa clé API est manquante.BAD_KEYLa clé API est invalide, expirée ou non autorisée pour votre adresse IP.BAD_ACTIONParamètre action inconnu.BAD_SERVICECode de service inconnu.NO_NUMBERSAucun numéro disponible pour ce service/pays.NO_BALANCESolde insuffisant.WRONG_ACTIVATION_IDL'identifiant d'activation est manquant ou mal formé.NO_ACTIVATIONActivation introuvable pour votre compte.BAD_STATUSValeur setStatus invalide.EARLY_CANCEL_DENIEDAnnulation impossible pour le moment (durée minimale de réservation non écoulée).ACTION_NOT_AVAILABLECette action n'est pas disponible pour le fournisseur sélectionné.La spécification complète lisible par machine et un guide de démarrage sont disponibles ci-dessous.