Carriers

Ukrposhta Tracking API & MCP

Query live Ukrposhta (ukrposhta) package status and scan history in a single synchronous GET request or MCP tool call. lastscanned auto-detects S10 numbers ending in UA; 13-digit domestic numbers are tried when nothing else claims them.

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)ukrposhta
Brand aliasesUkrposhta, Ukrainian Post, Укрпошта
CategoryNational post (Ukraine)
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=CA123456785UA,...
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)S10 *UA with a valid check digit (/^[A-Z]{2}\d{9}UA$/)S10CA123456785UA
Pass 2 (mayMatch)/^05\d{11}$/none0505000000001

Synchronous GET Request & Normalized JSON Response

curl -s "https://api.lastscanned.com/v1/track/CA123456785UA?carrier=ukrposhta" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
{
  "carrier": "ukrposhta",
  "trackingNumber": "CA123456785UA",
  "status": "delivered",
  "statusDescription": "Final delivery",
  "service": null,
  "deliveredAt": null,
  "deliveredAtLocal": "2026-09-26T09:00:00",
  "signedBy": null,
  "destination": null,
  "events": [
    {
      "timestamp": null,
      "localTime": "2026-09-26T09:00:00",
      "status": "delivered",
      "description": "Final delivery",
      "location": "China",
      "code": "48000"
    },
    {
      "timestamp": null,
      "localTime": "2026-09-26T08:28:00",
      "status": "out_for_delivery",
      "description": "Item out for physical delivery",
      "location": "China",
      "code": "29500"
    },
    {
      "timestamp": "2026-09-12T12:35:00Z",
      "localTime": "2026-09-12T15:35:00",
      "status": "label_created",
      "description": "Registered",
      "location": "Kyiv",
      "code": "10100"
    }
  ]
}

Notes

  • Source: the status API of Ukrposhta's own Android app, which uses one static application key that ships in the app. The track.ukrposhta.ua page (reCAPTCHA) is not used.
  • Times: scans inside Ukraine have timestamp (Kyiv time converted to UTC). Scans by the destination post come in that country's time with no zone given, so they carry localTime only and deliveredAt can be null.
  • Returns: scans of a returned domestic parcel are marked returned, ending in Return: Delivered to Sender.

On this page