Carriers

CTT Express Tracking API & MCP

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

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)cttexpress
Brand aliasesCTT Express Spain, Zeleris
CategoryExpress parcels (Spain, Portugal)
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=...,...
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)/^00\d{20}$/none0012300012345678001234

matches is empty. mayMatch takes a 22-digit code starting 00, which is how CTT Express shipping codes look. This is the parcel company, not CTT Correios (ctt).

Synchronous GET Request & Normalized JSON Response

curl -s "https://api.lastscanned.com/v1/track/0012300012345678001234?carrier=cttexpress" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
{
  "carrier": "cttexpress",
  "trackingNumber": "0012300012345678001234",
  "status": "exception",
  "statusDescription": "Recogida fallida: CLIENTE NO TIENE PREPARADA MERCANCÍA",
  "service": null,
  "deliveredAt": null,
  "deliveredAtLocal": null,
  "signedBy": null,
  "destination": {
    "city": "ARENAL",
    "state": null,
    "country": null
  },
  "events": [
    {
      "timestamp": "2026-07-09T14:42:03Z",
      "localTime": "2026-07-09T14:42:03",
      "status": "exception",
      "description": "Recogida fallida: CLIENTE NO TIENE PREPARADA MERCANCÍA",
      "location": null,
      "code": "0600"
    },
    {
      "timestamp": "2026-07-08T14:24:50Z",
      "localTime": "2026-07-08T14:24:50",
      "status": "label_created",
      "description": "Pendiente de recepción en CTT Express",
      "location": null,
      "code": "0000"
    }
  ]
}

Notes

  • Source: the JSON (wct.cttexpress.com/p_track_redis_v2.php) that the CTT Express tracking app calls with its own origin. No account is needed.
  • Time zone: CTT Express reports UTC, so localTime is the UTC clock time and carries no local zone.
  • Incidents: when a scan carries an incident (incident_type_name), it is appended to the description.
  • Not found: an unknown code returns an empty body, which becomes not_found.

On this page