JSON · HTTPS · Bearerキー
SMS APIで認証コードの受信とSMS送信をまとめて
TODAY SMS APIは、使い捨て番号で認証コードを受信するSMS認証APIと、227か国へSMSを送るSMS送信APIを、1つのAPIキーとひとつの残高で使える開発者向けAPIです。リクエストとレスポンスはすべてJSONで、料金と返金ルールはWebサイトと同じです。
$ curl -X POST https://today-sms.com/api/v1/numbers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"app":"telegram","country":"indonesia"}'
{
"id": "N-7K2M-QX4P-9D3A",
"phone": "+6281234567890",
"price": "0.4515",
"status": "waiting",
"expires_at": "2026-10-18T09:20:00.000Z"
}
$ curl https://today-sms.com/api/v1/numbers/N-7K2M-QX4P-9D3A \
-H "Authorization: Bearer YOUR_API_KEY"
{
"id": "N-7K2M-QX4P-9D3A",
"status": "received",
"sms": [
{ "code": "482913", "text": "Your code is 482913", "at": "2026-10-18T09:02:11.000Z" }
]
}
$ curl -X POST https://today-sms.com/api/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to":["+14155550100","+447700900123"],"text":"Your code is 482913"}'
{
"id": "m_7Q2K9X",
"status": "queued",
"recipients": 2,
"parts": 1,
"encoding": "GSM-7",
"cost": "0.0136"
}
$ curl https://today-sms.com/api/v1/messages/m_7Q2K9X \
-H "Authorization: Bearer YOUR_API_KEY"
- 1分あたり300回
- 受信と送信は同じキー
- 失敗・未受信は残高に返金
- 12の暗号通貨方法でチャージ
SMS APIでできること
SMS認証API
アプリと国を選んで番号を購入し、状態を照会して認証コードを受け取ります。SMSが届かなければ、時間切れの時点で全額が残高に戻ります。
SMS送信API
最大1,000人の宛先と本文を一度に送り、宛先別の配信レポートを受け取れます。予約時刻を入れると、その時刻に送信します。
料金と在庫のAPI
アプリ別の国と料金、番号の数、国別のSMS 1通あたりの料金をAPIで取得し、ご自身のサービス画面にそのまま使えます。
ひとつの残高
受信と送信は同じ残高を使います。残高はUSDTでチャージし、APIでいつでも確認できます。
メソッド一覧
ドキュメント全体| メソッド | 内容 |
|---|---|
| GET/balance | 残高の確認 |
| GET/apps | アプリ一覧 |
| GET/prices?app=telegram | アプリ別の国と料金 |
| POST/numbers | 番号の購入 |
| GET/numbers/{id} | 番号の状態とSMS |
| POST/numbers/{id}/cancel | 番号のキャンセル |
| POST/numbers/{id}/finish | 番号の終了 |
| GET/messages/prices | 国別SMS料金 |
| POST/messages | SMS送信 |
| GET/messages/{id} | 送信状態と配信レポート |
| POST/messages/{id}/cancel | 予約送信のキャンセル |
SMS APIとは?
SMS APIは、ご自身のプログラムからHTTPリクエストでSMSを受信したり送信したりできる連携の窓口です。人がWeb画面で操作していたことをコードが代わりに行うので、登録テストの自動化、認証コードの送信、注文の通知など、繰り返しの作業を人の手を使わずに処理できます。
TODAY SMS APIは2つの機能をまとめて提供します。1つは使い捨て番号でアプリの認証コードを受信するSMS認証API(SMS activation API)、もう1つは世界中の携帯電話へSMSを送るSMS送信APIです。2つのAPIは同じURL、同じAPIキー、同じ残高を使うので、別々に登録したりチャージしたりする必要はありません。
SMS認証APIはどう使いますか?
手順は4ステップです。GET /appsでアプリコードを選び、GET /prices?app=コードで国と料金を確認します。POST /numbersで番号を購入すると番号とidが返り、GET /numbers/{id}を数秒ごとに呼び出して認証コードが届いたかを確認します。コードを受け取ったら、POST /numbers/{id}/finishで閉じます。
番号は20分間SMSを待ち、その間に同じ番号へ届くSMSに追加費用はかかりません。SMSが届かなければ時間切れの時点で全額が残高に戻り、何も届いていなければ購入から120秒後以降にPOST /numbers/{id}/cancelでご自身でキャンセルできます。アプリ認証の自動化や大量の仮想電話番号APIが必要なときは、この流れをそのまま繰り返せば大丈夫です。
SMS送信APIはどう使いますか?
POST /messagesに宛先の一覧(to)と本文(text)を送ると、メッセージid、宛先の数、通数、合計費用が返ります。宛先は+と国番号が付いた国際形式で入れ、1回のリクエストで最大1,000人まで入れられます。予約する場合は、atにUTCの時刻を入れます。
送信後は、GET /messages/{id}で宛先別の配信レポートを確認します。状態はpending、sent、delivered、failedの4つで、failedで終わった通数分の金額はrefundedに加算されて残高に戻ります。まだ送っていない予約送信は、POST /messages/{id}/cancelでキャンセルします。
認証コード(OTP)を送るときも同じメソッドを使います。コード1件が1通として計算され、別途の認証料金はかかりません。国別の1通あたりの料金はGET /messages/pricesで取得して、ご自身の費用計算に使えます。
安いSMS APIを選ぶには何を見ればいいですか?
料金表の1通あたりの料金とあわせて、実際に支払う合計額をご確認ください。TODAY SMSは月額料金なしで送った通数分だけ差し引かれ、失敗した通数分と受信できなかった認証コードは残高にお返しします。
次に、キー管理と制限について見ていきます。アカウントごとに1つのAPIキーを取得でき、いつでも新しいキーを作成できます。新しいキーを作成すると、古いキーはすぐにブロックされます。リクエストは1分あたり300まで許可されており、ほとんどの自動化に十分です。最後に、支払いについて見ていきます。カードなしでUSDT、USDC、BTCを含む12の暗号通貨でトップアップできるため、どの国からでもすぐに始められます。
APIキーはどうやって取得しますか?
アカウントを作って初回チャージが反映されると、APIキーページでキーを作成できます。キーは作成時に一度だけ表示されるので、安全な場所に保存してください。リクエストごとにAuthorization: Bearer キーのヘッダーで送れば大丈夫です。
キーが漏れたと思われる場合は、APIキーページで新しいキーを作成してください。以前のキーはすぐに使えなくなります。キーを持つ人はご自身の残高で番号を購入したりSMSを送ったりできるため、ブラウザのコードや公開リポジトリには入れないでください。
今すぐSMS APIを連携してみましょう
登録はトークン1つで完了します。初回チャージが反映されたらAPIキーを作成し、ドキュメントのサンプルをそのまま貼り付けて、最初のリクエストを送ってみてください。