208 個應用程式154 個國家

API 第一版2026-11-04

用於訂購驗證號碼與讀取簡訊驗證碼的 JSON API 介面。

基礎網址 https://snsverify.com/api/v1

本頁所有路徑皆以此為基準。金額以美元計,為帶兩位小數的字串,時間為UTC(ISO 8601格式)。

兩種格式,一個帳戶

本頁面描述了使用 JSON 的 REST API。如果您的工具已經支援常見的簡訊驗證格式(handler_api.php 帶有 action= 參數),請使用簡訊驗證 API。兩者共享您的 API 密鑰、價格、未完成的驗證和退款。

概覽

簡訊驗證API讓您的軟體能直接購買應用程式所需的電話號碼,等待驗證簡訊並讀取驗證碼,無需開啟網站。每筆訂單即為一次驗證:一項服務、一個國家、一組號碼及20分鐘的有效期。未收到驗證碼的訂單將於有效期結束時全額退款。

讀取使用GET請求,操作使用POST請求。POST內容可為表單欄位或JSON。成功回應為JSON物件;錯誤回應格式統一: {"error":{"code":"...","message":"..."}}.

身份驗證

請於控制台的API金鑰頁面建立金鑰。金鑰僅顯示一次;我們僅保存加密副本。請透過Authorization標頭以Bearer權杖形式傳送。無法設定標頭的工具亦可使用key參數傳遞。

Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

建立新金鑰將立即替換舊金鑰。服務、國家及價格端點無需金鑰即可查詢。

錯誤代碼

HTTP狀態碼含義
400缺少或錯誤的欄位(missing_filter、bad_json)。
401未提供金鑰或金鑰錯誤(no_key、bad_key)。
402餘額不足(no_balance)。
404未知的服務、國家、訂單或端點。
409訂單當前無法執行該操作(has_code、not_ready、too_many_open、no_numbers)。
429每分鐘超過300次請求(rate_limited)。

快速開始

使用curl訂購英國WhatsApp號碼,然後每隔幾秒查詢訂單狀態直至取得驗證碼。

curl -X POST https://snsverify.com/api/v1/orders \
  -H "Authorization: Bearer $SNSVERIFY_KEY" \
  -d service=whatsapp -d country=gb

Python

import os, time, requests

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

order = requests.post(f"{API}/orders", headers=H,
    data={"service": "whatsapp", "country": "gb"}).json()["order"]
print("Use this 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://snsverify.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSVERIFY_KEY}` };

const { order } = await fetch(`${API}/orders`, {
  method: "POST", headers: H,
  body: new URLSearchParams({ service: "telegram", country: "nl" }),
}).then((r) => r.json());
console.log("Use this 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);

速率限制

每個金鑰每分鐘限300次請求,每個帳戶最多20筆未完成訂單。每3至5秒查詢一次訂單狀態已足夠:多數驗證碼於一分鐘內送達。

訂單狀態

  • waiting 號碼已啟用,尚未收到驗證碼。
  • received 已收到至少一組驗證碼;在有效期內可透過resend要求再次發送。
  • finished 收到驗證碼後由您手動關閉,或於有效期結束時自動關閉。
  • refunded 有效期結束未收到驗證碼;全額款項已退回帳戶餘額。
  • canceled 您在收到驗證碼前取消;全額款項已退回帳戶餘額。

端點

GET/services

列出所有服務代碼及其名稱、類別與最低價格。無需金鑰。

{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}

GET/countries

列出所有國家代碼(ISO小寫格式)及其名稱與國際冠碼。無需金鑰。

{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}

GET/prices?service=whatsapp&country=gb

以美元計價。可依服務、國家或兩者篩選。無需金鑰。

{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}

GET/balance

您的帳戶餘額(美元)。

{"balance":"25.00","currency":"USD"}

POST/orders

購買一組號碼(HTTP 201)。回傳包含電話號碼及有效期截止時間的訂單資訊。

請求內容: service=whatsapp&country=gb

{"order":{"id":"AC-7K2M9QX4PB","service":"whatsapp","country":"gb","phone":"+447700900123","price":"0.94","status":"waiting","code":null,"expires_at":"2026-11-04T12:20:00.000Z"},"window_minutes":20}

GET/orders/AC-7K2M9QX4PB

單筆訂單狀態及其所有已收驗證碼。狀態包含:waiting、received、finished、refunded、canceled。

{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}

GET/orders?status=open

您的未完成訂單;status=all可查詢最近100筆。

{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}

POST/orders/AC-7K2M9QX4PB/resend

於收到首組驗證碼後,在有效期內要求對同號碼再次發送驗證碼。不額外收費。

{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/AC-7K2M9QX4PB/finish

關閉已收到驗證碼的訂單。

{"order":{"status":"finished"}}

POST/orders/AC-7K2M9QX4PB/cancel

於驗證碼送達前取消。全額款項退回帳戶餘額。

{"order":{"status":"canceled","refunded":"0.94"}}
簡訊驗證API:WhatsApp、Telegram及Google號碼的REST JSON介面 | SNSVerify