Scegli una lingua

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)
201 Created
{
  "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.

  1. Crea un account

    Registrati con il tuo indirizzo email e verificalo. App e sito condividono lo stesso account.

  2. Crea una chiave API

    Scegli il suo accesso, limitala ai tuoi server e copia il segreto una volta.

  3. Acquista un numero

    Invia servizio e paese con POST. Ricevi subito il numero e il suo prezzo.

  4. 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

Ricarico sviluppatore in base alla spesa 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.

Ottieni una chiave API

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
Riferimento di compatibilità

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
Guida ai webhook
600richieste al minuto per chiave
60acquisti al minuto per chiave
100numeri in attesa contemporaneamente
30secondi di long polling
  • 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

Pronto ad automatizzare la verifica?

Crea una chiave nel tuo account e fai la tua prima chiamata in pochi minuti.