面向开发者的 SmsNoKYC:可脚本化的短信验证
通过一个JSON接口脚本化整个验证流程。116个国家、133项服务、400条运营商线路以及超过15,400个实时价格,都由为数不多的几个接口驱动:分配号码、捕获接收到的验证码、持有租赁最长90天、以加密货币结算。这里没有API密钥——助记词是你唯一需要提供的凭证。
专为脚本、流水线和自主智能体设计
传统OTP服务商要求在您发出第一个请求前签署合同、通过合规审查并承诺月度最低消费。SmsNoKYC彻底颠覆这一顺序:持有一个助记词,用比特币、门罗币、以太坊、USDT、莱特币、波场币、SOL等8种加密货币中的任意一种充值最低$25,即可从您现有的任何HTTPS客户端开始调用。计费按号码计量,起价$0.01,覆盖15,400多个实时价格节点。
日常使用中,这些接口可在CI流程内验证注册流程、向无头浏览器和爬虫集群提供OTP验证码、通过7至90天的专属租用保持Telegram或WhatsApp账号活跃,并在116个国家范围内进行验证,可精确控制虚拟、实体、高级三档共400条运营商线路。AI智能体可通过原生MCP服务器访问同一目录(详见agents页面),让具备工具调用能力的模型无需任何定制粘合代码即可购买号码并读取验证码。
身份验证
会话基于Cookie——没有需要生成或轮换的持有者密钥。程序化登录只需三步:
- 将你的助记词 POST 到
/auth-api.php - 捕获响应中设置的 Cookie
- 在后续每次调用中都附带该 Cookie
用你的助记词换取一个实时会话。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| action | string | 必填 | 必须为 "login" |
| seed | string | 必填 | 与你账户绑定的16位字符助记词(格式为 AbC3-dEf4-gHj5-kLm6) |
基础 URL
所有接口均遵循同一URL格式:
所有响应均以 JSON 格式返回。POST 请求体可以是 application/json 或 application/x-www-form-urlencoded 格式。
速率限制
请求量受两条规则约束:
| 端点 | 限制 | 时间窗口 |
|---|---|---|
| 身份验证 | 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个。开放接口,无需会话验证。
获取服务列表
获取某一国家的服务清单,包含实时价格与库存。不填写国家参数则返回不带定价的完整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激活)
为单次验证预留一个号码。该号码在20分钟内归你使用;若在此期间未收到短信,费用会自动退回你的余额。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| country | string | 必填 | 国家代码(例如 us) |
| service_id | integer | 必填 | 来自服务列表的服务 ID |
| operator_id | integer | 可选 | 来自运营商列表的运营商 ID。留空使用默认运营商。 |
列出订单
返回你最近50笔订单及其号码和已捕获的验证码。等待某次激活收到短信时,请轮询此接口。
订单状态:active(进行中)——仍在等待短信。completed(已完成)——验证码已获取。cancelled(已取消)——由您关闭。refunded(已退款)——静默超时后自动退还。expired(已过期)——时间窗口已结束。
获取租赁价格
报出在指定运营商上、以选定期限持有专属号码的费用。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| country | string | 必填 | 国家代码 |
| operator_id | integer | 必填 | 运营商 ID |
| duration | integer | 必填 | 租用天数:7、14、30 或 90 |
租赁号码
锁定一个或多个专属号码。每个号码在整个租期(7至90天)内均专属于您,可无限接收来自任何服务的短信。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| country | string | 必填 | 国家代码 |
| operator_id | integer | 必填 | 运营商 ID |
| duration | integer | 必填 | 7、14、30 或 90 天 |
| qty | integer | 可选 | 要租用的号码数量(1–10,默认:1) |
获取用户信息
返回当前会话所属的账户信息,包含余额。一次调用即可同时完成登录检查和余额检查。
端到端脚本
下面的脚本用Python完成整个流程——建立会话、查询目录、下单购买,然后轮询直至验证码到达:
开发者常见问题解答
上线部署
在首页生成一个助记词,充值$25以上的加密货币,只需五次请求即可获得第一条验证码。使用大语言模型而非脚本进行开发?将您的模型指向SmsNoKYC MCP服务器,或参照AI智能体集成指南——覆盖116个国家、133项服务的完整目录,将变成一次工具调用。
参考文档未涵盖的内容可在帮助中心找到,短信术语表解释了专业术语,实时动态展示了网络的实时运行情况。登录后,支持服务通过应用内工单提供。