開発者向けSmsNoKYC:スクリプト化できるSMS認証
認証ループ全体を1つのJSONインターフェースでスクリプト化できます。116か国、133サービス、400のキャリアルート、15,400件以上のリアルタイム価格が、わずかなエンドポイントの背後に用意されています:番号を割り当てる、受信コードを取得する、最大90日間レンタルを保持する、暗号資産で決済する。ここにAPIキーは存在しません——提示する認証情報はシードフレーズのみです。
スクリプト、パイプライン、自律エージェントのために設計
従来のOTPベンダーは、最初のリクエストを送る前に契約締結、コンプライアンス審査、月額最低利用料のコミットを求めます。SmsNoKYCはその順序を逆転させます。シードフレーズを保有し、Bitcoin、Monero、Ethereum、Litecoin、TRON、USDT、SOLなど8種類の暗号資産のいずれかで$25から残高をチャージし、既存のHTTPSクライアントからすぐに呼び出しを開始できます。課金は番号ごとに従量制で$0.01から、15,400件以上のライブ価格ポイントにわたります。
日々のエンドポイントは、CI内でサインアップフローを検証し、ヘッドレスブラウザやスクレイパー群にOTPコードを供給し、Telegramや WhatsApp のアカウントを7日から90日の専用レンタルで維持し、virtual・physical・premiumの3階層、400のキャリアルートを明示的に制御しつつ116か国にわたって検証を分散させます。AIエージェントも同一のカタログにネイティブMCPサーバー経由でアクセスでき、agentsページで解説の通り、ツールを使うモデルが独自の連携コードなしに番号を購入しコードを読み取れます。
認証
セッションはCookieベースです——発行やローテーションが必要なベアラーキーはありません。プログラムによるログインは3ステップです:
- シードフレーズを
/auth-api.phpにPOSTする - レスポンスに設定されたCookieを取得してください
- 以降のすべての呼び出しにそのCookieを添付してください
シードフレーズを有効なセッションと交換します。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| action | string | 必須 | "login" である必要があります |
| seed | string | 必須 | アカウントに紐づく16文字のシード(形式:AbC3-dEf4-gHj5-kLm6) |
ベースURL
すべてのエンドポイントは一つのURLパターンにぶら下がっています。
レスポンスは常にJSON形式で返されます。POSTボディは application/json または application/x-www-form-urlencoded のいずれでも送信できます。
レート制限
リクエスト量を管理する2つのルール:
| エンドポイント | 制限 | ウィンドウ |
|---|---|---|
| 認証 | 5回の試行 | 15分 |
| その他すべてのエンドポイント | 上限なし | — |
レート制限: ログインは15分あたり5回まで。他のエンドポイントには現時点で固定の上限はありませんが、継続的な乱用は上流で制限される場合があります。呼び出し間隔は常識的に空けてください。
エラー処理
すべてのエラーはerrorフィールドを含む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" | 必須パラメーターが指定されていません |
国一覧
現在在庫を保有するすべての国を一覧表示します — 直近の集計では116か国。公開エンドポイントで、セッションは不要です。
サービス一覧
1つの国のサービス一覧を、価格・在庫情報付きで取得します。country パラメータを省略すると、価格情報なしの133サービス全カタログを取得できます。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| 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回の認証用に番号を確保します。番号は20分間あなたのものとして保持され、その間にメッセージが届かなければ料金は自動的に残高へ返還されます。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | 国コード(例:us) |
| service_id | integer | 必須 | サービス一覧のサービス ID |
| operator_id | integer | 任意 | オペレーター一覧のオペレーター ID。デフォルトオペレーターを使用する場合は省略してください。 |
注文一覧
直近50件の注文を、番号と取得済みコードとともに返します。有効化がSMS待ちの間は、こちらをポーリングしてください。
注文ステータス: active — メッセージ待機中。completed — コード受信済み。cancelled — ユーザーによりキャンセル済み。refunded — 無応答タイムアウト後に自動返金済み。expired — 有効期限切れ。
レンタル価格を取得する
指定したオペレーターで、指定期間専用番号を保有する場合の料金を見積もります。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | 国コード |
| operator_id | integer | 必須 | オペレーター ID |
| duration | integer | 必須 | レンタル期間(日数):7、14、30、または 90 |
番号をレンタル
1つ以上の専用番号を確保します。各番号は7日から90日の全期間、あなただけのものとして留保され、あらゆるサービスからのSMSを無制限に受信できます。
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| country | string | 必須 | 国コード |
| operator_id | integer | 必須 | オペレーター ID |
| duration | integer | 必須 | 7、14、30、または90日間 |
| qty | integer | 任意 | レンタルする番号の数(1〜10、デフォルト:1) |
ユーザー情報を取得する
現在のセッションに紐づくアカウント情報を、残高も含めて返します。1回の呼び出しでログイン確認と残高確認を同時に行えます。
エンドツーエンドスクリプト
以下のスクリプトはPythonで一連の流れ全体を実行します——セッション作成、カタログ照会、購入、そしてコードが届くまでのポーリング:
開発者からのよくある質問
実装して公開する
ホームページでシードを取得し、暗号資産で$25以上をチャージすれば、最初の認証コードまであと5回のリクエストです。スクリプトではなくLLMで構築していますか?モデルをSmsNoKYC MCPサーバーに接続するか、AIエージェント統合ガイドに従ってください — 116か国133サービスの全カタログが1回のツール呼び出しになります。
リファレンスで解決しない疑問はヘルプセンターで補足し、SMS用語集が専門用語を解説し、ライブアクティビティではネットワークの動きをリアルタイムで確認できます。サインイン後はアプリ内チケットでサポートを受けられます。