UniUni Tracking API & MCP
Query live UniUni (uniuni) package status and scan history across the US and Canada in a single synchronous GET request or MCP tool call. lastscanned auto-detects primary UUS… tracking numbers in Pass 1 and UR… / U9999… / U000… partner numbers in Pass 2, returning a normalized TrackingResult JSON payload—without requiring a UniUni enterprise shipper contract or webhook integration.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | uniuni |
| Brand & service aliases | UniUni, UniUni Express, UniUni US & Canada Last-Mile |
| Category | US & Canada e-commerce last-mile carrier (Detection precedence #7 of 31) |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=UUS...,UUS... (up to 35 numbers per carrier in a 100-number call) |
MCP server (https://mcp.lastscanned.com) | track_package, track_packages, list_carriers (claude mcp add --transport http lastscanned https://mcp.lastscanned.com) |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP · Free tier (5 unique numbers/day, $0) · Pro ($4.99/mo for 1,000 unique numbers, unlimited re-polls, $0.015/extra) · HTTP 402 Stripe MPP ($0.50 for 25-number lsk_pack_ key or $0.02/number in USDC on Tempo) |
Why developers use lastscanned for UniUni
- No merchant shipper account required: UniUni's shipper API is gated behind commercial onboarding for direct e-commerce merchants and 3PLs. With
lastscanned, any application or AI support agent can track UniUni parcels immediately viaGET /v1/track/:number. - Translates opaque numeric state codes: UniUni's raw payload reports numeric state codes (
190,195,200,202,203,211,213,230,1870) and oldest-first scan arrays.lastscannedreverses the timeline to newest-first and normalizes every state code into the 7 standard statuses. - Seamless cross-border handoff target: Parcels originating on YunExpress, Yanwen, 4PX, or Cainiao frequently hand off to UniUni for North American final delivery.
Tracking Number Formats & Auto-Detection (matches vs mayMatch)
UniUni is evaluated seventh (#7) in lastscanned's two-pass detector and uses both Pass 1 (matches) and Pass 2 (mayMatch):
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) — Primary UUS | /^UUS[0-9A-Z]{13,16}$/i (UUS + 13–16 alphanumeric characters = 16–19 chars) | — | UUS5BM1269395824723, UUSC000019638703 |
Pass 2 (mayMatch) — Partner UR / U9999 / U000 | /^(UR\d{12,20}|U9999\d{6,20}|U000\d{6,20})$/i | — | UR07270000003615622, U999912345678, U000123456789 |
When is ?carrier=uniuni optional vs required?
- Optional (auto-detected in Pass 1): All
UUS+ 13–16 alphanumeric tracking numbers. - Optional (auto-detected in Pass 2):
UR+ 12–20 digits,U9999+ 6–20 digits, andU000+ 6–20 digits. Because these formats sit in Pass 2 (mayMatch), they route touniuniwhenever no Pass 1 carrier claims the number. - Required (
?carrier=uniuni): Canadian / partner barcodes starting withGV…orJY…(such asGV2601…CAA0…orJY2601…CAA0…). Pass?carrier=uniuniwhen querying these numbers.
Synchronous GET Request & Normalized JSON Response
curl
curl -s "https://api.lastscanned.com/v1/track/UUS5BM1269395824723" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"JavaScript / TypeScript (fetch)
const res = await fetch("https://api.lastscanned.com/v1/track/UUS5BM1269395824723", {
headers: { Authorization: `Bearer ${process.env.LASTSCANNED_API_KEY}` },
});
const pkg = await res.json();
console.log(pkg.status, pkg.statusDescription, pkg.deliveredAt);MCP track_package tool call
{
"tool": "track_package",
"arguments": {
"tracking_number": "UUS5BM1269395824723"
}
}Normalized TrackingResult JSON response
{
"carrier": "uniuni",
"trackingNumber": "UUS5BM1269395824723",
"status": "delivered",
"statusDescription": "Delivered",
"service": null,
"deliveredAt": "2026-10-24T21:18:42Z",
"deliveredAtLocal": "2026-10-24T14:18:42",
"signedBy": null,
"destination": {
"city": "LOS ANGELES",
"state": "CA",
"country": "US"
},
"estimatedDelivery": null,
"events": [
{
"timestamp": "2026-10-24T21:18:42Z",
"localTime": "2026-10-24T14:18:42",
"status": "delivered",
"description": "Delivered",
"location": "Los Angeles, CA",
"code": "203"
},
{
"timestamp": "2026-10-24T15:04:10Z",
"localTime": "2026-10-24T08:04:10",
"status": "out_for_delivery",
"description": "Out for delivery",
"location": "Los Angeles, CA",
"code": "202"
},
{
"timestamp": "2026-10-24T06:31:55Z",
"localTime": "2026-10-23T23:31:55",
"status": "in_transit",
"description": "Arrived at UniUni facility",
"location": "Los Angeles, CA",
"code": "195"
},
{
"timestamp": null,
"localTime": "2026-10-21T05:46:35",
"status": "label_created",
"description": "Order received",
"location": null,
"code": "190"
}
]
}Raw status & state codes:
events[].codepreserves UniUni's numericstatecode as a string ("190"/"1870"→label_created;"202"→out_for_delivery;"203"/"216"/"228"→delivered;"230"→returned;"206","207","209","211"failed attempt,"215","222","229","235"→exception;"195","199","200","212","213","217","220"→in_transit).
Carrier-Specific Status & Integration Notes
- Timestamps (
timestampvslocalTime): Physical hub and driver scans include both a Unix epoch (ts), local clock (localTime), and IANAtimezone, populating bothtimestamp(UTC) andlocalTime. The initial electronic "Order received" scan (190/1870) carries no timezone, sotimestampisnullandlocalTimeholds the printed timestamp. - Failed delivery attempts vs depot returns: State
211(failed delivery attempt) maps toexception, whereas state213(parcel returned to local UniUni depot for redelivery) maps toin_transitand state230(returned to merchant/sender) maps toreturned.
Related Resources
- Live browser lookup tool: Track a UniUni package live on lastscanned.com/lookup/uniuni
- Carrier hub: All 31 supported carriers
- Regex & check digits: Tracking number formats & auto-detection
- AI support workflows: WISMO AI agents & synchronous tracking
OnTrac (LaserShip) Tracking API & MCP
Track OnTrac and LaserShip (C/D 15-character and 1LS tracking numbers) packages via synchronous REST GET or MCP. Normalized JSON status, scan history, and tracking number format rules—no carrier credentials required.
GOFO Express Tracking API & MCP
Track GOFO Express (GFUS and GF tracking numbers) US last-mile packages via synchronous REST GET or MCP. Normalized JSON status, scan history, and tracking number format rules—no carrier credentials required.