API per sviluppatori
Verifica via SMS direttamente dal tuo codice
Una sola chiamata HTTPS dà al tuo bot o alla tua piattaforma un numero reale per WhatsApp, Telegram e molti altri servizi. Leggi il codice via webhook o long polling e paga solo i numeri che lo ricevono.
- 1.321servizi
- 145paesi
- 0,10 USDprezzo minimo per numero
- Autorimborso se il codice non arriva
curl
curl -s -X POST https://smsgrab.com/api/dev/v1/activations \
-H "Authorization: Bearer $SMSGRAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"service":"whatsapp","country":"indonesia"}'
Python
activation = requests.post(
"https://smsgrab.com/api/dev/v1/activations",
headers={"Authorization": f"Bearer {key}"},
json={"service": "whatsapp", "country": "indonesia"},
).json()
Node.js
const activation = await fetch('https://smsgrab.com/api/dev/v1/activations', {
method: 'POST',
headers: { Authorization: `Bearer ${key}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ service: 'whatsapp', country: 'indonesia' }),
}).then((response) => response.json());
PHP
$activation = json_decode((string) $client->post('activations', [
'json' => ['service' => 'whatsapp', 'country' => 'indonesia'],
])->getBody(), true);
Go
order := map[string]any{"service": "whatsapp", "country": "indonesia"}
err := call("POST", "/activations", order, idempotencyKey(), &activation)
{
"id": "5c1d0c2e-9f3a-4b7e-8a61-2f0c9d4e7b10",
"compat_id": 100000123,
"status": "WAITING_SMS",
"service_id": "whatsapp",
"country_id": "indonesia",
"phone_number": "+6281234567890",
"price_minor": 18,
"currency": "USD",
"expires_at": "2026-09-27T10:25:00.000Z",
"sms": []
}
Pensata per l’automazione
Tutto ciò che serve alla tua integrazione, con lo stesso stock, la stessa contabilità e gli stessi rimborsi dell’app.
-
Un’API REST pulita
JSON prevedibile, acquisti idempotenti e motivi di errore chiari su cui agire.
-
Webhook firmati
Eventi firmati HMAC per ogni codice e cambio di stato, con nuovi tentativi per 24 ore.
-
Long polling
Mantieni una richiesta fino a 30 secondi e ricevi il codice appena arriva.
-
Compatibile con sms-activate
Punta i tuoi strumenti a un nuovo indirizzo. Azioni e risposte restano le stesse.
-
Chiavi sotto il tuo controllo
Chiavi in sola lettura o di acquisto, liste di IP consentiti, limiti giornalieri, scadenza e rotazione senza interruzioni.
-
Rimborsi automatici
Nessun codice prima della scadenza del numero? L’addebito torna direttamente sul tuo saldo.
-
Utilizzo e registro delle richieste
Richieste, spese ed errori giornalieri per chiave, più un registro filtrabile degli ultimi 7 giorni.
-
Prezzi per volume
Prezzi basati sul costo all’ingrosso che scendono da soli quando cresce il tuo volume mensile.
Operativo in quattro passaggi
Il tuo primo numero è a poche chiamate di distanza.
-
Crea un account
Registrati con il tuo indirizzo email e verificalo. App e sito condividono lo stesso account.
-
Crea una chiave API
Scegli il suo accesso, limitala ai tuoi server e copia il segreto una volta.
-
Acquista un numero
Invia servizio e paese con POST. Ricevi subito il numero e il suo prezzo.
-
Ricevi il codice
Attendi con long polling o un webhook, poi completa l’attivazione.
Prezzi che scendono mentre cresci
I prezzi per sviluppatori partono dal costo all’ingrosso di ogni numero più un ricarico che si riduce con il tuo volume di 30 giorni.
- Mai più del prezzo dello stesso numero nell’app
- Almeno 0,10 USD per numero
- I numeri senza codice vengono rimborsati automaticamente
- La tua fascia si aggiorna pochi minuti dopo averla raggiunta
- Addebitato in USD dallo stesso saldo dell’app
Ricarico in base alla spesa sviluppatore di 30 giorni
| Spesa sviluppatore in 30 giorni | Ricarico sul prezzo all’ingrosso | Prezzo di esempio |
|---|---|---|
| Meno di 100,00 USD | +80% | 0,18 USD 28% in meno che nell’app |
| Da 100,00 USD | +70% | 0,17 USD 32% in meno che nell’app |
| Da 500,00 USD | +60% | 0,16 USD 36% in meno che nell’app |
| Da 2.000,00 USD | +50% | 0,15 USD 40% in meno che nell’app |
Esempio: un’offerta con costo all’ingrosso di 0,10 USD che nell’app costa 0,25 USD.
Migrazione
Passa da sms-activate con una riga
Il nostro endpoint compatibile parla lo stesso protocollo: bot e pannelli creati per sms-activate funzionano appena cambi l’indirizzo base e la chiave.
https://smsgrab.com/api/stubs/handler_api.php
- getNumber, getStatus, setStatus, getPrices e tutte le altre azioni standard
- Gli ID numerici delle attivazioni, i codici servizio e gli ID paese che già usi
- Le stesse chiavi, limiti, prezzi, rimborsi e webhook dell’API REST
curl
BASE="https://smsgrab.com/api/stubs/handler_api.php?api_key=$SMSGRAB_API_KEY"
curl -s "$BASE&action=getBalance"
curl -s "$BASE&action=getNumber&service=tg&country=6"
curl -s "$BASE&action=getStatus&id=100000123"
curl -s "$BASE&action=setStatus&id=100000123&status=6"
Python
import os
import requests
BASE = "https://smsgrab.com/api/stubs/handler_api.php"
KEY = os.environ["SMSGRAB_API_KEY"]
def action(name: str, **params) -> str:
response = requests.get(BASE, params={"api_key": KEY, "action": name, **params}, timeout=30)
response.raise_for_status()
return response.text
print(action("getBalance"))
answer = action("getNumber", service="tg", country=6)
if answer.startswith("ACCESS_NUMBER:"):
_, activation_id, number = answer.split(":")
print(activation_id, number)
Tempo reale
Codici inviati al tuo server
Iscriviti agli eventi che ti interessano e li consegniamo al tuo endpoint HTTPS con una firma verificabile.
- Numero acquistato
- Codice ricevuto
- Attivazione completata
- Attivazione annullata
- Attivazione scaduta
- Addebito rimborsato
- Saldo in esaurimento
- Ogni consegna è firmata con HMAC-SHA256 e un timestamp
- Solo endpoint HTTPS pubblici, verificati prima di ogni consegna
- Consegne di test, cronologia di 30 giorni e riconsegna con un clic
Domande degli sviluppatori
Quanto costa l’API per sviluppatori?
Non c’è abbonamento. Ogni numero costa il suo prezzo all’ingrosso più un ricarico dell’80%, che scende al 70%, al 60% e al 50% quando la tua spesa sviluppatore in 30 giorni supera 100, 500 e 2.000 USD. Un numero non costa mai meno di 0,10 USD né più del suo prezzo nell’app.
Cosa succede se il codice non arriva?
Un numero dura 20 minuti. Se in quel tempo non arriva alcun codice, o lo annulli mentre è ancora in attesa, l’addebito viene rimborsato automaticamente sul tuo saldo.
Posso usare la mia integrazione sms-activate esistente?
Sì. Sostituisci l’indirizzo base con il nostro endpoint compatibile e usa la tua chiave SmsGrab. Azioni standard, risposte e ID numerici restano gli stessi.
Quali sono i limiti di frequenza?
Per impostazione predefinita ogni chiave può fare 600 richieste e 60 acquisti al minuto, tutte le chiavi di un account insieme 3.000 richieste al minuto, e fino a 100 numeri possono attendere un codice contemporaneamente.
Come tengo al sicuro la mia chiave?
Tieni le chiavi solo sui tuoi server, dai a ogni app la sua chiave, limitala agli indirizzi dei tuoi server e imposta un limite di spesa giornaliero. Se una chiave potrebbe essere trapelata, ruotala o revocala dal tuo account.
L’app e l’API condividono lo stesso saldo?
Sì. L’API usa il saldo del tuo account SmsGrab, e ogni acquisto e rimborso compare nel tuo portafoglio come gli altri.
Trovi altre risposte nel centro assistenza