DPD UK Tracking API & MCP
Query live DPD UK (dpduk) package status and scan history in a single synchronous GET request or MCP tool call. This is the UK network behind track.dpd.co.uk; for DPD in other European countries (dpd.com) use the DPD Group carrier instead.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | dpduk |
| Brand & service aliases | DPD UK, DPD Local, DPD Pickup, Follow my parcel |
| Category | UK domestic parcel carrier |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber}?carrier=dpduk |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=15501234567890,15501234567891&carrier=dpduk |
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 | n/a | n/a |
Pass 2 (mayMatch) | /^15\d{12}$/ (14-digit label barcode: 1550 plus the 10-digit parcel number) | none | 15501234567890 |
Explicit (?carrier=dpduk) | The 14-digit barcode or the bare 10-digit parcel number | none | 1234567890 |
DPD UK numbers have no check digit and share their shape with other carriers, so pass ?carrier=dpduk whenever you know the parcel is DPD UK. DPD matches on the last 10 digits, so the 14-digit barcode and the 10-digit number find the same parcel.
Synchronous GET Request & Normalized JSON Response
curl
curl -s "https://api.lastscanned.com/v1/track/15501234567890?carrier=dpduk" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"MCP track_package tool call
{
"tool": "track_package",
"arguments": {
"tracking_number": "15501234567890",
"carrier": "dpduk"
}
}Normalized TrackingResult JSON response
{
"carrier": "dpduk",
"trackingNumber": "15501234567890",
"status": "out_for_delivery",
"statusDescription": "Your parcel is out for delivery",
"service": null,
"deliveredAt": null,
"deliveredAtLocal": null,
"signedBy": null,
"destination": null,
"message": null,
"events": [
{
"timestamp": "2026-10-26T07:42:00Z",
"localTime": "2026-10-26T07:42:00",
"status": "out_for_delivery",
"description": "Your parcel is out for delivery",
"location": "Leeds",
"code": null
},
{
"timestamp": "2026-10-25T22:10:00Z",
"localTime": "2026-10-25T23:10:00",
"status": "in_transit",
"description": "Your parcel has arrived at the local delivery depot",
"location": "Leeds",
"code": null
}
]
}Status & Time Notes
- Pickup shops: A parcel waiting at a DPD Pickup shop ("ready to be collected") is reported as
exceptionuntil it is collected, and a refused parcel isexceptiontoo. - Times: DPD UK prints scan times as UK local time with no zone, including scans by its European partner networks, so
timestampis converted fromEurope/LondonandlocalTimeis the time as printed. - Rate limit: DPD allows about 50 requests a minute per IP and each lookup makes three, so large batches may return
rate_limitedfor some numbers.
Related Resources
- Carrier hub: All supported carriers
- Regex & check digits: Tracking number formats & auto-detection
- AI support workflows: WISMO AI agents & synchronous tracking
NZ Post Tracking API & MCP
Track NZ Post and CourierPost parcels (S10 numbers ending NZ and domestic parcel numbers) via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
APC Postal Logistics Tracking API & MCP
Track APC Postal Logistics (apc-pli.com, US international consolidator) parcels and destination carrier handoff numbers via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.