Carriers

BEX Express Tracking API & MCP

Query live BEX Express (bexexpress) package status and scan history in a single synchronous GET request or MCP tool call.

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)bexexpress
Brand aliasesBEX Express, BEX, Bex Express Serbia, bexexpress.rs
CategorySerbian courier
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=299123456,299123456
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)nonenonenone
Pass 2 (mayMatch)nonenonenone

BEX Express numbers share their shape with other carriers, so they are not auto-detected: pass ?carrier=bexexpress.

Synchronous GET Request & Normalized JSON Response

curl -s "https://api.lastscanned.com/v1/track/258523787?carrier=bexexpress" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
{
  "carrier": "bexexpress",
  "trackingNumber": "258523787",
  "status": "delivered",
  "statusDescription": "Dostavljeno",
  "service": null,
  "deliveredAt": "2026-09-02T08:20:49Z",
  "deliveredAtLocal": "2026-09-02T10:20:49",
  "signedBy": null,
  "destination": null,
  "events": [
    {
      "timestamp": "2026-09-02T08:20:49Z",
      "localTime": "2026-09-02T10:20:49",
      "status": "delivered",
      "description": "Dostavljeno",
      "location": "Beograd",
      "code": "21"
    },
    {
      "timestamp": "2026-08-25T10:14:58Z",
      "localTime": "2026-08-25T12:14:58",
      "status": "in_transit",
      "description": "Preuzeto",
      "location": "Makiš",
      "code": "11"
    },
    {
      "timestamp": "2026-08-25T07:57:40Z",
      "localTime": "2026-08-25T09:57:40",
      "status": "label_created",
      "description": "Evidentirano",
      "location": "Makiš",
      "code": "1"
    }
  ]
}

Notes

  • Route: the JSON that bexexpress.rs's tracking page calls; the request header it sends is a constant in the page's own script. No account.
  • Time zone: each scan carries a GMT+1/GMT+2 offset, used for timestamp.
  • Status: the page's codes are mapped: 1 registered, 11 picked up, 21 delivered, 25/30 returned. The COD payout row (31) is kept as a scan; the parcel stays delivered.

On this page