Carriers

AxleHire (Jitsu) Tracking API & MCP

Query live AxleHire / Jitsu (axlehire) package status and scan history in a single synchronous GET request or MCP tool call. AxleHire rebranded to Jitsu (gojitsu.com), and lastscanned supports both its 12/16-character mixed alphanumeric tracking tokens and 19-character SCD… barcodes in Pass 2 (mayMatch), returning a normalized TrackingResult JSON payload—without requiring a Jitsu enterprise shipper contract.

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)axlehire
Brand & service aliasesAxleHire, Jitsu, GoJitsu, Jitsu Same-Day / Next-Day
CategoryUS metro same-day & next-day last-mile parcel carrier (Detection precedence #13 of 31)
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=4AUMF4FWVRB5,SCD... (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 & 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 AxleHire / Jitsu

  • No Jitsu enterprise API keys or webhook setup: Official Jitsu API access is provisioned only to direct enterprise shippers. lastscanned lets any application, post-purchase portal, or WISMO AI agent query Jitsu tracking tokens synchronously via GET /v1/track/:number.
  • Smart normalization of Jitsu's internal route signals: Jitsu's raw shipment_events stream emits GEOCODED mid-transit when a delivery route is re-planned (which naively resets a package's status back to label_created), uses PICKUP_SUCCEEDED when a driver loads the parcel onto a delivery vehicle (actually out_for_delivery), and emits RETURN_SUCCEEDED when an undelivered parcel returns to the local Jitsu depot for redelivery (still in_transit, not returned to sender). lastscanned handles all three edge cases accurately.

Tracking Number Formats & Auto-Detection (matches vs mayMatch)

Because Jitsu's 12- and 16-character tracking tokens have no fixed prefix (e.g. 4AUMF4FWVRB5, BQH4FN5QAQYV3SDQ), AxleHire / Jitsu deliberately returns false in Pass 1 (matches) and runs exclusively in Pass 2 (mayMatch) so every prefixed carrier (VH…, CR…, AP…, LP…, BTP…) claims its numbers first:

PassRule / RegexCheck DigitExamples
Pass 1 (matches)None (false) — deferred to Pass 2 to prevent prefix collisions——
Pass 2 (mayMatch) — SCD barcode/^SCD[0-9A-Z]{16}$/i (SCD + 16 alphanumeric characters = 19 chars)—SCD0000F00410922107
Pass 2 (mayMatch) — 12/16-char token/^([0-9A-Z]{12}|[0-9A-Z]{16})$/i with at least one letter, one digit, and not all-letters-then-all-digits (!/^[A-Z]+\d+$/i)—4AUMF4FWVRB5, BQH4FN5QAQYV3SDQ

Why !/^[A-Z]+\d+$/i is enforced & when to pass ?carrier=axlehire

  • Zero collision with VH, CR, LP, AP: Standard prefixed barcodes like CR010740141269 (Cirro, 14 chars) or AP00830954074290 (Cainiao, 16 chars) are all-letters followed by all-digits and are matched in Pass 1. Jitsu's 12/16-character tokens interleave letters and digits (4AUMF4FWVRB5).
  • When ?carrier=axlehire is required: Only if a Jitsu token happens to consist strictly of leading letters followed by trailing digits (rare), or if you are querying a non-standard shipper reference number.

Synchronous GET Request & Normalized JSON Response

curl

curl -s "https://api.lastscanned.com/v1/track/4AUMF4FWVRB5" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"

JavaScript / TypeScript (fetch)

const res = await fetch("https://api.lastscanned.com/v1/track/4AUMF4FWVRB5", {
  headers: { Authorization: `Bearer ${process.env.LASTSCANNED_API_KEY}` },
});
const pkg = await res.json();
console.log(pkg.status, pkg.estimatedDeliveryAt, pkg.deliveredAt);

MCP track_package tool call

{
  "tool": "track_package",
  "arguments": {
    "tracking_number": "4AUMF4FWVRB5"
  }
}

Normalized TrackingResult JSON response

{
  "carrier": "axlehire",
  "trackingNumber": "4AUMF4FWVRB5",
  "status": "delivered",
  "statusDescription": "Delivered",
  "service": null,
  "deliveredAt": "2026-10-24T21:08:33Z",
  "deliveredAtLocal": "2026-10-24T14:08:33",
  "signedBy": "RECEPTION",
  "destination": {
    "city": "SAN FRANCISCO",
    "state": "CA",
    "country": "US"
  },
  "estimatedDelivery": "2026-10-24T20:00:00",
  "estimatedDeliveryAt": "2026-10-25T03:00:00Z",
  "message": "Left inside front lobby by mailboxes",
  "events": [
    {
      "timestamp": "2026-10-24T21:08:33Z",
      "localTime": "2026-10-24T14:08:33",
      "status": "delivered",
      "description": "Delivered",
      "location": "San Francisco, CA",
      "code": "DROPOFF_SUCCEEDED"
    },
    {
      "timestamp": "2026-10-24T16:45:10Z",
      "localTime": "2026-10-24T09:45:10",
      "status": "out_for_delivery",
      "description": "Out for delivery",
      "location": "San Leandro, CA",
      "code": "PICKUP_SUCCEEDED"
    },
    {
      "timestamp": "2026-10-24T10:12:04Z",
      "localTime": "2026-10-24T03:12:04",
      "status": "in_transit",
      "description": "Received at sortation center",
      "location": "San Leandro, CA",
      "code": "RECEIVED_OK"
    },
    {
      "timestamp": "2026-10-23T22:00:00Z",
      "localTime": "2026-10-23T15:00:00",
      "status": "label_created",
      "description": "Shipment info received",
      "location": "San Francisco, CA",
      "code": "GEOCODED"
    }
  ]
}

Raw status & signal codes: events[].code preserves Jitsu's signal identifier (CREATED, GEOCODED, RECEIVED_OK, BOOKED, PICKUP_EN_ROUTE, PICKUP_SUCCEEDED, DROPOFF_EN_ROUTE, DROPOFF_SUCCEEDED, DROPOFF_FAILED, RETURN_SUCCEEDED, MISDELIVERED), while message surfaces driver delivery notes (dropoff_note) or exception remarks.

Carrier-Specific Status & Integration Notes

  • Exact UTC + local timestamps & ETAs: Jitsu provides UTC timestamps alongside the recipient's IANA timezone (e.g. America/Los_Angeles) and a dropoff_latest_ts delivery window deadline, populating timestamp, localTime, estimatedDelivery (local), and estimatedDeliveryAt (UTC).
  • Mid-transit GEOCODED guard: If a shipment already has physical scan milestones (in_transit or out_for_delivery) and Jitsu emits a route re-plan GEOCODED event at the top of the list, lastscanned keeps the top-level status at the true physical state instead of reverting to label_created.

On this page