一共三大API,按使用频率从高到低排:
| API | 一句话说明 | 包含什么 |
|---|---|---|
| 智能快递查询API | 快递物流查询的核心入口,支持2000+快递公司 | 含4个子接口:快递公司查询、单号识别、快递查询V1、快递查询V2 |
| 物流轨迹订阅查询API | 订阅后自动推送轨迹更新,不用轮询 | 单号订阅、轨迹变更主动通知 |
| 快递地址解析API | 从用户粘贴的地址文本里提取姓名、电话、省市区 | 地址结构化输出 |
探数API的这些接口可单独使用,也可对接一套接口,上面这些场景全搞定。包括顺丰、中通、韵达、京东、圆通、申通、极兔等主流快递公司,日查询量过百万级别的项目也能扛住。量大可联系客服定制套餐。

电子商务:顾客在商家的网站或应用上直接追踪订单,不需要跳转到快递公司官网查物流,购物体验更流畅。
自动化订单:商家借助物流API自动更新客户订单状态,从发货、运输中、派送到最终签收,整个流程不用人工干预。
跨平台兼容性:物流API的集成可以让系统跨多个平台和设备工作,商家和客户通过PC、手机、小程序都能追踪订单。
地址自动填写:用户下单时常常要填收货地址。配合快递地址解析API,电商平台帮用户自动识别和填写地址信息,减少手动输入错误。
这是整个快递物流方案的核心。支持国内外2000多家快递公司的跟踪服务,输入运单编号自动识别物流公司,即时返回物流轨迹。一次对接就能打通顺丰、中通、韵达、京东、圆通、申通、极兔等主流快递公司的轨迹数据。
日查询次数过百万也能满足,接口稳定可靠。下面介绍一下它的4个子接口。

在让用户查快递之前,你自己得先知道系统支持哪些快递公司。这个接口返回全部支持列表,含公司名称、编码、官网、客服电话、logo图片。
接口地址:
https://www.tanshuapi.com/market/detail-68
返回核心字段:
| 字段 | 说明 |
|---|---|
| company | 快递公司名称 |
| com | 快递公司编码(后续查轨迹用这个) |
| url | 官网地址 |
| phone | 客服电话 |
| initial | 首字母,方便前端按字母分组展示 |
| img_url | logo图片地址 |
返回示例长这样:
{
"code": 1,
"data": [
{
"company": "顺丰速运",
"com": "sf",
"url": "www.sf-express.com",
"phone": "95338",
"initial": "S",
"img_url": "http://gtms02.alicdn.com/tps/i2/TB1SvuZKFXXXXbjXXXXqxFJVFXX-100-100.png"
},
{
"company": "中通快递",
"com": "zto",
"url": "www.zto.cn",
"phone": "95311",
"initial": "Z"
}
]
}
💡 这个接口的数据不怎么变,请求一次缓存到本地或Redis,设24小时过期就行。不用每次都调。
你有没有见过那种体验——用户填快递单号查物流,还得手动从几十个快递公司里选一个?这个子接口专门解决那一步。
传一个快递单号进去,返回它属于哪家快递:
{
"code": 1,
"data": {
"com": "zto",
"company": "中通快递",
"com_phone": "95311",
"com_url": "www.zto.cn"
}
}
拿到 com 之后,直接传给查询接口查轨迹。用户侧只需要输入一个单号,后面全自动。
⚠️ 提醒:极少数情况下,快递单号编码规则有交叉时单号识别可能误判。如果业务场景里用户已指定快递公司,以用户选择的为准,单号识别作为兜底。
基础版物流轨迹查询,适合在订单详情页展示文字物流进度。
请求参数:
| 参数 | 必填 | 说明 |
|---|---|---|
| key | 是 | 个人中心查看 |
| com | 否 | 快递公司编码。不传则自动识别,建议传准确编码 |
| no | 是 | 快递单号 |
| phone | 否 | 收/寄件人手机号后四位。顺丰、中通、跨越这三家需要填 |
返回的物流轨迹核心字段:
{
"data": {
"company": "中通快递",
"status_detail": 4,
"status_desc": "已签收",
"take_time": "4天17小时8分",
"courier_phone": "18223636061",
"list": [
{
"datetime": "2025-05-04 15:58:17",
"remark": "【东莞市】已签收,签收人凭取货码签收..."
}
]
}
}
status_detail 状态码对照:
| 值 | 含义 |
|---|---|
| 1 | 揽件 |
| 2 | 运输中 |
| 3 | 派送中 |
| 4 | 已签收 |
| 5 | 包裹异常/签收失败 |
| 10 | 退回 |
V2是V1的增强版。每条轨迹节点额外提供这些字段:
| 字段 | 说明 |
|---|---|
| area_name | 节点所在地区,如”江苏省,南京市” |
| area_code | 地区行政编码 |
| area_location | 经纬度,坐标系GCJ-02 |
| sub_status_detail | 物流子状态(更细粒度的状态码,详见探数API文档) |
参数跟V1一样,返回的数据更全。如果你的业务要做「物流轨迹地图」——在地图上按时间顺序画出包裹走过的路线——V2的经纬度数据就是为此准备的。
简单说:只展示文字物流进度用V1就够了,要在地图上画轨迹或者做精细化状态判断用V2。
实际项目里一般两个都留着:列表页用V1(数据量小、加载快),详情页用V2(展示地图轨迹)。不确定就先V1跑通,后面需要经纬度再切V2,参数是一样的。

订阅接口的逻辑是:提交一个单号,后续轨迹有更新时系统主动推送。30天内同一个单号不限制查询次数,只计费1次。查询无轨迹不计费。
接口地址:
https://www.tanshuapi.com/market/detail-119
参数跟查询接口一样,有个区别:com 参数必填,不能靠自动识别。
应用场景:用户下单付款、商家打单发货之后,把单号丢给订阅接口持续追踪。包裹签收后自动完结。搭配智能快递查询API一起用——发货时调查询接口确认揽收,然后切到订阅接口持续追踪。
返回参数说明:
| 字段 | 说明 |
|---|---|
| company | 快递公司名称 |
| status_detail | 当前物流状态:1揽件 2运输中 3派送中 4已签收 5包裹异常/签收失败 10退回 |
| take_time | 物流轨迹耗时 |
| courier_phone | 快递员联系方式 |
| status_desc | 签收状态文案 |
| list | 物流轨迹节点数组,结构与查询V1一致 |
用户在输入框里粘贴的地址,大概是世界上最不规范的文本数据之一。有人写”广东省深圳市南山区科技园南路28号张三13800138000”,有人写”张三 13800138000 深圳南山科技园28号”,还有人写”寄到公司:深圳南山”就完了。
地址解析接口对输入的地址信息进行解析、识别和标准化,提取出有效的地址元素,按省、市、区、详细地址、姓名、电话结构化输出。
接口地址:
https://www.tanshuapi.com/market/detail-108
返回:
{
"data": {
"province": "广东省",
"city": "珠海市",
"district": "香洲区",
"street": "唐家湾镇",
"detail": "盘山路28号幸福茶庄",
"name": "刘德华老表",
"phone": "18149428888"
}
}
姓名、电话、省、市、区、街道、详细地址,全部拆好。前端拿到之后自动回填到对应的表单字段,用户确认一下就行。
应用场景:电商平台用户下单时,把收货地址粘贴进输入框,系统自动识别并填写省市区和收件人信息,减少用户手动录入的步骤和出错概率。快递公司在配送环节也可以用地址解析来标准化用户输入的地址,降低人工处理错误。
⚠️ 提醒:常规格式的地址解析准确率很高。如果用户写的地址极其简略(比如只写了”深圳南山”),接口只能基于已有信息做解析,Province和City可能有但District和Detail为空。前端最好加个校验——必填字段为空时提示用户补充。
Q1: 免费额度够不够测?
注册后有免费调用额度,具体配额以探数API官网当前政策为准。个人开发测试完全够用,企业大批量使用联系客服定制套餐,量大可以谈优惠。
Q2: 顺丰和中通的单号为什么查不出来?
这两家需要传收件人或寄件人手机号后四位(phone 参数),这是快递公司那边的安全策略,跟接口本身没关系。
Q3: V1和V2到底用哪个?
纯文字展示用V1,需要地图轨迹或精细化状态判断用V2。不确定就先用V1跑通,后面需要经纬度再切V2,参数是一样的。
Q4: 订阅接口和查询接口怎么搭配?
建议流程:用户下单 → 商家发货拿到单号 → 调查询接口确认揽收 → 调订阅接口开始追踪 → 包裹签收后停止。别一上来就订阅,万一无效单号白浪费一次计费。
Q5: 支持国际快递吗?
国内主流快递公司都能查到,国际快递部分以接口文档中列出的为准。如果业务以跨境电商为主,先调一次「快递公司查询」接口看支持列表,再决定是否接入。