JSON · HTTPS · Bearer 密钥

用短信API一次搞定接收验证码和发送短信

TODAY SMS API 是面向开发者的 API,用一个 API 密钥、一份余额同时使用通过一次性号码接收验证码的短信验证 API,以及向 227 个国家发送短信的发送 API。请求和响应全部为 JSON,价格和退款规则与网站相同。

today-sms.com/api/v1
$ 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" }
  ]
}
  • 每分钟 300 次
  • 接收 · 发送同一密钥
  • 失败 · 未收到退回余额
  • 支持12种加密货币充值

短信API能做什么

短信验证 API

选择应用和国家购买号码,查询状态即可获得验证码。收不到短信时,到期后全额退回余额。

发送短信 API

一次发送最多 1,000 位收件人和文案,并获得按收件人的送达报告。填写定时时间即在该时间发送。

价格和库存 API

通过 API 获取各应用的国家和价格、号码数量以及各国家单条短信价格,可直接用在您的服务页面上。

一份余额

接收和发送共用同一份余额。余额用 USDT 充值,可随时通过 API 查询。

方法一览

方法功能
GET/balance查询余额
GET/apps应用列表
GET/prices?app=telegram按应用的国家和价格
POST/numbers购买号码
GET/numbers/{id}号码状态和短信
POST/numbers/{id}/cancel取消号码
POST/numbers/{id}/finish完成号码
GET/messages/prices各国家短信价格
POST/messages发送短信
GET/messages/{id}发送状态和送达报告
POST/messages/{id}/cancel取消定时发送

什么是短信API?

短信API是让您的程序通过 HTTP 请求接收或发送短信的接口。原本由人在网页上点击完成的工作改由代码来做,注册测试自动化、验证码发送、订单通知等重复工作都能无需人工完成。

TODAY SMS API 同时提供两种功能。一是用一次性号码接收应用验证码的短信验证 API (SMS activation API),二是向全球手机发送短信的发送短信 API。两个 API 使用同一地址、同一 API 密钥和同一份余额,无需分别注册或分别充值。

短信验证 API 怎么用?

共分四步。用 GET /apps 选择应用代码,用 GET /prices?app=应用代码 查看国家和价格。用 POST /numbers 购买号码,会返回号码和 id,每隔几秒调用 GET /numbers/{id} 确认验证码是否已到。收到验证码后用 POST /numbers/{id}/finish 关闭。

号码在 20 分钟内等待短信,期间同一号码收到的短信不另外收费。收不到短信时,到期后全额退回余额;如果什么都没收到,购买 120 秒后可用 POST /numbers/{id}/cancel 手动取消。需要应用验证自动化或批量虚拟号码 API 时,按这个流程重复即可。

发送短信 API 怎么用?

向 POST /messages 发送收件人列表 (to) 和文案 (text),会返回消息 id、收件人数、条数和总费用。收件人按带 + 和区号的国际格式填写,单次请求最多 1,000 人。需要定时发送时,在 at 中填写 UTC 时间。

发送后用 GET /messages/{id} 查看按收件人的送达报告。状态分为 pending、sent、delivered、failed 四种,以 failed 结束的条目金额计入 refunded 并退回余额。尚未发送的定时任务可用 POST /messages/{id}/cancel 取消。

发送验证码 (OTP) 时也用同一个方法。一个验证码按一条计费,没有单独的验证费用,各国家单条价格可通过 GET /messages/prices 获取,用于您自己的费用计算。

挑选便宜的短信API要看什么?

除了价格表上的单条价格,还要看实际支付的总额。TODAY SMS 没有月费,只按发送条数扣费,失败的条目和未收到的验证码都会退回余额。

接下来了解密钥管理与限额。每个账户拥有一个API密钥,可随时创建新密钥(旧密钥立即失效)。每分钟允许300次请求,满足多数自动化需求。最后是支付方式:支持包括USDT、USDC和BTC在内的12种加密货币充值,无需银行卡,全球用户均可即时开通服务。

如何获取 API 密钥?

创建账户并在首次充值到账后,即可在 API 密钥页面创建密钥。密钥只在创建时显示一次,请保存在安全的地方。每次请求通过 Authorization: Bearer 密钥 请求头发送即可。

如果认为密钥已泄露,请在 API 密钥页面生成新密钥,旧密钥会立即失效。持有密钥的人可以用您的余额购买号码或发送短信,请不要把密钥放在浏览器代码或公开仓库中。

现在就接入短信API吧

注册只需一个令牌。首次充值到账后创建 API 密钥,直接粘贴文档中的示例发送第一个请求吧。