Carriers

POST Luxembourg Tracking API & MCP

Track POST Luxembourg parcels and letters (UPU S10, …LU) with dated events. Query live status, scan history and normalized fields in a single synchronous GET request or MCP tool call.

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)postluxembourg
Brand aliasesPOST Luxembourg, POST Luxembourg, Post Luxembourg, LU Post, P&T Luxembourg
CategoryNational postal operator (LU)
SourcePOST Luxembourg track-and-trace API (POST api.post.lu/services/trackandtrace-api/items, batch of ids); the public client id from its tracking page
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=CP000002341LU,...
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)UPU S10 format with the LU suffix and a valid check digitUPU S10CP000002341LU
Pass 2 (mayMatch)nonenonenone

This shape belongs to POST Luxembourg alone, so ?carrier=postluxembourg is optional.

Synchronous GET Request & Normalized JSON Response

curl -s "https://api.lastscanned.com/v1/track/CP000002341LU?carrier=postluxembourg" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
{
  "carrier": "postluxembourg",
  "trackingNumber": "CP000002341LU",
  "status": "delivered",
  "statusDescription": "Final delivery",
  "service": null,
  "deliveredAt": null,
  "deliveredAtLocal": "2026-10-15",
  "signedBy": null,
  "destination": null,
  "events": [
    {
      "timestamp": null,
      "localTime": "2026-10-15",
      "status": "delivered",
      "description": "Final delivery",
      "location": null,
      "code": "EMI"
    },
    {
      "timestamp": null,
      "localTime": "2026-10-12",
      "status": "out_for_delivery",
      "description": "Item out for delivery",
      "location": null,
      "code": "EDG"
    },
    {
      "timestamp": null,
      "localTime": "2026-10-06",
      "status": "in_transit",
      "description": "Entry into the postal network",
      "location": "Bureau de poste Esch",
      "code": "EMA"
    }
  ]
}

Notes

  • Dates only: events carry a date with no time of day, so localTime is a date and timestamp is null.
  • Batching: numbers go to the API in one request.
  • Scope: the API also tracks S10 items from other posts that POST Luxembourg delivers; auto-detection claims only …LU numbers.

On this page