文档中心
Real-time Express Tracking check API documentation

Real-time Express Tracking check API documentation

中文 | 英文(English)

1.     Real-time Express Tracking Query API

After the user submits the tracking number to the API, it will retrieve the information from the courier company in real-time and return the latest logistics information for this tracking number, including logistics path, status, time, etc.

Note: Please ensure that the frequency of each query for a single tracking number is at least half an hour apart; otherwise, it may result in the tracking number being locked.

1.1     Request URL

https://poll.kuaidi100.com/poll/query.do

1.2     Request Type

post

1.3     Input Parameters

Request Parameters (header)

Name Type Default Value
Content-Type string application/x-www-form-urlencoded

Request Parameters (body)

Name Type Required Example Value Description
customer String Yes Authorization code, please apply for the enterprise version to obtain
sign String Yes Signature used to verify identity, encrypted using MD5 in the order of param + key + customer (note: the encrypted string must be converted to 32-bit uppercase), without adding the “+” sign
Θparam Object Yes Composed of other fields
└ com string Yes yuantong Code of the courier company to query, all in lowercase letters. Download the code table
└ num string Yes 12345678 The tracking number to query, with a minimum length of 6 characters and a maximum length of 32 characters
└ phone string No 13888888888 Phone number of the sender or recipient (mobile or landline, only one can be filled. Required for SF Express and SF Freight, optional for other couriers. If the landline number has an extension, do not include the extension; if the number is an e-commerce virtual number, include the last four digits after the "-". See details)
└ from string No Guangdong Shenzhen Departure city
└ to string No Beijing Chaoyang Destination city, increased monitoring frequency upon arrival
└ resultv2 string No 1 Adding this field enables administrative region parsing. Empty: disabled (default), 1: enable administrative region parsing and add logistics status name to the logistics trajectory, 4: enable administrative region parsing, add advanced logistics status name and value to the logistics trajectory, and return the departure, destination, and current city information
└ show String No 0 Return format: 0: JSON format (default), 1: XML, 2: HTML, 3: text
└ order String No desc Sorting order of the results: desc for descending (default), asc for ascending
└ lang String No en Select the language for returning results, supporting both Chinese(zh) and English(en)

1.4     Request Parameters Example  

customer = **********
sign = ******************
param = {
    "com": "yuantong",
    "num": "YT7450353838751",
    "phone": "1011",
    "resultv2": "4",
    "show": "0",
    "order": "desc",
    "lang":"en"
}

1.5     Response F

Field Name Type Description
message String Message body, please ignore
state String Current status of the tracking number, default is 0: in transit, 1: collected, 2: problem, 3: delivered, 4: returned, 5: dispatching, 8: customs clearance, 14: refused, etc. For advanced logistics status, please refer to resultv2
status String Communication status, please ignore
condition String Detailed status mark of the tracking number, not yet implemented, please ignore
ischeck String Delivery status mark, 0: not delivered, 1: delivered, please ignore, refer to the state field for detailed status
com String Courier company code, all in lowercase letters
nu String Tracking number
Θdata Array Latest query results, array containing multiple items in reverse chronological order (i.e., the latest time is first), each item is an object with the following fields:
└ context String Content
└ time String Original format time
└ ftime String Formatted time
└ status String Corresponding logistics status name or advanced status name, appears only if resultv2=1 or resultv2=4 is submitted in the real-time query interface
└ statusCode String Corresponding advanced logistics status value, appears only if resultv2=4 is submitted in the real-time query interface
└ areaCode String Administrative region code, appears only if resultv2=1 or resultv2=4 is submitted in the real-time query interface
└ areaName String Administrative region name, appears only if resultv2=1 or resultv2=4 is submitted in the real-time query interface
└ areaCenter String Longitude and latitude of the administrative region, appears only if resultv2=4 is submitted in the real-time query interface
└ location String Current location of the parcel, appears only if resultv2=4 is submitted in the real-time query interface
└ areaPinYin String Pinyin of the administrative region, appears only if resultv2=4 is submitted in the real-time query interface

1.6     Explanation of Waybill Status (state)

Logistics Status Value Logistics Status Name Advanced Logistics Status Value Advanced Logistics Status Name Meaning
1 Collected 1 Collected Parcel collected
101 Ordered Order placed for the parcel
102 Awaiting Collection Awaiting courier collection
103 Collected Courier has collected the parcel
0 0 In Transit Parcel is in transit
1001 Parcel has arrived in the recipient's city
1002 Parcel is in the process of transportation
1003 Redirected Parcel has been forwarded to a new delivery address
5 Dispatching 5 Dispatching Parcel is being dispatched
501 Delivered to Locker or parcel station Parcel has been delivered to a locker or parcel station
3 Delivered 3 Delivered Parcel has been delivered
301 Signed by Recipient Recipient has signed for the parcel
302 Delivered after Dispatch Exception Parcel showed dispatch exception but was subsequently delivered
303 Signed by Proxy Parcel has been signed for by a proxy
304 Signed from Locker or Station Parcel has been picked up from locker or station
6 Returning 6 Returning Parcel is being returned to the sender
4 Returned 4 Returned This parcel has been returned
401 Cancelled This parcel has been cancelled
14 Refused Recipient refused to accept the parcel
7 Redirected 7 Redirected Parcel transferred to another courier company
2 Problem 2 Problem Parcel has encountered a problem
201 Timeout Undelivered Parcel not delivered after a long dispatch time
202 Timeout No Update Parcel not dispatched or delivered for a long time
203 Refused by Recipient Recipient initiated refusal, awaiting sender's confirmation
204 Dispatch Exception Exception encountered during dispatch
205 Timeout in Locker or Station Parcel not picked up from locker or station for a long time
206 Unable to Contact Unable to contact the recipient
207 Out of Service Area Out of the courier company's service area
208 Stagnant Parcel stagnant at a node, not dispatched
209 Damaged Parcel is damaged
210 Cancelled by Sender Sender applied to cancel the parcel
8 Customs Clearance 8 Customs Clearance Parcel is clearing customs
10 Awaiting Customs Clearance Parcel waiting for customs clearance
11 In Customs Clearance Parcel is in the customs clearance process
12 Customs Cleared Parcel has completed customs clearance
13 Customs Clearance Exception Exception occurred during customs clearance
14 Refused \ \ Recipient refused the parcel

Note: To receive advanced logistics status names and values, pass "4" for resultv2.

1.7     Example of Correct Return

JSON Format

{
    "message": "ok",
    "nu": "YT7450353838751",
    "ischeck": "1",
    "com": "yuantong",
    "status": "200",
    "data": [
        {
            "time": "2024-03-09 10:47:53",
            "context": "Your package has been signed for at the Fengchao cabinet in front of Tianjin Tianduan Press Co., Ltd. If you have any questions, please contact the salesperson at 18521184117, the branch phone number is 022-65673899, and the complaint phone number is 022-65673899. Thank you for using YTO Express. Looking forward to serving you again!",
            "ftime": "2024-03-09 10:47:53",
            "areaCode": null,
            "areaName": null,
            "status": "Signed from Locker or Station",
            "location": "天津市,北辰区",
            "areaCenter": null,
            "areaPinYin": null,
            "statusCode": "304"
        },
        {
            "time": "2024-03-09 10:19:51",
            "context": "Your package has arrived at [Fengchao] (Fengchao cabinet at the entrance of Tianjin Tianduan Press Co., Ltd.) on Jinwei Road. Please pick up the package in a timely manner. If you have any questions, please contact the salesperson at 18521184117, the branch phone number is 022-65673899, and the complaint phone number is 022-65673899. Thank you for using YTO Express. Looking forward to serving you again!",
            "ftime": "2024-03-09 10:19:51",
            "areaCode": null,
            "areaName": null,
            "status": "Delivered to Locker or parcel station",
            "location": "天津市,北辰区",
            "areaCenter": null,
            "areaPinYin": null,
            "statusCode": "501"
        },
        {
            "time": "2024-03-09 07:23:55",
            "context": "Li Yanhang (18521184117) from Beichen District, Tianjin is currently delivering the package. Please be patient! If you have any questions, please contact the branch at 022-65673899 or the complaint hotline at 022-65673899. [95161 and 185211 Shanghai numbers are exclusive numbers for YTO agents, please rest assured to answer]",
            "ftime": "2024-03-09 07:23:55",
            "areaCode": "CN120113000000",
            "areaName": "天津,天津,北辰区",
            "status": "Dispatching",
            "location": "天津市,北辰区",
            "areaCenter": "117.139343,39.217817",
            "areaPinYin": "bei chen qu",
            "statusCode": "5"
        },
        {
            "time": "2024-03-09 07:22:05",
            "context": "Your package has arrived at [Department 1, Beichen District, Tianjin]",
            "ftime": "2024-03-09 07:22:05",
            "areaCode": "CN120113000000",
            "areaName": "天津,天津,北辰区",
            "status": "In Transit",
            "location": "天津市,北辰区",
            "areaCenter": "117.139343,39.217817",
            "areaPinYin": "bei chen qu",
            "statusCode": "0"
        },
        {
            "time": "2024-03-08 17:35:48",
            "context": "Your package has left Tianjin Transfer Center and has been sent to Beichen District, Tianjin",
            "ftime": "2024-03-08 17:35:48",
            "areaCode": "CN120113000000",
            "areaName": "天津,天津,北辰区",
            "status": "Trunk Line",
            "location": "天津市,东丽区",
            "areaCenter": "117.139343,39.217817",
            "areaPinYin": "bei chen qu",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-08 17:04:19",
            "context": "Your package has arrived at the Tianjin Transfer Center",
            "ftime": "2024-03-08 17:04:19",
            "areaCode": "CN120000000000",
            "areaName": "天津",
            "status": "Trunk Line",
            "location": "天津市,东丽区",
            "areaCenter": "117.200983,39.084158",
            "areaPinYin": "tian jin",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-08 10:39:53",
            "context": "Your package has left the North China Transfer Center and has been sent to the Tianjin Transfer Center",
            "ftime": "2024-03-08 10:39:53",
            "areaCode": "CN120000000000",
            "areaName": "天津",
            "status": "Trunk Line",
            "location": "北京市,朝阳区",
            "areaCenter": "117.200983,39.084158",
            "areaPinYin": "tian jin",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-08 10:37:01",
            "context": "Your package has arrived at the North China Transfer Center",
            "ftime": "2024-03-08 10:37:01",
            "areaCode": "CN110105000000",
            "areaName": "北京,北京,朝阳区",
            "status": "Trunk Line",
            "location": "北京市,朝阳区",
            "areaCenter": "116.601144,39.948574",
            "areaPinYin": "chao yang qu",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-08 03:50:46",
            "context": "Your package has left the Jinan Transfer Center and has been sent to the North China Transfer Center",
            "ftime": "2024-03-08 03:50:46",
            "areaCode": "CN370112000000",
            "areaName": "山东,济南市,历城区",
            "status": "Trunk Line",
            "location": "济南市,历城区",
            "areaCenter": "117.065237,36.680017",
            "areaPinYin": "li cheng qu",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-08 03:48:09",
            "context": "Your package has arrived at the Jinan Transfer Center",
            "ftime": "2024-03-08 03:48:09",
            "areaCode": "CN370112000000",
            "areaName": "山东,济南市,历城区",
            "status": "Trunk Line",
            "location": "济南市,历城区",
            "areaCenter": "117.065237,36.680017",
            "areaPinYin": "li cheng qu",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-07 22:51:35",
            "context": "Your package has left Jinshui'an, Jinan City, Shandong Province and has been sent to Jinan Transfer Center",
            "ftime": "2024-03-07 22:51:35",
            "areaCode": "CN370105000000",
            "areaName": "山东,济南市,天桥区",
            "status": "Trunk Line",
            "location": "济南市,天桥区",
            "areaCenter": "116.987492,36.678016",
            "areaPinYin": "tian qiao qu",
            "statusCode": "1002"
        },
        {
            "time": "2024-03-07 16:55:46",
            "context": "Your package has been picked up by [Jinshui'an, Jinan City, Shandong Province], recipient: Huo Shengquan (15650027611)",
            "ftime": "2024-03-07 16:55:46",
            "areaCode": "CN370105000000",
            "areaName": "山东,济南市,天桥区",
            "status": "Collected",
            "location": "济南市,天桥区",
            "areaCenter": "116.987492,36.678016",
            "areaPinYin": "tian qiao qu",
            "statusCode": "1"
        }
    ],
    "state": "304",
    "condition": "F00",
    "routeInfo": {
        "from": {
            "number": "CN370105000000",
            "name": "山东,济南市,天桥区"
        },
        "cur": {
            "number": "CN120113000000",
            "name": "天津,天津,北辰区"
        },
        "to": {
            "number": "CN120113000000",
            "name": "天津,天津,北辰区"
        }
    },
    "isLoop": false
}

1.8     Example of Error Return

JSON Format

{
    "result": false,
    "returnCode": "400",
    "message": "找不到对应公司"
}

1.9     Information Code Description

Information Code Description Cause and Suggested Handling
200 Query successful Query successful
400 Company not found Incomplete data submitted or account not recharged. Check if the submitted format is POST with x-www-form-urlencoded format
408 Courier company parameter error: verification code error Phone number verification failed. Check if the correct phone number of the sender or recipient has been submitted
500 No results found, please check again later Indicates query failure or no POST submission
501 Server error Intermittent or temporary error on the Kuaidi100 server. This error may also occur if the request is not submitted according to the specifications, such as not following the documentation for courier company parameters
502 Server busy Intermittent or temporary error on the Kuaidi100 server. Please contact Kuaidi100 to investigate the cause
503 Signature verification failed Check the encryption method. Perform MD5 encryption in the order of param + key + customer, and convert the encrypted string to uppercase
601 Key expired No available quota, the account needs to be recharged to use

2. Courier Company Codes

Download Table

If the company you need is not on this list, please contact online customer service to add it.

3. Demo Downloads

JAVA Example Code | PHP Example Code | PYTHON Example | PYTHON Example |

Appendix1:

图片1

Appendix2: See details:

When querying SF Express logistics information, the error "message": "Courier company parameter error: verification code error" may occur due to the following reasons and suggested handling methods:

1. The Kuaidi100 query interface requires the sender's or recipient's phone number reserved when placing the order with the courier company. For SF Express, this field is mandatory, while for other couriers, it is optional.

2. If the phone number is a landline with an extension, do not include the extension number. If the number is a virtual e-commerce number, include the last four digits after the "-".

3. If the correct phone number is not provided or an incorrect number is submitted, any returned logistics tracking information might be cached data verified by other users. This data is not guaranteed by the query service. The interface requires the phone number to be correctly provided.

4. The correctness of the phone number can be verified through the WeChat Mini Program "SF Express+" on the "Track Express" page.

Example:

- For the number 0755-81234567, any of 075581234567, 81234567, or 4567 can be submitted.

- For the number 13801380000, either 13801380000 or 8000 can be submitted.

- For the number 13801380000-1234, either 13801380001234 or 1234 can be submitted.

SF Express+ Query Example:


图片2.png