DHL Parcel Poland Tracking API & MCP
Query live DHL Parcel PL (dhlparcelpl) package status and scan history in a single synchronous GET request or MCP tool call.
dhlparcelpl covers DHL Parcel Poland (mojdhl.pl). The public service reports the parcel's current step and its posting date, not a full scan list, so the result has one or two events.
Source: Plain GET https://mojdhl.pl/api/dhl/public/auth/captcha/challenge, then POST https://mojdhl.pl/api/dhl/public/shipment/status with the solved challenge. No key needed.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | dhlparcelpl |
| Brand aliases | DHL Parcel Poland, DHL Polska, Moj DHL, DHL24 |
| Category | International parcels |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber}?carrier=dhlparcelpl |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=...,...&carrier=dhlparcelpl |
MCP server (https://mcp.lastscanned.com) | track_package, track_packages, list_carriers |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP |
Tracking Number Formats & Auto-Detection
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | none | none | none |
Pass 2 (mayMatch) | none | none | none |
Poland uses 11-digit shipment numbers (30123456789) and JJD… piece numbers, both shared with other carriers, so pass ?carrier=dhlparcelpl.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/30123456789?carrier=dhlparcelpl" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "dhlparcelpl",
"trackingNumber": "30123456789",
"status": "delivered",
"statusDescription": "Delivered",
"service": null,
"deliveredAt": "2026-08-05T06:42:00Z",
"deliveredAtLocal": "2026-08-05T08:42:00",
"signedBy": null,
"destination": null,
"events": [
{
"timestamp": "2026-08-05T06:42:00Z",
"localTime": "2026-08-05T08:42:00",
"status": "delivered",
"description": "Delivered",
"location": null,
"code": "TT_DOR"
},
{
"timestamp": null,
"localTime": "2026-07-03",
"status": "in_transit",
"description": "Shipment posted",
"location": null,
"code": null
}
]
}Notes
- Proof of work: the site guards its status call with an ALTCHA challenge. The lookup computes it with SHA-256 hashing (up to 100000 hashes, a fraction of a second to under a second of CPU) before asking, so a lookup takes about 1 to 2 seconds in all.
- Detail: the carrier's current step (delivered, ready for collection at a point or locker, out for delivery, returned to sender, and so on) sets
status; its date is the delivery or receipt time when there is one.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
DHL Parcel Spain & Portugal Tracking API & MCP
Track DHL Parcel Iberia (Spain and Portugal) shipments via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
DHL eCommerce UK Tracking API & MCP
Track DHL eCommerce UK parcels (the 14-digit consignment numbers on track.dhlecommerce.co.uk) via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.