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
| Property | Value |
|---|---|
Carrier slug (?carrier=) | evri |
| Brand aliases | Evri, Hermes UK, Hermes |
| Category | UK domestic parcel carrier |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber}?carrier=evri |
| Batch REST endpoint | GET 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 & pricing | Authorization: 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
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
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/1label created,2/3in transit,4_COURIERout for delivery,5_COURIER/5_SHOPdelivered,4_SHOP/4_LOCKER(ready for collection) and6_ACTION(needs action) exception,Areturned. - Times: Scans are UK local time (
Europe/London) and are also given as UTCtimestamp. - Locations: Evri's public tracking gives no place names, so
locationisnull.
Related Resources
- Carrier hub: All supported carriers
- Regex & check digits: Tracking number formats & auto-detection
Blue Dart (DHL Group, India) Tracking API & MCP
Track Blue Dart (DHL Group, India) shipments via synchronous REST GET or MCP. Normalized JSON status and scan history with Asia/Kolkata timestamps, no carrier credentials required.
An Post (Ireland) Tracking API & MCP
Track An Post (Irish Post) parcels and registered mail, including S10 international numbers ending IE, via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.