Entwickler-API

Automatisieren Sie Verifizierungen im großen Stil

Die SNSPhone-API ermöglicht es Ihren eigenen Tools, US-Non-VoIP-Nummern zu bestellen, SMS-Codes zu lesen und Vermietungen zu verwalten. Zwei Formate: eine REST-API mit JSON und das gängige SMS-Aktivierungsformat für bestehende Skripte.

Schnellstart

Basis-URL https://snsphone.com/api/v1. Erstellen Sie einen Schlüssel auf der API-Seite der Konsole und senden Sie ihn als Authorization: Bearer spk_... (oder ein Schlüsselfeld). Alle Nummern sind US-Non-VoIP. Geldbeträge sind USD-Strings mit 2 Dezimalstellen, Zeiten sind ISO 8601 UTC, 300 Anfragen pro Minute pro Schlüssel. Preise Stand 2026-11-03.

Python

import os, time, requests

API = "https://snsphone.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSPHONE_KEY']}"}

order = requests.post(f"{API}/orders", headers=H, data={"service": "google"}).json()["order"]
print("Use this US number:", order["phone"])

while True:
    o = requests.get(f"{API}/orders/{order['id']}", headers=H).json()["order"]
    if o["code"] or o["status"] in ("refunded", "canceled"):
        break
    time.sleep(4)
print("Code:", o["code"])

Node.js

const API = "https://snsphone.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSPHONE_KEY}` };

const { order } = await fetch(`${API}/orders`, {
  method: "POST", headers: H, body: new URLSearchParams({ service: "discord" }),
}).then((r) => r.json());
console.log("Use this US number:", order.phone);

let o = order;
while (!o.code && !["refunded", "canceled"].includes(o.status)) {
  await new Promise((r) => setTimeout(r, 4000));
  ({ order: o } = await fetch(`${API}/orders/${order.id}`, { headers: H }).then((r) => r.json()));
}
console.log("Code:", o.code);

Katalog

GET/services

Jeder Servicecode mit seinem Namen, Kategorie, Verifizierungspreis und Mietperioden. Kein Schlüssel benötigt.

Öffentlich, kein Schlüssel.

curl "https://snsphone.com/api/v1/services"
{"country":"us","services":[{"code":"whatsapp","name":"WhatsApp","category":"Messaging","verification":"0.90","rentals":[]},{"code":"telegram","name":"Telegram","verification":"0.45","rentals":[{"days":365,"period":"1 year","price":"37.44"}]}]}

GET/prices?service=telegram

Preise in USD, optional für einen Service. Kein Schlüssel benötigt.

Öffentlich, kein Schlüssel.

curl "https://snsphone.com/api/v1/prices?service=telegram"
{"country":"us","prices":[{"service":"telegram","type":"verification","days":null,"price":"0.45"},{"service":"telegram","type":"rental","days":365,"price":"37.44"}]}

GET/balance

Ihr Guthaben in USD.

Benötigt Ihren API-Schlüssel.

curl "https://snsphone.com/api/v1/balance" \
  -H "Authorization: Bearer $KEY"
{"balance":"25.00","currency":"USD"}

Verifizierungen

POST/orders

Kauft eine Verifizierung (201). Gibt die US-Nummer und die Zeit zurück, zu der das 20-Minuten-Fenster endet.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/orders" \
  -H "Authorization: Bearer $KEY" \
  -d "service=whatsapp"
{"order":{"id":"VR-7K2M9QX4PB","service":"whatsapp","country":"us","phone":"+14155550142","number":"4155550142","status":"waiting","code":null,"expires_at":"2026-11-03T12:20:00.000Z"},"window_minutes":20}

GET/orders/VR-7K2M9QX4PB

Eine Verifizierung mit ihrem Status und jedem empfangenen Code. Status: waiting, received, finished, refunded, canceled.

Benötigt Ihren API-Schlüssel.

curl "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB" \
  -H "Authorization: Bearer $KEY"
{"order":{"id":"VR-7K2M9QX4PB","status":"received","code":"482913","sms":"Your WhatsApp code is 482913"}}

GET/orders?status=open

Ihre offenen Verifizierungen (status=all für die letzten 100).

Benötigt Ihren API-Schlüssel.

curl "https://snsphone.com/api/v1/orders?status=open" \
  -H "Authorization: Bearer $KEY"
{"orders":[...]}

POST/orders/VR-7K2M9QX4PB/resend

Fordert einen weiteren Code auf derselben Nummer an, nach dem ersten Code und während das Fenster offen ist. Keine zusätzliche Gebühr.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/resend" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/VR-7K2M9QX4PB/finish

Schließt eine Verifizierung ab, die ihren Code erhalten hat.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/finish" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"finished"}}

POST/orders/VR-7K2M9QX4PB/cancel

Bricht ab, bevor ein Code eintrifft. Der volle Preis geht zurück auf Ihr Guthaben.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/cancel" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"canceled","refunded":"0.90"}}

Mietnummern

POST/rentals

Mietet eine US-Nummer für einen Service und eine Periode (201). days ist optional, wenn der Service eine Periode hat.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/rentals" \
  -H "Authorization: Bearer $KEY" \
  -d "service=telegram&days=365"
{"rental":{"id":"RN-4J8T2W6QHM","service":"telegram","phone":"+13125550198","days":365,"period":"1 year","price":"37.44","status":"active","ends_at":"2027-11-03T12:00:00.000Z","messages":[]}}

GET/rentals?status=active

Ihre aktiven Vermietungen mit ihren neuesten Nachrichten (status=all für die letzten 100).

Benötigt Ihren API-Schlüssel.

curl "https://snsphone.com/api/v1/rentals?status=active" \
  -H "Authorization: Bearer $KEY"
{"rentals":[...]}

GET/rentals/RN-4J8T2W6QHM

Eine Vermietung mit jeder darauf empfangenen SMS.

Benötigt Ihren API-Schlüssel.

curl "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM" \
  -H "Authorization: Bearer $KEY"
{"rental":{"id":"RN-4J8T2W6QHM","status":"active","messages":[{"from":"Telegram","sms":"Telegram code: 57291","code":"57291","received_at":"2026-11-03T12:01:12.000Z"}]}}

POST/rentals/RN-4J8T2W6QHM/renew

Fügt eine weitere Periode zum gleichen Preis hinzu.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/renew" \
  -H "Authorization: Bearer $KEY"
{"rental":{"renewed":1,"ends_at":"2028-11-02T12:00:00.000Z"}}

POST/rentals/RN-4J8T2W6QHM/cancel

Bricht in den ersten 20 Minuten ab, während keine SMS eingegangen ist. Alles Bezahlte geht zurück auf Ihr Guthaben.

Benötigt Ihren API-Schlüssel.

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/cancel" \
  -H "Authorization: Bearer $KEY"
{"rental":{"status":"canceled","refunded":"37.44"}}

SMS-Aktivierungsformat

Für Tools, die bereits das gängige Aktivierungsformat sprechen. Eine URL, ein Aktionsfeld, Klartext-Antworten. Nur Verifizierungen.

https://snsphone.com/stubs/handler_api.php?api_key=KEY&action=ACTION
AktionZusätzliche FelderAntwortBedeutung
getBalancenoneACCESS_BALANCE:12.50Ihr Guthaben in USD.
getServicesListnone{"status":"success","services":[{"code":"whatsapp","name":"WhatsApp"}]}Servicecodes mit einem Verifizierungspreis (JSON).
getCountriesnone{"us":{"name":"United States","dial":"1"}}Nur die Vereinigten Staaten. country kann us, 187 sein oder weggelassen werden.
getPrices&service=whatsapp{"us":{"whatsapp":{"cost":0.9,"count":100}}}Preise in USD. Der Servicefilter ist optional.
getNumber&service=whatsapp&country=usACCESS_NUMBER:VR-7K2M9QX4PB:14155550142Kauft eine Verifizierung. Gibt die id und die Nummer mit der 1 davor zurück.
getStatus&id=VR-7K2M9QX4PBSTATUS_OK:482913STATUS_WAIT_CODE, STATUS_OK:<code>, STATUS_WAIT_RETRY:<last code> (ein weiterer Code angefordert), STATUS_CANCEL (abgebrochen oder erstattet).
setStatus&id=VR-7K2M9QX4PB&status=3ACCESS_RETRY_GETstatus=1 bereit (ACCESS_READY), 3 weiterer Code (ACCESS_RETRY_GET), 6 abschließen (ACCESS_ACTIVATION), 8 abbrechen mit voller Rückerstattung, wenn kein Code eingegangen ist (ACCESS_CANCEL).

Fehler

REST-Fehler kommen als {"error":{"code","message"}} mit diesen Statuscodes. Das Aktivierungsformat antwortet mit einem Klartextwort.

400Fehlendes oder ungültiges Feld (bad_json, bad_period).
401Kein Schlüssel oder falscher Schlüssel (no_key, bad_key).
402Nicht genug Guthaben (no_balance).
404Unbekannter Dienst, Auftrag, Vermietung oder Endpunkt, oder ein Produkt, das der Dienst nicht anbietet (not_sold).
409Derzeit nicht möglich (has_code, has_sms, too_late, not_ready, too_many_open, too_many_active, no_numbers).
429Mehr als 300 Anfragen pro Minute (rate_limited).
BAD_KEYFehlender oder falscher API-Schlüssel.
BAD_ACTIONUnbekannte Aktion.
BAD_SERVICEUnbekannter Dienstcode.
BAD_COUNTRYNicht die Vereinigten Staaten, oder der Dienst wird nur als Mietangebot verkauft.
NO_BALANCENicht genug Guthaben.
NO_NUMBERSDerzeit keine Nummer verfügbar. Bitte versuchen Sie es später noch einmal.
NO_ACTIVATIONUnbekannte ID oder nicht Ihre.
EARLY_CANCEL_DENIEDEin Code ist bereits eingegangen, daher kann der Vorgang nicht abgebrochen werden.
NO_ACTIVATIONSEs sind bereits 20 Verifizierungen offen.
TOO_MANY_REQUESTSMehr als 300 Anfragen pro Minute.

API-Fragen

Schlüssel, Limits und Abfragen, beantwortet.

Hat SNSPhone eine SMS-Verifizierungs-API?

Ja. Eine REST-API mit JSON unter /api/v1 für Dienste, Preise, Verifizierungen und Vermietungen, sowie das gängige SMS-Aktivierungsformat unter /stubs/handler_api.php.

Wie authentifiziere ich API-Anfragen?

Erstellen Sie einen Schlüssel auf der API-Seite der Konsole und senden Sie ihn als Authorization: Bearer spk_... oder als key-Feld. Schlüssel werden nur als Hash gespeichert und einmalig angezeigt.

Was sind die API-Ratenlimits?

300 Anfragen pro Minute pro Schlüssel, maximal 20 offene Verifizierungen und 20 aktive Vermietungen pro Konto.

Kosten API-Bestellungen mehr als Website-Bestellungen?

Nein. Die API verwendet dieselben Preise und dieselben Rückerstattungsregeln wie die Konsole.

Wie erfahre ich, wann der Code eingegangen ist?

Fragen Sie GET /orders/{id} alle paar Sekunden ab. Der Status ändert sich von waiting zu received und das code-Feld enthält die Ziffern.

Non-VoIP SMS-Verifizierungs-API: US-Nummern per REST | SNSPhone