SwiftX Express Tracking API & MCP

Query live SwiftX Express (swiftx) parcel status in a single synchronous GET request or MCP tool call. SwiftX delivers Cainiao (AliExpress) parcels across the US, and lastscanned auto-detects its SWX numbers.

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)swiftx
Brand aliasesSwiftX, SwiftX Express (swiftx-express.com)
CategoryUS last-mile parcel carrier (Cainiao)
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=SWX421890000223565246,... (up to 20 SwiftX numbers per tracker request)
MCP server (https://mcp.lastscanned.com)track_package, track_packages, list_carriers
Authentication & pricingAuthorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP

Tracking Number Formats & Auto-Detection

PassRule / RegexCheck DigitExamples
Pass 1 (matches)/^SWX\d{18}$/ (SWX + 18 digits = 21 chars)noneSWX421890000223565246
Pass 2 (mayMatch)nonenonenone

SWX numbers are auto-detected, so ?carrier=swiftx is optional.

Synchronous GET Request & Normalized JSON Response

curl -s "https://api.lastscanned.com/v1/track/SWX421890000223565246" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
{
  "carrier": "swiftx",
  "trackingNumber": "SWX421890000223565246",
  "status": "delivered",
  "statusDescription": "Delivered",
  "service": null,
  "deliveredAt": null,
  "deliveredAtLocal": "2026-11-02T15:27:45",
  "signedBy": null,
  "destination": { "city": null, "state": null, "country": "US" },
  "message": "SwiftX shows its scan history only with the last 4 digits of the recipient's phone number; this is the parcel's current step.",
  "events": [
    {
      "timestamp": null,
      "localTime": "2026-11-02T15:27:45",
      "status": "delivered",
      "description": "Delivered",
      "location": null,
      "code": "step 5"
    }
  ]
}

Notes

  • Current step, not every scan: SwiftX's tracker shows the full scan list only to someone who enters the last 4 digits of the recipient's phone number. Without them it gives the parcel's step on a five-step bar (Label created, Picked up, In transit, Out for delivery, Delivered) and when that step was last updated. lastscanned returns that step as one event (code is step 1 to step 5) and says so in message.
  • Statuses: Label created maps to label_created; Picked up and In transit to in_transit; Out for delivery to out_for_delivery; Delivered to delivered.
  • Time zone: SwiftX gives the update time with no zone, so only localTime is set and timestamp is null.
  • Bot wall: swiftx-express.com puts its tracker behind a Cloudflare challenge, so lookups run in a cloud browser and take about 10 to 15 seconds. A batch of up to 20 numbers shares one browser session.

On this page