Carriers
JD Logistics Tracking API & MCP
Query live JD Logistics (jdlogistics) package status and scan history in a single synchronous GET request or MCP tool call. lastscanned auto-detects the number format below.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | jdlogistics |
| Brand aliases | JD Logistics, JDL, JD Express, jdl.com |
| Category | JD Logistics international express |
| 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) | `/^(VG\d{11} | JD([A-Z]\d{12} | [A-Z]{2}\d{11}))$/` |
Pass 2 (mayMatch) | none | none | none |
JD Logistics numbers are claimed by jdlogistics, so ?carrier=jdlogistics is optional.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/JDW100615049942?carrier=jdlogistics" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "jdlogistics",
"trackingNumber": "JDW100615049942",
"status": "delivered",
"statusDescription": "Your package has been signed for, thank you for choosing JD Logistics!",
"service": null,
"deliveredAt": "2025-07-20T10:18:25Z",
"deliveredAtLocal": "2025-07-20T13:18:25",
"signedBy": null,
"destination": null,
"message": null,
"events": [
{
"timestamp": "2025-07-20T10:18:25Z",
"localTime": "2025-07-20T13:18:25",
"status": "delivered",
"description": "Your package has been signed for, thank you for choosing JD Logistics!",
"location": "Jazan Province, Saudi Arabia",
"code": "DLV"
},
{
"timestamp": "2025-07-18T12:20:00Z",
"localTime": "2025-07-18T15:20:00",
"status": "in_transit",
"description": "Your package has begun clearance",
"location": "Riyadh Province, Saudi Arabia",
"code": "CCL"
},
{
"timestamp": "2025-07-13T18:35:56Z",
"localTime": "2025-07-14T02:35:56",
"status": "label_created",
"description": "Order Created.",
"location": null,
"code": "COSH"
}
]
}Notes
- Time zone: each node carries its own zone (
UTC+3,UTC+8), sotimestampis exact. - Detection:
JDfollowed by 13 digits is DHL eCommerce's shape and is not claimed; pass?carrier=jdlogisticsfor those. Courier names and phone numbers in the carrier's text are removed. - One number per upstream call: a batch containing an unknown number returns nothing for all of them.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
JCEX Tracking API & MCP
Track JCEX (China cross-border parcels (JCEX)) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
Jersey Post Tracking API & MCP
Track Jersey Post (Jersey (Channel Islands) post (UPU S10 mail)) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.