Carriers
Morning Global Tracking API & MCP
Query live Morning Global (morningglobal) package status and scan history in a single synchronous GET request or MCP tool call. Morning Global (Hong Kong) cross-border parcels, with customs and last-mile scans.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | morningglobal |
| Brand aliases | Morning Global Logistics, MORNING GLOBAL |
| Category | Hong Kong cross-border e-commerce logistics |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=BR003081784MG,BR003081784MG |
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) | ^BR\d{9}MG$ | none | BR003081784MG |
The shape is shared with other carriers, so it is only tried when no other carrier claims the number; ?carrier=morningglobal is the sure way.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/BR003081784MG?carrier=morningglobal" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "morningglobal",
"trackingNumber": "BR003081784MG",
"status": "delivered",
"statusDescription": "Delivered",
"service": null,
"deliveredAt": "2025-10-06T16:33:00Z",
"deliveredAtLocal": "2025-10-06T12:33:00",
"signedBy": null,
"destination": null,
"events": [
{
"timestamp": "2025-10-06T16:33:00Z",
"localTime": "2025-10-06T12:33:00",
"status": "delivered",
"description": "Delivered",
"location": "CA",
"code": null
},
{
"timestamp": "2025-10-06T10:44:00Z",
"localTime": "2025-10-06T06:44:00",
"status": "out_for_delivery",
"description": "Out for Delivery",
"location": "CA",
"code": null
},
{
"timestamp": "2025-10-03T17:55:00Z",
"localTime": "2025-10-03T13:55:00",
"status": "in_transit",
"description": "Handed Over for Delivery",
"location": "CA",
"code": null
},
{
"timestamp": "2025-10-02T20:36:00Z",
"localTime": "2025-10-02T16:36:00",
"status": "in_transit",
"description": "Customs Cleared",
"location": "CA",
"code": null
},
{
"timestamp": "2025-10-02T11:24:00Z",
"localTime": "2025-10-02T07:24:00",
"status": "in_transit",
"description": "Customs Clearance Begins",
"location": "CA",
"code": null
},
{
"timestamp": "2025-09-30T21:27:00Z",
"localTime": "2025-09-30T17:27:00",
"status": "in_transit",
"description": "Arrive Destination",
"location": "CA",
"code": null
},
{
"timestamp": null,
"localTime": "2025-09-30T03:36:00",
"status": "in_transit",
"description": "Flight Departure to Destination",
"location": null,
"code": null
},
{
"timestamp": null,
"localTime": "2025-09-30T02:19:00",
"status": "in_transit",
"description": "Ready for Departure",
"location": null,
"code": null
},
{
"timestamp": null,
"localTime": "2025-09-29T10:26:00",
"status": "in_transit",
"description": "Arrive Hub",
"location": null,
"code": null
},
{
"timestamp": "2025-09-29T01:41:00Z",
"localTime": "2025-09-29T09:41:00",
"status": "in_transit",
"description": "Collection",
"location": "HK",
"code": null
},
{
"timestamp": "2025-09-27T07:55:00Z",
"localTime": "2025-09-27T15:55:00",
"status": "label_created",
"description": "Order Created",
"location": "HK",
"code": null
}
]
}Notes
- Source: The WordPress AJAX call its Trace & Track page makes: the Worker reads the page's nonce, then POSTs
action=mg_tr_lookuptowp-admin/admin-ajax.php. No account. - Time zone: a scan's place reads like
CA (UTC-4); when it has an offset,timestampis converted from it. Scans with no place keeplocalTimeonly. - An unknown number answers an empty result list and comes back as
not_found.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
dao Tracking API & MCP
Track dao (dao) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
Jordan Post Tracking API & MCP
Track Jordan Post (Jordanian national post (UPU S10 mail)) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.