Carriers
Janio Tracking API & MCP
Query live Janio (janio) 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=) | janio |
| Brand aliases | Janio, Janio Asia, janio.asia |
| Category | Southeast Asia cross-border logistics |
| 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) | /^JN[A-Z]{2}\d{12}$/ | none | JNCN000000123456 |
Pass 2 (mayMatch) | none | none | none |
Janio numbers are claimed by janio, so ?carrier=janio is optional.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/JNCN000002534863?carrier=janio" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "janio",
"trackingNumber": "JNCN000002534863",
"status": "delivered",
"statusDescription": "The parcel has been successfully delivered to the recipient.",
"service": null,
"deliveredAt": "2025-06-27T06:49:20Z",
"deliveredAtLocal": "2025-06-27T06:49:20",
"signedBy": null,
"destination": {
"city": null,
"state": null,
"country": "Singapore"
},
"message": "Handed to SingPost as 7Q12345678",
"events": [
{
"timestamp": "2025-06-27T06:49:20Z",
"localTime": "2025-06-27T06:49:20",
"status": "delivered",
"description": "The parcel has been successfully delivered to the recipient.",
"location": "Singapore",
"code": "DELIVERY_COMPLETED"
},
{
"timestamp": "2025-06-27T02:47:29Z",
"localTime": "2025-06-27T02:47:29",
"status": "out_for_delivery",
"description": "The parcel is on its way to the recipient.",
"location": null,
"code": "DELIVERY_IN_PROGRESS"
},
{
"timestamp": "2025-06-24T14:58:45Z",
"localTime": "2025-06-24T14:58:45",
"status": "label_created",
"description": "We have received the order details, but not the parcel.",
"location": null,
"code": "ORDER_CREATED"
}
]
}Notes
- Handoff: when the parcel runs on a partner's number (
external_tracking_nos),messagenames the partner and the number, for example"Handed to SingPost as 7Q12345678". Pass it toGET /v1/track/{number}for the partner's own scans. - Time zone: Janio's times are UTC, so
localTimeis the same clock astimestamp.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
J&T Express Germany Tracking API & MCP
Track J&T Express Germany (German parcel courier (J&T Express)) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
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.