208 アプリ154 国

API v12026-11-04

認証番号の注文とSMSコード読み取りのためのJSON API。

ベースURL https://snsverify.com/api/v1

このページのすべてのパスは、このURLを基準にしています。金額は米ドルで、小数点以下2桁の文字列として表されます。時間はUTC(ISO 8601)です。

2つの形式、1つのアカウント

このページでは、JSONを使用したREST APIについて説明しています。ツールが既に一般的なSMSアクティベーション形式(handler_api.phpとaction=パラメータ)に対応している場合は、SMSアクティベーションAPIを使用してください。両者はAPIキー、価格、未完了のアクティベーション、返金を共有します。

概要

SMS検証APIを使用すると、独自のソフトウェアがアプリ用の電話番号を購入し、検証SMSを待ってコードを読み取ることができます。ウェブサイトを開く必要はありません。各注文は1つのアクティベーションです:1つのサービス、1つの国、1つの番号、そして20分のウィンドウです。コードがない注文は、ウィンドウ終了時に全額返金されます。

リクエストは読み取りにGETを使用し、アクションにPOSTを使用します。POSTボディはフォームフィールドまたはJSONです。成功した回答はJSONオブジェクトです。エラーはどこでも同じ形です: {"error":{"code":"...","message":"..."}}.

認証方法

コンソールのAPIキーでAPIキーを作成します。一度だけ表示されます。スクランブルされたコピーのみを保持します。ベアラートークンとしてAuthorizationヘッダーで送信します。ヘッダーを設定できないツールの場合は、キーパラメータも受け入れます。

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)。
4291分間に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);

レート制限

キーごとに1分間に300リクエスト、アカウントごとに最大20のオープンな注文です。3〜5秒ごとに注文をポーリングするだけで十分です:ほとんどのコードは1分以内に到着します。

注文ステータス

  • waiting 番号はオープンで、まだコードが到着していません。
  • received 少なくとも1つのコードが到着しました。ウィンドウが開いている間に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

1つの注文とそのステータス、および受信したすべてのコード。ステータス: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"}}
SMS検証API:WhatsApp、Telegram、Google番号のためのREST JSON | SNSVerify