接口文档

支持顺丰、京东、中通、圆通、申通、韵达、极兔、百世、邮政、德邦等主流快递,单号即查,无需任何附加信息。

1. 获取 API Key

注册登录后,在控制台查看你的专属 Key。请妥善保管,不要泄露给他人。

2. 接口信息

请求地址https://kd.leyu023.cn/api/query
请求方式GET / POST
数据格式JSON(UTF-8)
计费规则查询成功扣 1 次费用;查询失败不扣费(实时查询,无缓存)

3. 请求参数

参数名必填说明
key是你的 API Key
tracking_no是快递单号(6-32 位字母数字,不区分大小写)

4. 请求示例

curl

curl "https://kd.leyu023.cn/api/query?key=你的KEY&tracking_no=SF1229503859787"

PHP

<?php
$url = "https://kd.leyu023.cn/api/query";
$params = http_build_query([
    'key' => '你的KEY',
    'tracking_no' => 'SF1229503859787',
]);
$json = file_get_contents($url . '?' . $params);
$data = json_decode($json, true);
print_r($data);

Python

import requests
r = requests.get("https://kd.leyu023.cn/api/query", params={
    "key": "你的KEY",
    "tracking_no": "SF1229503859787",
})
print(r.json())

JavaScript

fetch("https://kd.leyu023.cn/api/query?key=你的KEY&tracking_no=SF1229503859787")
  .then(r => r.json())
  .then(data => console.log(data));

5. 响应示例

{
  "code": 0,
  "msg": "ok",
  "data": {
    "tracking_no": "SF1229503859787",
    "carrier": "顺丰速递",
    "carrier_code": "sf",
    "status": "已签收",
    "signed": true,
    "traces": [
      {"time": "2026-09-14 17:25:33", "context": "已签收(快递员:陈镜 15178778145)"},
      {"time": "2026-09-14 15:02:11", "context": "快件正在派送中…"}
    ],
    "latest_trace": {"time": "2026-09-14 17:25:33", "context": "已签收(快递员:陈镜 15178778145)"},
    "cached": false,
    "cost": 5,
    "balance": 995,
    "price": 5
  }
}

说明:traces 为完整轨迹(时间倒序,最新在前);cost 单位分;balance 为本次扣费后的剩余余额(分)。

6. 错误码

code含义说明
0成功查询成功并返回数据
4001参数缺失缺少 key 或 tracking_no
4002Key 无效Key 不存在、已重置或账号被禁用
4003余额不足请先充值(本次未扣费)
4004单号格式错误需 6-32 位字母数字
4005频率超限每 Key 每分钟最多 60 次,请稍后再试
5001未查询到信息该单号暂无物流数据(不扣费)
5002服务暂不可用物流服务异常,请稍后重试

7. 常见问题

Q:为什么顺丰查询比较慢?顺丰查询通常需要 2~8 秒,属正常现象。

Q:顺丰需要填手机尾号吗?不需要。顺丰自动查询,全程无需任何附加信息,单号即查。

Q:同一单号反复查会重复扣费吗?会,每次查询都实时获取最新轨迹并正常扣费。

Q:余额用完了会怎样?接口返回 4003 余额不足,不会产生任何欠费。