Carriers

Evri (UK) Tracking API & MCP

Query live Evri (evri, formerly Hermes UK) package status and scan history in a single synchronous GET request or MCP tool call. Evri's 16-character parcel barcodes are not unique to Evri, so pass ?carrier=evri when you know the carrier.

Overview & Quick Facts

PropertyValue
Carrier slug (?carrier=)evri
Brand aliasesEvri, Hermes UK, Hermes
CategoryUK domestic parcel carrier
Single-package REST endpointGET https://api.lastscanned.com/v1/track/{trackingNumber}?carrier=evri
Batch REST endpointGET https://api.lastscanned.com/v1/track?numbers=H01QHA0012345678,H01QHA0012345679&carrier=evri
MCP server (https://mcp.lastscanned.com)track_package, track_packages, list_carriers (claude mcp add --transport http lastscanned https://mcp.lastscanned.com)
Authentication & pricingAuthorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP · Free tier (5 unique numbers/day, $0) · Pro ($4.99/mo for 1,000 unique numbers, unlimited re-polls, $0.015/extra) · HTTP 402 Stripe MPP ($0.50 for 25-number lsk_pack_ key or $0.02/number in USDC on Tempo)

Tracking Number Formats & Auto-Detection

PassRule / RegexCheck DigitExamples
Pass 1 (matches)None——
Pass 2 (mayMatch)/^H[0-9A-Z]{15}$/ containing at least one digit (16 characters)—H01QHA0012345678

Other 16-character Evri barcodes that do not start with H need ?carrier=evri. The shorter receipt references the Evri site also accepts are not supported.

Synchronous GET Request & Normalized JSON Response

curl -s "https://api.lastscanned.com/v1/track/H01QHA0012345678?carrier=evri" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
{
  "carrier": "evri",
  "trackingNumber": "H01QHA0012345678",
  "status": "out_for_delivery",
  "statusDescription": "Your parcel is with your local courier and will be delivered today",
  "deliveredAt": null,
  "events": [
    {
      "timestamp": "2026-10-26T07:41:00Z",
      "localTime": "2026-10-26T08:41:00",
      "status": "out_for_delivery",
      "description": "Your parcel is with your local courier and will be delivered today",
      "location": null,
      "code": "4_COURIER"
    },
    {
      "timestamp": "2026-10-25T18:10:00Z",
      "localTime": "2026-10-25T19:10:00",
      "status": "in_transit",
      "description": "Your parcel has arrived at our local depot",
      "location": null,
      "code": "3"
    }
  ]
}

Status Notes

  • Stage codes: Evri's own stage codes drive status: 0/1 label created, 2/3 in transit, 4_COURIER out for delivery, 5_COURIER/5_SHOP delivered, 4_SHOP/4_LOCKER (ready for collection) and 6_ACTION (needs action) exception, A returned.
  • Times: Scans are UK local time (Europe/London) and are also given as UTC timestamp.
  • Locations: Evri's public tracking gives no place names, so location is null.

On this page