Connect DHL Express: live rates, labels, and tracking
Get the API Key and API Secret from your approved MyDHL API app in the DHL Developer Portal, paste them plus your DHL Express Account Number into Integration, test, and start rating and shipping.
The DHL Express connector gets live rates, buys labels, and tracks shipments through the MyDHL API. Rates and shipments are billed to your DHL Express account. This is DHL Express only — it is not DHL eCommerce, which uses a different API and different credentials.
Prerequisites#
- A DHL Express account, and its DHL Express Account Number — you can find it on a DHL bill or in mydhl+ under My Profile.
- Access to the DHL Developer Portal (developer.dhl.com) with an approved MyDHL API app.
- Start in the sandbox if you want to practise first: fill the sandbox field with true. The test environment has a daily call limit, so save test calls for real checks.
Get your credentials#
- Go to the DHL Developer Portal (developer.dhl.com) → Apps → your approved MyDHL API app.
- In the Credential section, click Show key next to API Key and copy it. This API Key is what you will fill in as the API Username — it is not your mydhl+ website login.
- In the same Credential section, click Show key next to API Secret and copy it. This API Secret is what you will fill in as the API Password.
- Find your DHL Express Account Number on a DHL bill, or in mydhl+ → My Profile. Keep it with the Key and Secret — you need all three to fill in the connection.
Fill it into Integration#
- Open Integration → Connector Marketplace → DHL Express → New connection.
- API Username: paste the API Key from the Credential section of your MyDHL API app. Despite the field name, this field takes the API Key — not a mydhl+ login name.
- API Password: paste the API Secret from the same Credential section. Despite the field name, this field takes the API Secret — not your mydhl+ website password.
- DHL Express Account Number: fill in your DHL Express account number from a DHL bill or mydhl+ → My Profile. Rates and labels are billed to this account, so a wrong number only shows up later, at quote or label time.
- Use sandbox (optional): fill in true to use the test environment while you practise; leave it blank to use production.
Test the connection#
MyDHL has no token endpoint, so the test works differently from other carriers: it sends your API Key and API Secret to the tracking endpoint and looks up a shipment number that does not exist. If DHL answers 404 — shipment not found — that is good news: it means your credentials were accepted, and only the made-up shipment is missing. The test passes on that 404. A 401 or 403 answer is the real failure: it means the credentials were rejected. The test is read-only, creates no shipment, and does not check your account number — a wrong account number can still pass the test and only fail later when you quote or buy a label.
Mapping / pick a template#
DHL Express needs no order mapping — it works on parcels, not orders. What you set here is the carrier service mapping: in the connection settings, match each DHL Express service you actually offer to the service name you use when shipping, and leave services you do not offer unmapped. Rate shopping then only quotes the services you mapped, so a parcel is never priced or labelled on a service your account does not ship.
Activate#
After activation, the connection is available for rate shopping and label buying at ship time, billed to the DHL Express account number on the connection. Tracking updates come back automatically and land on the shipment. Watch the first few shipments in Runs / Logs before trusting it unattended — especially the first rate quote, because the test does not check the account number.
FAQ#
The test mentions 404 or shipment not found — did it fail?
No — for DHL Express, that 404 is the success signal. The test deliberately looks up a shipment number that does not exist. Getting a not found answer means DHL accepted your API Key and API Secret and only rejected the made-up shipment.
Treat the test as passed and continue to mapping and activation. Only a 401 or 403 answer means the test really failed.
Test fails with 401 or 403
DHL rejected the credentials. The usual reasons are that the API Key or API Secret was copied wrong, the two were swapped, or a mydhl+ website password — or DHL eCommerce credentials — was filled in instead of the MyDHL API Secret.
Go back to DHL Developer Portal → Apps → your approved MyDHL API app → Credential section, click Show key again, and re-copy carefully: API Key into API Username, API Secret into API Password. Then test again.
Test passes, but rate quotes or labels fail
The connection test does not check your account number at all, so it can pass with a wrong account number. The mistake only shows up when a real quote or label tries to bill that account.
Check the DHL Express Account Number against a DHL bill or mydhl+ → My Profile, correct it on the connection, and run the quote again.
I used my mydhl+ login or my DHL eCommerce credentials and it does not work
These are three different credential sets that do not substitute for each other: the mydhl+ website login is for the website, DHL eCommerce credentials belong to a different API, and this connection only accepts the API Key and API Secret of a MyDHL API app.
Use only the MyDHL API credentials for this connection: DHL Developer Portal → Apps → your approved MyDHL API app → Credential section → Show key for the API Key and the API Secret. Keep any eCommerce credentials for the eCommerce connector instead.