ZTO International Tracking API & MCP
Query live ZTO International (ztointl) package status and scan history, from the overseas warehouse through customs to delivery in China, in a single synchronous GET request or MCP tool call. 14-digit numbers starting 77122 fall back to ZTO International when no other carrier claims them.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | ztointl |
| Brand aliases | ZTO International, ZTO Global, ZTO Express International, 中通国际 |
| Category | Cross-border parcels |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=...,... |
MCP server (https://mcp.lastscanned.com) | track_package, track_packages, list_carriers |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP |
Tracking Number Formats & Auto-Detection
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | none | none | none |
Pass 2 (mayMatch) | /^77122\d{9}$/ | none | 77122000000123 |
Other ZTO International number shapes need ?carrier=ztointl.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/77122000000123" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "ztointl",
"trackingNumber": "77122000000123",
"status": "delivered",
"statusDescription": "Delivered",
"service": null,
"deliveredAt": null,
"deliveredAtLocal": "2026-03-09T09:04:08",
"signedBy": null,
"destination": null,
"events": [
{
"timestamp": null,
"localTime": "2026-03-09T09:04:08",
"status": "delivered",
"description": "Delivered",
"location": null,
"code": "5"
},
{
"timestamp": null,
"localTime": "2026-03-09T07:26:10",
"status": "out_for_delivery",
"description": "Physical delivery scheduled.",
"location": null,
"code": "4"
},
{
"timestamp": null,
"localTime": "2026-03-05T14:32:00",
"status": "in_transit",
"description": "Import customs in progress.",
"location": null,
"code": "360"
}
]
}Notes
- Status codes: ZTO's codes are mapped (4 out for delivery, 5 and 15 delivered, 16 left with an agent or at a pickup point as
exception; warehouse, flight, ship, line-haul and customs codes arein_transit).codecarries ZTO's own number. - English wording only: descriptions are ZTO's English lines; the Chinese text is not used because it carries couriers' phone numbers.
- Time zone: scans start abroad (Korea, Japan, US, Hong Kong...) and end in China, so there is no single zone; only
localTimeis set. - Batches: several numbers go to ZTO in one request.
- How it is queried: the applet API behind m.ztoglobal.com, sent as that page sends it, which answers without a captcha code.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
CK1 / Chukou1 Tracking API & MCP
Track CK1 (Chukou1, 出口易) parcels, with the merged first-leg and last-mile scans and the last-mile carrier's number, via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
STO Express Tracking API & MCP
Track STO Express (申通快递, China) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.