API 文档

实时运营商查询 API:一个手机号,一次请求,同一次响应返回

核心是单号实时查询:向 /api/v1/check 提交一个手机号并带上 service_type=carrier。运营商结果在同一次响应里返回,不需要轮询,也不需要回调。同一个 API Key 还能一次提交多个号码,同步返回结果。

API 接口POST
/api/v1/check
X-API-Key 请求头code · msg · data
最后更新:2026 年 9 月 18 日service_type=carrier读取 data.extra
API 速览主接口是单号实时检测;多号、异步批量和余额接口共用同一份 API Key 约定,并统一使用 code / msg / data 响应结构。

快速接入

  1. 1.在设置中创建 API Key。
  2. 2.通过 GET /api/v1/balance 查询当前余额。
  3. 3.向 /api/v1/check 提交一个手机号,或向 /api/v1/batch-check 一次提交最多 100 个。
  4. 4.读取同步响应中的 data.extra。

认证

使用在设置中创建的 API Key,并随每次请求一起发送。

X-API-Key: sk_your_api_key
妥善保管你的 API Key
请始终从你的服务端发起请求;持有该 Key 的任何人都可以消耗你的账户余额。

产品与返回字段

carrier

原始归属运营商查询

查一个号码最初被分配给哪家运营商,并返回线路类型与归属地。

01

单号检测

curl -X POST "https://carrierlookup.online/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "carrier", "identifier": "+14155552671" }'
已返回结果
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "carrier",
    "identifier": "+14155552671",
    "registered": true,
    "extra": {
      "carrier": "T-Mobile USA",
      "number_type": "mobile",
      "country_code": "US",
      "region": "California",
      "city": "San Francisco"
    }
  }
}
无分配数据
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "carrier",
    "identifier": "+14155550000",
    "registered": false,
    "extra": {
      "carrier": "",
      "number_type": "",
      "country_code": "",
      "region": "",
      "city": ""
    }
  }
}
registeredboolean该号码是否查到了号段分配数据。为 false 表示这次查询没有返回任何内容。
extra.carrierstring号码最初被分配给的运营商。不是携号转网后的当前运营商。
extra.number_typestring上游返回的线路类型;上游未给时为空。
extra.country_codestring号码所属的 ISO 国家代码。
extra.regionstring号段归属地区;上游未提供时为空。
extra.citystring号段归属城市;上游未提供时为空。
02

多号检测

计费:按手机号计算

请求中的每个手机号独立计费,单次最多提交 100 个手机号。只有成功完成检测的手机号才会消耗余额。如果余额不足以覆盖整批手机号的最高可能费用,请求会在处理前直接拒绝。

一次请求最多提交 100 个手机号,结果按提交顺序返回。

curl -X POST "https://carrierlookup.online/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "carrier", "identifiers": ["+14155552671", "+14155550000"] }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "carrier",
    "total": 2,
    "succeeded": 1,
    "failed": 1,
    "results": [
      {
        "identifier": "+14155552671",
        "exists": true,
        "registered": true,
        "extra": {
          "carrier": "T-Mobile USA",
          "number_type": "mobile",
          "country_code": "US",
          "region": "California",
          "city": "San Francisco"
        }
      },
      {
        "identifier": "+14155550000",
        "exists": false
      }
    ]
  }
}
existsboolean该手机号是否得到了结果。为 false 表示手机号格式错误、结果无法判定或本次检测失败;为 false 时,以下字段均不出现。
registeredboolean该号码是否查到了号段分配数据。仅在 exists 为 true 时出现,含义与单号查询一致。
extra.carrierstring号码最初被分配给的运营商。不是携号转网后的当前运营商。
extra.number_typestring上游返回的线路类型;上游未给时为空。
extra.country_codestring号码所属的 ISO 国家代码。
extra.regionstring号段归属地区;上游未提供时为空。
extra.citystring号段归属城市;上游未提供时为空。

并发、超时与重试方式

运营商查询采用同步响应,请根据返回码决定接收结果或稍后重试。

  • 每个用户最多 5 个请求在处理单号检测与多号检测共用这个上限,一次多号请求算一个请求,与手机号数量无关。此外每个账号同时只能跑 1 个多号检测,第二个会被拒绝直到前一个结束。达到任一上限都会立即返回业务码 42901 并附带 Retry-After 响应头,不扣费,等已有请求结束后再提交即可。
  • 单号 60 秒,多号 300 秒超过后返回业务码 50400,不计费;多号超时是整批失败,不返回部分结果,已扣费用全额退回。
  • 多号单次最多 100 个手机号结果按提交顺序、同等长度返回。每个账号同时只跑 1 个多号检测,上一批返回后再提交下一批。

错误码

40000不支持的 service_type 或字段冲突
40001JSON 请求体无效
40002手机号无效
40100缺少或无效的 API Key
40200余额不足
42200暂时无法判定该手机号。不返回 data,且本次不计费
42900次数配额已用完,或未完成订单数超限
429015 个在处理的请求名额已满,或该账号已有一个多号检测在跑;已有请求结束后可再次提交,拒绝请求不扣余额,响应带 Retry-After
50303平台此刻处理中的检测已达上限,不扣费;按 Retry-After 的秒数等待后重新提交同一请求
50400本次检测未在超时预算内完成,不计费,可直接重试;批量超时为整批失败并全额退款
50300检测服务维护中

异步批量任务

上传号码文件后立刻拿到任务号,之后按任务号查询状态;成功后会给出结果压缩包的下载链接。

  • global_carrier_batch全球运营商查询每个任务 1,000–100,000 个手机号$0.001 / 手机号

1. 提交文件

curl -X POST "https://carrierlookup.online/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=global_carrier_batch \
  -F country=US \
  -F file=@numbers.txt
响应:任务已创建(status 为 processing)
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "global_carrier_batch",
    "status": "processing",
    "country": "US",
    "total": 1000,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

2. 查询任务

curl "https://carrierlookup.online/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
响应:任务已完成(成功时带 result_url)
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "global_carrier_batch",
    "status": "success",
    "country": "US",
    "total": 1000,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.zip",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
  • 一行一个手机号。上传 .txt 或 .csv,每行一个 E.164 格式的手机号。随文件提交 `country`:它用于补全没带国家码的号码,文件也按它校验。
  • 不提供逐号进度。status 只有 processing、success、failed 三种。大名单需要一段时间,轮询不要快于 30 秒一次。
  • 计费方式。提交时按整份文件冻结。任务结束后只对真正检测到结果的手机号收费,其余退回;任务失败则全额退款。
  • 结果文件有时效。下载链接是按需生成的,指向一个有时效的文件,请在任务完成后尽快下载。

准备好开始接入了吗?

准备好了吗?免费注册即可在几秒内获取 API Key。