Carriers
PDN Express Tracking API & MCP
Track PDN Express (PDN…) cross-border parcels into Canada with timed scans. Query live status, scan history and normalized fields in a single synchronous GET request or MCP tool call.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | pdnexpress |
| Brand aliases | PDN Express, PDN, pdn.express |
| Category | Cross-border e-commerce parcels |
| Source | PDN Express tracking JSON (POST pdn.express/api/track), no account |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=PDN0013911461,... |
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) | /^PDN\d{10}$/ | none | PDN0013911461 |
Pass 2 (mayMatch) | none | none | none |
This shape belongs to PDN Express alone, so ?carrier=pdnexpress is optional.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/PDN0013911461?carrier=pdnexpress" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "pdnexpress",
"trackingNumber": "PDN0013911461",
"status": "delivered",
"statusDescription": "Your package has been delivered to the Front door.",
"service": null,
"deliveredAt": "2025-05-07T20:23:30Z",
"deliveredAtLocal": "2025-05-07T16:23:30",
"signedBy": null,
"destination": {
"city": null,
"state": null,
"country": "Canada"
},
"events": [
{
"timestamp": "2025-05-07T20:23:30Z",
"localTime": "2025-05-07T16:23:30",
"status": "delivered",
"description": "Your package has been delivered to the Front door.",
"location": "Toronto, Canada",
"code": "D860"
},
{
"timestamp": "2025-05-07T13:27:28Z",
"localTime": "2025-05-07T09:27:28",
"status": "out_for_delivery",
"description": "Your package is out for delivery.",
"location": "Toronto, Canada",
"code": "D840"
},
{
"timestamp": "2025-05-07T02:32:53Z",
"localTime": "2025-05-06T22:32:53",
"status": "in_transit",
"description": "We've got your package.",
"location": "Toronto, Canada",
"code": "D830"
},
{
"timestamp": "2025-04-30T19:41:20Z",
"localTime": "2025-04-30T19:41:20",
"status": "label_created",
"description": "Package information received.",
"location": null,
"code": "D800"
}
]
}Notes
- Time zone: every scan carries an IANA zone (
America/Toronto,UTC), sotimestampis exact. - Codes: D800 pre-alert, D830 in transit, D840 out for delivery, D860 delivered.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
PCP Express Tracking API & MCP
Track PCP Express shipments via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
PDQ Cargo Trader Tracking API & MCP
Track PDQ Cargo Trader shipments via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.