Carriers
DAI Post Tracking API & MCP
Query live DAI Post (daipost) package status and scan history in a single synchronous GET request or MCP tool call.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | daipost |
| Brand aliases | DAI Post Australia, DAIPost, Dai Global |
| Category | Cross-border e-commerce parcels (Australia, New Zealand, Singapore) |
| 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) | none | none | none |
matches and mayMatch are both empty: DAI Post numbers are 20 digits, which other carriers also use, so pass ?carrier=daipost.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/00391234567890123456?carrier=daipost" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "daipost",
"trackingNumber": "00391234567890123456",
"status": "delivered",
"statusDescription": "Delivered, left where you can find it.",
"service": null,
"deliveredAt": null,
"deliveredAtLocal": "2026-10-15T11:33:57",
"signedBy": null,
"destination": null,
"events": [
{
"timestamp": null,
"localTime": "2026-10-15T11:33:57",
"status": "delivered",
"description": "Delivered, left where you can find it.",
"location": "Newcastle, AU",
"code": "FD02"
},
{
"timestamp": null,
"localTime": "2026-10-15T06:19:28",
"status": "out_for_delivery",
"description": "It’s happening, your parcel will be delivered today. Get ready!",
"location": "Newcastle, AU",
"code": "FP05"
},
{
"timestamp": null,
"localTime": "2026-10-13T13:04:00",
"status": "in_transit",
"description": "All clear! Your parcel’s passed customs and is ready for the next leg.",
"location": "Padstow, Sydney, AU",
"code": "DC01"
},
{
"timestamp": "2026-10-06T09:52:53Z",
"localTime": "2026-10-06T17:52:53",
"status": "in_transit",
"description": "We’ve processed your parcel at our origin facility. Next, on the move to you!",
"location": "Shenzhen, CN",
"code": "OP03"
}
]
}Notes
- Source: the DAI Post tracking page (
daipost.com/track) asked for its React Server Component stream, which carries the tracking data inline. No account is needed. - Time zones: each scan is a local clock in the scan's country. Scans in China, Hong Kong, Singapore, New Zealand, Japan, Taiwan and Macau are converted. Australian scans cross several zones, so they keep only
localTime(timestampisnull). - Friendly wording: DAI Post's scan text is conversational; the status is read from it ("will be delivered today" is
out_for_delivery).
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
CTT Express Tracking API & MCP
Track CTT Express parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
ECMS Express Tracking API & MCP
Track ECMS Express (ECTSO and ECZEN numbers) parcels, scan history and the last-mile carrier handoff via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.