GLS US (Golden State Overnight / GSO) Tracking API & MCP
Query live GLS US (glsus, formerly Golden State Overnight / GSO) West Coast package status and scan history in a single synchronous GET request or MCP tool call.
Important — Always pass
?carrier=glsus(or"carrier": "glsus"in MCP): GLS US is never auto-detected (matches: () => false, nomayMatch). Because GLS US uses 8–11 digit uncheck-digited GSO numbers (typically 9 digits like512345678or758110995) as well as arbitrary shipper reference numbers (CA0W2208048, 20-digit references) that collide with other carriers—and because GLS US's system answers generic placeholder numbers shippers reuse—you must always specify?carrier=glsus.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | glsus (Required on every request — never auto-detected) |
| Brand & service aliases | GLS US, GLS USA, GSO, Golden State Overnight, GLS Ground (CPS), Priority Overnight (PDS), Early Priority Overnight (EPS), Noon Priority Overnight (NPS), Saturday Delivery (SDS) |
| Category | US West Coast regional parcel carrier — CA, AZ, NV, OR, WA, ID, NM, UT (Listing order #24 of 31) |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber}?carrier=glsus |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=512345678,758110995&carrier=glsus (up to 25 GLS US numbers per batch; up to 100 total numbers) |
MCP server (https://mcp.lastscanned.com) | track_package / track_packages with "carrier": "glsus" (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 GLS US / GSO
- Deduplicates reused tracking numbers automatically: Shippers on GLS US frequently reuse tracking numbers or reference numbers across multiple shipments over time, causing raw GLS US API responses to return multiple shipment objects for a single number.
lastscannedautomatically sorts matching shipments by newestshipDateand latest scan timestamp so you always get the active parcel. - Translates GSO service codes & return-to-sender (
RTS) states: Raw GLS US responses return legacy GSO service codes (CPS→"GLS Ground",PDS→"Priority Overnight",EPS→"Early Priority Overnight",NPS→"Noon Priority Overnight",SDS→"Saturday Delivery",ESS→"Early Saturday Delivery") and stuff return reasons ("RTS - UNABLE TO CONTACT RCPNT") into thesignedByfield on returned shipments.lastscannedmaps service names cleanly and clearssignedBytonullunless the parcel is actuallydelivered. - West Coast timezone normalization: GLS US prints scan times in local wall-clock time without a UTC offset.
lastscannedmaps Pacific states (CA,NV,OR,WA→America/Los_Angeles) and Arizona (AZ→America/Phoenix, no DST) to compute accurate UTCtimestampvalues alongsidelocalTime.
Tracking Number Formats & Why ?carrier=glsus Is Required
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | None (false) — Never auto-detected | — | — |
Pass 2 (mayMatch) | None — Never auto-detected | — | — |
Explicit (?carrier=glsus) | 9-digit GSO numbers, 8–11 digit numeric barcodes, or alphanumeric shipper references (CA0W…, 20-digit references) | — | 512345678, 758110995, CA0W2208048 |
Why GLS US is never auto-detected
- No check digit or fixed prefix on 9-digit GSO numbers: Standard 9-digit numbers (
512345678) have no check digit, and 20-digit shipper references collide directly with FedEx and DHL Paket. - Shipper-supplied tracking numbers: GLS US indexes parcels by whatever barcode or reference number the shipper prints on the label, and even answers test/placeholder numbers (
123456789) that shippers have reused. Requiring?carrier=glsusguarantees zero false positives on other carriers' numbers.
Synchronous GET Request & Normalized JSON Response
curl
curl -s "https://api.lastscanned.com/v1/track/512345678?carrier=glsus" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"JavaScript / TypeScript (fetch)
const res = await fetch("https://api.lastscanned.com/v1/track/512345678?carrier=glsus", {
headers: { Authorization: `Bearer ${process.env.LASTSCANNED_API_KEY}` },
});
const pkg = await res.json();
console.log(pkg.status, pkg.service, pkg.signedBy);MCP track_package tool call
{
"tool": "track_package",
"arguments": {
"tracking_number": "512345678",
"carrier": "glsus"
}
}Normalized TrackingResult JSON response
{
"carrier": "glsus",
"trackingNumber": "512345678",
"status": "delivered",
"statusDescription": "SHIPMENT DELIVERED",
"service": "GLS Ground",
"deliveredAt": "2026-10-24T20:15:00Z",
"deliveredAtLocal": "2026-10-24T13:15:00",
"signedBy": "FRONT DOOR",
"destination": {
"city": "OAKLAND",
"state": "CA",
"country": "US"
},
"estimatedDelivery": null,
"events": [
{
"timestamp": "2026-10-24T20:15:00Z",
"localTime": "2026-10-24T13:15:00",
"status": "delivered",
"description": "SHIPMENT DELIVERED",
"location": "OAKLAND, CA",
"code": null
},
{
"timestamp": "2026-10-24T15:10:00Z",
"localTime": "2026-10-24T08:10:00",
"status": "out_for_delivery",
"description": "ON ROUTE FOR DELIVERY",
"location": "HAYWARD, CA",
"code": null
},
{
"timestamp": "2026-10-24T11:42:00Z",
"localTime": "2026-10-24T04:42:00",
"status": "in_transit",
"description": "SCANNED AT DELIVERY DEPOT",
"location": "HAYWARD, CA",
"code": null
},
{
"timestamp": "2026-10-23T22:05:00Z",
"localTime": "2026-10-23T15:05:00",
"status": "label_created",
"description": "LABEL CREATED",
"location": null,
"code": null
}
]
}Related Resources
- Live browser lookup tool: Track a GLS US package live on lastscanned.com/lookup/glsus
- Carrier hub: All 31 supported carriers
- Regex & check digits: Tracking number formats & auto-detection
- AI support workflows: WISMO AI agents & synchronous tracking
TForce Final Mile Tracking API & MCP
Track TForce Final Mile / TForce Logistics (TF 20-character package IDs and order piece numbers across the US and Canada) via synchronous REST GET or MCP. Normalized JSON status, scan history, and tracking number format rules—no carrier credentials required.
OSM Worldwide Tracking API & MCP
Track OSM Worldwide (OSM 17-character IDs, A... hub IDs, and 92... USPS consolidator labels stuck in 'USPS Currently Awaiting Package') via synchronous REST GET or MCP. Normalized JSON status and middle-mile sort scans—no carrier credentials required.