Best for:
- Determining DHL Freight (Europe) available product codes for your business region
- Receive all product relevant properties, options and limitations
- Receive available products for market availability (B2B, B2C) and country/postal code from/to
- Determine general chargeable weight (not customer specific)
- Receive allowed package types
Product API allows you to retrieve following information:
- Determining DHL Freight (Europe) available product codes for your business region
- Receive all product relevant properties, options and limitations
- Determine general chargeable weight (not customer specific)
- Receive available products for market availability (B2B, B2C) and country/postal code from/to
- Receive allowed package types
A short overview of the available methods:
GET /products:
With this method you receive the available DHL Freight products for your business region. You may integrate the Product API in your system, or only use it to understand DHL Freight's products and select the relevant product(s) for Booking API.
For each product following information is provided: - Product code (to be used for booking) and description
- Market availability (e.g. B2B, B2C)
- Available countries from
- Available countries to
- Allowed package types
- Available payer codes (Incoterms, e.g. DAP, DDP, EXW)
- Dangerous goods with allowed and not allowed ADR classes and their exceptions on UN Number or Package Group
- Available additional services (see also Additional Service API)
- Weight, volume, size limitations on shipment and piece level
GET /products/{productCode}:
Same as previous, only for one selected product. You may also optionally provide country from/to and see if the product is available for this country pair.
- POST /productmatches:
Based on provided market availability, countries/postal codes from/to and cargo details, available products with their properties are returned.
Note: locations from and to are defined via party roles. The party roles consignor and consignee are mandatory. The roles pickup and delivery are optional and only needed when they deviate from consignor resp. consignee.
- POST/chargeableweight/calculationresults:
Based on product code, countries/zip codes from/to and cargo details, a calculation of the DHL Freight standard chargeable weight calculation is returned. Customer specific chargeable weight calculation, used for rating and invoicing, is not supported here.
Note: locations from and to are defined via party roles. The party roles consignor and consignee are mandatory. The roles pickup and delivery are optional and only needed when they deviate from consignor resp. consignee.
- GET /packagetypes:
Returns all available package types for all products. Use the package type in the Booking API when sending cargo details.
Note: Better use the method GET /packagetypes/{productCode} to see which package types are available for selected product code.
- GET /packagetypes/{productCode}:
Same as previous, but only returns the package types that are allowed for selected product code.
or additional information, please contact api4freight@dhl.com
Get Access
You must request credentials for any applications you develop. Please check below the options to request your access:
Internal DHL developer:
[1] Click My Apps on the portal website. | [2] Click the + Add App button. | [3.] Complete the Add App form |
You can select the APIs you want to access. When you have completed the form, click the Add App button. |
Authentication
Every call to the API requires a subscription key. This key needs to be either passed through a query string parameter or specified in the request header (DHL-API-Key).
The LocalityRegister API requires a two step authentication where you first need to get access to the LocalityRegister API (see below) and as a second step you need to retrieve a Bearer Token.
To view your API subscription keys:
- From the My Apps screen, click on the name of your app.
The Details screen appears.
- If you have access to more than one API, click the name of the relevant API.
Note: The APIs are listed under the “Credentials” section.
- Click the **Show ** link below the asterisks that is hiding the Consumer Key.
The Consumer Key appears.
With your obtained API Key and API Secret you need to obtain a bearer token via the DHL Group Authentication API.
Set username with your API Key
Set Password with your API Secret.
The obtained Bearer Token now can be used for accessing the API products in your APP.
Environments
The addressable API base URL/URI environments are:
Environment | Description |
https://api-sandbox.dhl.com/freight/info/products/services/v1 | Sandbox environment |
https://api.dhl.com/freight/info/products/services/v1 | Production environment |
Rate limits
Rate limits protect the DHL infrastructure from suspicious requests that exceed defined thresholds.
The table below details the main request limits:
Service Level | Maximum calls per second | Maximum calls per day | - | 250 |
---|
Please contact api4freight@dhl.com if you need a different service level.
When the limit is reached, you will receive an HTTP Status code:
429: Too many requests.
Specifics for the use of DHL Freight Product API
- The Product (DHL Freight) API enables determining available DHL Freight product codes for your business region, product relevant properties, options and limitations. API also brings available products for market availability (B2B, B2C) and country/postal code from/to, general chargeable weight (not customer specific) and allowed package types.
- For the purposes of these Legal Terms, “you”/”your” or “registrant/user” means the (natural) person or entity holding a (transportation) contract with a DHL Freight entity.
- If you engage an external developer or other IT services provider to represent you and to develop Your Application according to the General Developer Portal Terms of Use and these special API terms & conditions (also referred to as “Legal Terms”), you are liable for the acts or omissions of such third party in connection with the usage of the Product (DHL Freight) API and the API Services.
- By registering for the use of and/or using the Product (DHL Freight) API, each registrant and/or user of the Product (DHL Freight) API in addition to the General Developer Portal Terms of Use agree to these Legal Terms and all the terms included herein. Should the terms of the General Developer Portal Terms of Use and these Legal Terms conflict, these Legal Terms shall govern.
- These Legal Terms and the General Developer Portal Terms of Use govern your usage of Product (DHL Freight) API including the API Service and, unless otherwise stated herein, do not replace and/or modify any other DHL Freight terms and conditions, DHL Freight transportation services agreements and/or any other agreements, contracts or SOWs with a specific DHL Freight entity or any of its affiliates, which govern services or products provided to you (separately, each an “Agreement”). Notwithstanding the foregoing, you expressly acknowledge and agree that solely with respect to your use of Product (DHL Freight) API including the API Service these Legal Terms and the General Developer Portal Terms of Use shall have preference over the terms and conditions in an Agreement, unless any terms and conditions in an Agreement specifically address the use of the Product (DHL Freight) API or the API Service by you, in which case the specific terms and conditions of the Agreement shall prevail with respect to Your use of the Product (DHL Freight) API/the API Service.
- The API Productive Key for the Product (DHL Freight) API is a private and individual key for you. it shall not be used by or for other external customers. You may not allow your developer or IT services provider to use your API Productive Key for potential other DHL Freight (transportation) customers.
- Neither DHL Freight nor any other affiliate within DHL Group, is responsible for storing a record of any data (API-call or -request data or the actual contents of the data sets), that has been exchanged via the Product (DHL Freight) API, unless expressly agreed upon in writing (e.g. in the Agreement).
- You shall use the services and/or data that you receive via the Product (DHL Freight) API only for the legitimate business purposes, only in connection with DHL Freight's transportation and/or other services, and in compliance with all applicable laws and regulations, including but not limited to, laws regarding the use of personal data.
- You acknowledge that material and information you may acquire, including (but not limited to) transportation methods, booking information, financial or other accounting information and other procedures and processes relating to the Product (DHL Freight) API and the API Service (“Materials”) are proprietary, confidential, and owned by DHL Freight. Other than described herein, you shall have no additional rights to the Materials.
- For the purposes of the use of the Product (DHL Freight) API and the API Service, these Legal Terms and the General Developer Portal Terms of Use are governed by the law and jurisdiction defined in the Agreement. Should no law or jurisdiction be defined in the Agreement or otherwise, these Legal Terms shall be governed according to the law and jurisdiction of the principal place of business of the according DHL Freight entity/division providing the transportation services.