Install
openclaw skills install @idrs/dhl-trackingTrack DHL parcels in Germany via the dhl.de API. Use when a user asks to track a DHL package, check delivery status, monitor a shipment, or wants notifications about a DHL Sendungsnummer. Works with standard DHL parcel tracking numbers (00340...). No API key required.
openclaw skills install @idrs/dhl-trackingTrack DHL parcels via the dhl.de internal API endpoint using simple HTTP requests.
DHL's tracking website (dhl.de/sendungsverfolgung) is a JavaScript SPA protected by Akamai Bot Manager. The SPA renders tracking data client-side after passing bot checks — headless browsers (even with stealth patches) fail due to TLS fingerprinting.
The solution: A simple curl to www.dhl.de/int-verfolgen/data/search with minimal headers returns full tracking JSON. No auth, no cookies, no JS needed.
bash scripts/dhl_track.sh TRACKING_NUMBER
python3 scripts/dhl_track.py TRACKING_NUMBER
curl -s 'https://www.dhl.de/int-verfolgen/data/search?piececode=TRACKING_NUMBER&language=de' \
-H 'Accept: application/json' -H 'User-Agent: Mozilla/5.0'
sendungen[0].sendungsdetails.sendungsverlauf:
.status → Current status text (German)
.fortschritt → Progress (0-5)
.maximalFortschritt → Always 5
.events[] → Array of {datum, status, ruecksendung}
sendungen[0].sendungsdetails.zustellung:
.zustellzeitfensterVon/Bis → Delivery window
sendungen[0].sendungsdetails.istZugestellt → boolean
To monitor a package and notify when close to delivery:
python3 scripts/dhl_track.py TRACKING_NUMBER periodically (cron, every 30 min)fortschritt from stderr JSON outputfortschritt >= 4 (out for delivery)web_fetch on dhl.de → only gets static HTML shell, no tracking data (JS SPA)nolp.dhl.de legacy endpoint → now also protected by Akamai (returns 500)api-eu.dhl.com) → requires API key registration0034...)language=de (German) or language=en (English)Referer: https://www.dhl.de/ header