Carriers
Apple Express Tracking API & MCP
Query live Apple Express (appleexpress) package status and scan history in a single synchronous GET request or MCP tool call.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | appleexpress |
| Brand aliases | Apple Express, AppleExpress, appleexpress.com |
| Category | Canadian courier (Cainiao last mile in Canada) |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=APPL1234567890123,APPL1234567890123 |
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) | `/^(APPL\d{13} | CACAINIAO\d{11})$/` | none |
Pass 2 (mayMatch) | none | none | none |
APPL… and CACAINIAO… references belong to Apple Express alone. Its 8-9 digit order numbers are shared with other carriers: pass ?carrier=appleexpress.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/92274200?carrier=appleexpress" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "appleexpress",
"trackingNumber": "92274200",
"status": "delivered",
"statusDescription": "Delivered",
"service": null,
"deliveredAt": "2026-05-20T19:59:20Z",
"deliveredAtLocal": "2026-05-20T12:59:20",
"signedBy": null,
"destination": {
"city": "Surrey",
"state": "BC",
"country": "CA"
},
"events": [
{
"timestamp": "2026-05-20T19:59:20Z",
"localTime": "2026-05-20T12:59:20",
"status": "delivered",
"description": "Delivered",
"location": "Surrey, BC",
"code": "5"
},
{
"timestamp": "2026-05-20T16:50:41Z",
"localTime": "2026-05-20T09:50:41",
"status": "out_for_delivery",
"description": "Out for Delivery",
"location": "Surrey, BC",
"code": "4"
},
{
"timestamp": "2026-05-19T22:52:46Z",
"localTime": "2026-05-19T15:52:46",
"status": "in_transit",
"description": "Parcel Received, Out for Delivery Soon",
"location": "Richmond, BC",
"code": "2"
},
{
"timestamp": "2026-05-18T01:07:09Z",
"localTime": "2026-05-17T21:07:09",
"status": "in_transit",
"description": "Package Processed",
"location": "Toronto, ON",
"code": "2"
},
{
"timestamp": null,
"localTime": "2026-05-17T19:31:24",
"status": "label_created",
"description": "Waiting for Parcel",
"location": null,
"code": "1"
}
]
}Notes
- Route: the JSON the Apple Express tracking page calls, by order number or by the shipper's reference. No account.
- Time zone: scan times are depot wall-clock time; the province in the scan's "City, PROV" location gives the zone. Scans with no location keep
localTimeonly. - Status: the package status comes from the order's
currentStatus; the "Delivery Notification Sent" row is a notice after delivery, not a delivery scan.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
APC Overnight Tracking API & MCP
Track APC Overnight (United Kingdom) consignments via synchronous REST GET or MCP. Normalized JSON status and parcel journey, no carrier credentials required.
Aramex New Zealand Tracking API & MCP
Track Aramex New Zealand parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.