Carriers

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, no mayMatch). Because GLS US uses 8–11 digit uncheck-digited GSO numbers (typically 9 digits like 512345678 or 758110995) 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

PropertyValue
Carrier slug (?carrier=)glsus (Required on every request — never auto-detected)
Brand & service aliasesGLS US, GLS USA, GSO, Golden State Overnight, GLS Ground (CPS), Priority Overnight (PDS), Early Priority Overnight (EPS), Noon Priority Overnight (NPS), Saturday Delivery (SDS)
CategoryUS West Coast regional parcel carrier — CA, AZ, NV, OR, WA, ID, NM, UT (Listing order #24 of 31)
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}?carrier=glsus
Batch REST endpointGET 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 & pricingAuthorization: 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. lastscanned automatically sorts matching shipments by newest shipDate and 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 the signedBy field on returned shipments. lastscanned maps service names cleanly and clears signedBy to null unless the parcel is actually delivered.
  • West Coast timezone normalization: GLS US prints scan times in local wall-clock time without a UTC offset. lastscanned maps Pacific states (CA, NV, OR, WA → America/Los_Angeles) and Arizona (AZ → America/Phoenix, no DST) to compute accurate UTC timestamp values alongside localTime.

Tracking Number Formats & Why ?carrier=glsus Is Required

PassRule / RegexCheck DigitExamples
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

  1. 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.
  2. 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=glsus guarantees 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
    }
  ]
}

On this page