SMS認証API — SMSNoKYC
OTP認証を端から端まで自動化しましょう。190超の国で仮想番号を予約し、SMSコードを数秒で読み取り、長期の専用回線をレンタルし、あらゆる注文を単一のRESTインターフェースから操作できます——APIキー不要、KYC不要、暗号資産で支払い。
開発者がSMSNoKYC APIを選ぶ理由
SMSNoKYCは、匿名性、グローバルカバレッジ、予測可能な料金体系を必要とする開発者向けの最も柔軟なSMS認証APIです。エンタープライズ契約、月額最低料金、KYCアンケートによってアクセスを制限する旧来のSMS-OTPプロバイダーとは異なり、SMSNoKYCはあらゆるHTTPSクライアントで動作し、番号ごとに厳密に課金し、Bitcoin、Monero、Ethereum、USDT、USDC、Solana、Litecoin、XRP、TRON、Toncoinを含む20種類以上の暗号通貨を受け付けます。
典型的なユースケースには、大規模QA向けのアカウント登録自動化、ヘッドレスエージェントやCIボット向けのワンタイムパスワード取得、継続的インテグレーションにおける電話番号必須フローの検証、SMSを途切れなく受信する必要があるTelegramやWhatsAppアカウント向けの長期専用番号レンタル、そして明示的なオペレーター層制御(バーチャル、フィジカル、プレミアム)による190カ国以上にわたる地理分散認証の実現などが含まれます。
認証
APIはクッキーベースのセッション認証を使用しています。プログラムで認証するには:
- シードフレーズを使用して
/auth-api.phpに POST リクエストを送信してください - レスポンスからセッションクッキーを保存してください
- 以降のすべての API リクエストにクッキーを含めてください
シードフレーズで認証してセッションを確立してください。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| action | string | 必須 | "login" である必要があります |
| seed | string | 必須 | 16文字のアクセスシード(例:AbC3-dEf4-gHj5-kLm6) |
ベースURL
すべてのAPIエンドポイントは以下を基準とします:
すべてのレスポンスはJSON形式です。POSTエンドポイントはapplication/jsonとapplication/x-www-form-urlencodedの両方のリクエストボディを受け付けます。
レート制限
APIには以下のレート制限が適用されます:
| エンドポイント | 制限 | ウィンドウ |
|---|---|---|
| 認証 | 5回の試行 | 15分 |
| その他すべてのエンドポイント | 上限なし | — |
レート制限:認証は15分あたり5回までに制限されています。その他のエンドポイントは現在レート制限がありませんが、過剰な利用はスロットリングされる場合があります。適切なリクエスト間隔を使用してください。
エラー処理
すべてのエラーは<code>error</code>フィールドを含むJSONオブジェクトを返します:
| HTTP コード | 意味 |
|---|---|
| 200 | 成功(アプリケーションレベルのエラーはレスポンスボディをご確認ください) |
| 403 | CSRF トークンが無効です |
| 405 | HTTPメソッドが不正です(例:POSTのみのエンドポイントへのGETリクエスト) |
| 429 | レート制限を超えました |
よくあるアプリケーションレベルのエラー:
| エラー | 原因 |
|---|---|
"Login required" | セッションが期限切れ、または認証されていません |
"Insufficient balance" | 残高不足 — need および have フィールドを含みます |
"Service not available for this country" | 選択した国の在庫がないか、サービスが無効です |
"Missing country or service" | 必須パラメーターが指定されていません |
国一覧
仮想番号が利用可能なすべてのアクティブな国を返します。認証不要。
サービス一覧
特定の国で利用可能なサービスを料金・在庫情報とともに返します。国コードなしの場合は、料金なしで全サービスを返します。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 任意 | ISO 3166-1 alpha-2 国コード(例:us、gb、de) |
オペレーター一覧
特定の国で利用可能なオペレーター(通信会社)を返します。各オペレーターにはタイプと基本サービス料金への価格乗数があります。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | ISO 3166-1 alpha-2 国コード |
オペレータータイプ: virtual — VoIP番号、最安値、一部サービスでブロックされる場合があります。physical — 実際のSIMカード、成功率が高い。premium — 最速配信(約10秒)、最高の成功率。
番号を購入(SMS有効化)
1回限りの SMS 認証用に仮想番号を購入します。番号は20分間有効です。SMS を受信しなかった場合、残高は自動的に返金されます。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | 国コード(例:us) |
| service_id | integer | 必須 | サービス一覧のサービス ID |
| operator_id | integer | 任意 | オペレーター一覧のオペレーター ID。デフォルトオペレーターを使用する場合は省略してください。 |
注文一覧
電話番号と SMS コードを含む直近50件の注文を返します。アクティブな注文の受信 SMS コードを確認するには、このエンドポイントをポーリングしてください。
注文ステータス: active — SMSを待機中。completed — SMS受信済み。cancelled — ユーザーによりキャンセル。refunded — 自動返金済み(タイムアウト前にSMS未受信)。expired — タイムアウト。
レンタル価格を取得する
特定のオペレーターから指定期間、専用番号をレンタルする際の料金を取得します。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | 国コード |
| operator_id | integer | 必須 | オペレーター ID |
| duration | integer | 必須 | レンタル期間(日数):7、14、30、または 90 |
番号をレンタル
専用電話番号を1件以上レンタルできます。番号はレンタル期間中はあなただけのものとなり、受信SMSは無制限です。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | 国コード |
| operator_id | integer | 必須 | オペレーター ID |
| duration | integer | 必須 | 7、14、30、または90日間 |
| qty | integer | 任意 | レンタルする番号の数(1〜10、デフォルト:1) |
ユーザー情報を取得する
現在のユーザーのアカウント情報と残高を返します。認証ステータスと利用可能残高の確認にご使用ください。
完全なワークフロー例
以下は、認証・サービス検索・番号購入・SMS コードのポーリングを行う Python の完全サンプルです: