DHL Parcel UK
DHL Parcel UK offers domestic and international shipping to over 160 countries worldwide for shipments originating in the United Kingdom. Their home collection service is available Monday-Friday to ship standard parcels (0-15kg) and even extra-large parcels (25kg). They also provide a one-hour-collection-window so you don’t need to wait all day to meet the driver. For smaller parcels, you may prefer to use their drop-off services and save money in the process.
This guide provides developers with the details needed to build DHL Parcel UK shipping capabilities into your ShipStation API workflows.
Requirements
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | required | |
client_id | string | required | Client ID |
client_secret | string | required | Client Secret |
Optional Pickup Account Connection Fields
There are several optional properties in the DHL Parcel UK connection call, based on the type of Pickup Account you have: Domestic and Channel Islands Shipping, International Air Shipping, or International Road Shipping.
If you would like to add your Pickup Account with your DHL Parcel UK connection, include the following additional information relevant to your Pickup Account type:
| Property | Type | Description |
|---|---|---|
unlinked_returns_api_key | string | Unlinked Returns API Key |
unlinked_returns_account_number | string | Unlinked Returns Account Number |
unlinked_returns_partner_code | string | Unlinked Returns Partner Code |
pickup_account_domestic | string | Pickup Account |
pickup_account_international_air | string | Pickup Account |
pickup_account_international_road | string | Pickup Account |
type_of_customs_invoice | string | Customs Invoice Type |
customer_no | string | Customer Account Number |
book_adhoc_collection_domestic | boolean | Enable 'Book an adhoc Collection' |
collection_start_time_domestic | string | Collection Start Time |
collection_end_time_domestic | string | Collection End Time |
book_adhoc_collection_intl_air | boolean | Enable 'Book an adhoc Collection' |
collection_start_time_intl_air | string | Collection Start Time |
collection_end_time_intl_air | string | Collection End Time |
book_adhoc_collection_intl_road | boolean | Enable 'Book an adhoc Collection' |
collection_start_time_intl_road | string | Collection Start Time |
collection_end_time_intl_road | string | Collection End Time |
Shipping Requirements
- Several DHL Parcel UK services require dimensions in addition to the weight value.
Connect Account
You can connect a DHL Parcel UK account using the POST method to the /v1/connections/carriers/ endpoint, or via the ShipStation API Dashboard.
For instructions on connecting DHL Parcel UK via the ShipStation API dashboard, go to our DHL Parcel UK help article.
Connect via Endpoint
carrier_name: dhl_parcel_uk
POST /v1/connections/carriers/:carrier_name
Sample request:
This example request contains the properties for all Pickup Account types. For the best outcome, only use the information relevant to your Pickup Account type when making your connection call.
A successful connection will return a response with the carrier_id. You'll use that for any requests for this account going forward.
Rates
DHL Parcel UK does not send estimated rates to ShipStation API. Your DHL Parcel UK account contact can provide you with the details about your contracted rates.
Service Details
Available DHL Parcel UK services are provided below. Please note that carriers may update their available services at any time. To ensure you are always using valid services, you can use the list carrier services endpoint at any time.
Domestic Services
| Service | Carrier Code | API Code |
|---|---|---|
| Bagit Next Day | DHLParcelUK_Bagit_ND | DHLParcelUK_Bagit_ND |
| Bagit Next Day 09:00 | DHLParcelUK_Bagit_ND_0900 | DHLParcelUK_Bagit_ND_0900 |
| Bagit Next Day 10:30 | DHLParcelUK_Bagit_ND_1030 | DHLParcelUK_Bagit_ND_1030 |
| Bagit Next Day 10:30 (Specified Address / Leave Safe) | DHLParcelUK_Bagit_ND_1030_LS | dhl_parcel_uk_bagit_next_day_1030_leave_safe |
| Bagit Next Day 10:30 (Specified Address / Neighbour) | DHLParcelUK_Bagit_ND_1030_NBR | dhl_parcel_uk_bagit_next_day_1030_neighbour |
| Bagit Next Day 12:00 | DHLParcelUK_Bagit_ND_1200 | DHLParcelUK_Bagit_ND_1200 |
| Bagit Next Day 12:00 (Specified Address / Leave Safe) | DHLParcelUK_Bagit_ND_1200_LS | dhl_parcel_uk_bagit_next_day_1200_leave_safe |
| Bagit Next Day 12:00 (Specified Address / Neighbour) | DHLParcelUK_Bagit_ND_1200_NBR | dhl_parcel_uk_bagit_next_day_1200_neighbour |
| Bagit Next Day (Specified Address / Leave Safe) | DHLParcelUK_Bagit_ND_LS | dhl_parcel_uk_bagit_next_day_leave_safe |
| Bagit Next Day (Specified Address / Neighbour) | DHLParcelUK_Bagit_ND_NBR | dhl_parcel_uk_bagit_next_day_neighbour |
| Bagit Next Day - ServicePoint Delivery | DHLParcelUK_Bagit_ND_PUDO | DHLParcelUK_Bagit_ND_PUDO |
| Bagit Saturday | DHLParcelUK_Bagit_SAT | dhl_parcel_uk_bagit_saturday |
| Bagit Saturday 09:00 | DHLParcelUK_Bagit_SAT_0900 | dhl_parcel_uk_bagit_saturday_0900 |
| Bagit Saturday 10:30 | DHLParcelUK_Bagit_SAT_1030 | dhl_parcel_uk_bagit_saturday_1030 |
| Bagit Saturday 10:30 (Specified Address / Leave Safe) | DHLParcelUK_Bagit_SAT_1030_LS | dhl_parcel_uk_bagit_saturday_1030_leave_safe |
| Bagit Saturday 10:30 (Specified Address / Neighbour) | DHLParcelUK_Bagit_SAT_1030_NBR | dhl_parcel_uk_bagit_saturday_1030_neighbour |
| Bagit Saturday (Specified Address / Leave Safe) | DHLParcelUK_Bagit_SAT_LS | dhl_parcel_uk_bagit_saturday_leave_safe |
| Bagit Saturday (Specified Address / Neighbour) | DHLParcelUK_Bagit_SAT_NBR | dhl_parcel_uk_bagit_saturday_neighbour |
| Pallet 48 Hours | DHLParcelUK_Pallet_48H | DHLParcelUK_Pallet_48H |
| Pallet Next Day | DHLParcelUK_Pallet_ND | DHLParcelUK_Pallet_ND |
| Parcel 48 Hours (Specified Address / Neighbour) | DHLParcelUK_Parcel_48H | DHLParcelUK_Parcel_48H_NBR |
| Parcel 48 Hours - ServicePoint Delivery | DHLParcelUK_Parcel_48H_PUDO | DHLParcelUK_Parcel_48H_PUDO |
| Parcel 72 Hours (Specified Address / Leave Safe) | DHLParcelUK_Parcel_72H | DHLParcelUK_Parcel_72H_LS |
| Parcel 72 Hours - ServicePoint Delivery | DHLParcelUK_Parcel_72H_PUDO | DHLParcelUK_Parcel_72H_PUDO |
| Parcel Next Day | DHLParcelUK_ND | DHLParcelUK_ND |
| Parcel Next Day 09:00 | DHLParcelUK_ND_0900 | DHLParcelUK_ND_0900 |
| Parcel Next Day 10:30 | DHLParcelUK_ND_1030 | DHLParcelUK_ND_1030 |
| Parcel Next Day 10:30 (Specified Address / Leave Safe) | DHLParcelUK_ND_1030_LS | dhl_parcel_uk_parcel_next_day_1030_leave_safe |
| Parcel Next Day 10:30 (Specified Address / Neighbour) | DHLParcelUK_ND_1030_NBR | dhl_parcel_uk_parcel_next_day_1030_neighbour |
| Parcel Next Day 12:00 | DHLParcelUK_ND_1200 | DHLParcelUK_ND_1200 |
| Parcel Next Day 12:00 (Specified Address / Leave Safe) | DHLParcelUK_ND_1200_LS | dhl_parcel_uk_parcel_next_day_1200_leave_safe |
| Parcel Next Day 12:00 (Specified Address / Neighbour) | DHLParcelUK_ND_1200_NBR | dhl_parcel_uk_parcel_next_day_1200_neighbour |
| Parcel Next Day (Specified Address / Leave Safe) | DHLParcelUK_ND_LS | dhl_parcel_uk_parcel_next_day_leave_safe |
| Parcel Next Day (Specified Address / Neighbour) | DHLParcelUK_ND_NBR | dhl_parcel_uk_parcel_next_day_neighbour |
| Parcel Next Day - ServicePoint Delivery | DHLParcelUK_ND_PUDO | DHLParcelUK_ND_PUDO |
| Parcel Saturday | DHLParcelUK_SAT | dhl_parcel_uk_parcel_saturday |
| Parcel Saturday 09:00 | DHLParcelUK_SAT_0900 | dhl_parcel_uk_parcel_saturday_0900 |
| Parcel Saturday 10:30 | DHLParcelUK_SAT_1030 | dhl_parcel_uk_parcel_saturday_1030 |
| Parcel Saturday 10:30 (Specified Address / Leave Safe) | DHLParcelUK_SAT_1030_LS | dhl_parcel_uk_parcel_saturday_1030_leave_safe |
| Parcel Saturday 10:30 (Specified Address / Neighbour) | DHLParcelUK_SAT_1030_NBR | dhl_parcel_uk_parcel_saturday_1030_neighbour |
| Parcel Saturday (Specified Address / Leave Safe) | DHLParcelUK_SAT_LS | dhl_parcel_uk_parcel_saturday_leave_safe |
| Parcel Saturday (Specified Address / Neighbour) | DHLParcelUK_SAT_NBR | dhl_parcel_uk_parcel_saturday_neighbour |
International Services
| Service | Carrier Code | API Code |
|---|---|---|
| DHL Parcel Connect | DHLParcelUK_206 | DHLParcelUK_Conect |
| International Road Economy | DHLParcelUK_204 | DHLParcelUK_Intl_Rd_Eco |
| Parcel 48 Hours (Specified Address / Neighbour) - Channel Islands | DHLParcelUK_Parcel_48H_CI | dhl_parcel_uk_bagit_nd_48h_ci |
| Parcel 48 Hours - ServicePoint Delivery to Channel Islands | DHLParcelUK_Parcel_48H_PUDO_CI | dhl_parcel_uk_bagit_nd_48h_pudo_ci |
| Worldwide Air | Worldwide Air | DHLParcelUK_WW_Air |
Optimizing Customs Data for International Shipments to Prevent Delays
To ensure smooth customs clearance and minimize the risk of shipment inspections or delays, it is critical to provide high-quality data for every international shipment. Poor data quality, specifically vague descriptions and missing HS codes, often triggers manual reviews by destination authorities.
Key Takeaways for Merchants
- Be Literal: Describe the item as if you are explaining it to someone who cannot see it.
- Include Part Numbers: If your product has a Part Number (PAN), include it in the reference field to help customs verify the item.
- The "Rule of Three": A great description usually answers What it is, What it's made of, and What it's for.
Write Accurate Line Item Descriptions
Customs authorities need to know exactly what is being imported, what it is made of, and its intended use. Avoid using internal marketing descriptions or vague terms.
- Avoid Stop Words: Words like "Sample," "Variety," or "Gift" are frequently flagged and may trigger an automatic inspection. This is a ​List of Common Stop Words.
- Include Material Composition: For items like footwear or apparel, specify the materials (e.g., "Men’s jeans, 80% cotton, 20% polyester" instead of just "Jeans").
- Detail the Product Type: Instead of "VINTAGE FOOTWEAR," use "Women’s shoes - leather upper and rubber sole."
- Be Specific: Instead of "Wheel adjusted," use "Bicycle rear pivot part."
Utilizing Harmonized System (HS) Codes
Providing a correct HS code (or Commodity Code) is the most effective way to help customs officials categorize your goods.
- US-Based Shippers: Use the US Census Bureau’s Schedule B Search Engine to find the correct code.
- Global Shippers: Ensure you are using the most current codes required by the destination country to avoid incorrect duty/tax calculations.
Provide Part and Reference Numbers
When possible, include the specific part or item number in your commercial invoice data. Mapping these to the correct reference fields in your shipping tool (e.g., the "PAN" reference type) provides an extra layer of clarity for clearance agents and helps verify the item against the provided description.
Prohibited Stop Words & Description Comparison
Using vague language is the fastest way to get a shipment flagged for inspection. Below are examples of poor descriptions found in recent audit data versus the clear, detailed descriptions required by customs authorities.
| Poor Description (Vague) | Better Description (Detailed) | Why it Matters |
|---|---|---|
| VINTAGE FOOTWEAR | Women's shoes: leather upper, rubber sole | Defines gender, material, and sole type. |
| JEANS | Men’s jeans: 80% cotton, 20% polyester | Specifies material composition for textiles. |
| SAMPLE / VARIETY | Stainless steel kitchen whisk (K792) | Stop Words like "Sample" or "Variety" trigger automatic flags. |
| HAIR PRODUCT | Organic argan oil hair serum (100ml) | Identifies the specific substance and volume. |
| The Mesa - Medium | Canvas messenger bag with brass buckles | Moves past marketing names to actual physical traits. |
Merchant Checklist: International Shipping Compliance
To ensure your international shipments clear customs without delay, use this checklist to review your data before printing your labels.
- Is the description specific? (e.g., "Men's 100% cotton t-shirt" instead of "Apparel")
- Did you avoid Stop Words? (Ensure "Sample," "Gift," and "Variety" are not used)
- Is the material composition listed? (e.g., "Stainless steel," "Leather," "Plastic")
- Is the HS code/Commodity code included? (Use a search tool if you aren't 100% sure)
- Is the Part Number (PAN) mapped correctly? (Helps verify the item in the clearance system)
- Is the unit value and currency accurate? (Ensure values match your commercial invoice)
Description Logic: The "Physical" Rule
When writing descriptions, ignore your marketing names. Customs authorities don't know what a Polaris IGX 144+ Linkage Kit is. Instead, describe the physical object: Steel mechanical linkage parts for vehicle suspension.
Technical Note: Mapping Compliance Data
When integrating with international carriers, how you map data fields in your API payload directly impacts customs clearance rates. While the UI may show a single "Description" field, the backend mapping should prioritize the following:
- Reference Field Mapping (PAN) To assist customs authorities in verifying shipments against digital records, ensure that product part numbers are mapped to the correct reference type.
- Reference Type: PAN (Part Number)
- Usage: Map your internal SKU or manufacturer part number here. This allows clearance systems to match the physical item to the digital declaration more efficiently.
- Data Integrity vs. UX Display It is important to note that what the customer sees in the ShipStation or Shopify UI may not always reflect the full data payload sent to the carrier.
- Payload Enrichment: Even if a merchant uses a short marketing title in their store, the integration should attempt to send the most granular
descriptionavailable in the product database to thedescriptionfield in the customs object. - Stop Word Scrubbing: Consider implementing a validation layer that flags or prevents the use of Stop Words (Sample, Gift, Variety) in the
descriptionfield before the API call is finalized. This is a ​List of Common Stop Words.
- HS Code Automation
Automating the
harmonized_tariff_codefield is the highest-value optimization you can provide. Ensuring this field is populated with a 6 to 10-digit code reduces the reliance on the text description alone, as the code provides a universal language for customs agents worldwide.
Shipping to Northern Ireland
DHL Parcel UK will support all movement types defined by the Windsor Framework. The data required for these shipments will vary depending on the movement_indicator set for the shipment. If no movement indicator is set, the shipment will default to B2C.
| Movement Type | Required Data |
|---|---|
C2C | Item description, item value |
C2B | Recipient EORI and UKIMS numbers, item description, item value, item quantity, item HS Code |
B2C | Sender EORI and UKIMS numbers, item description, item value, item quantity, item HS Code |
B2B | The shipment must be marked "at risk" or "not at risk" of entering the EU EORI and UKIMS numbers for both sender and recipient Item description, value, quantity, HS code, weight, and country of origin If the item is identified as "at risk" the following additional information will be required: Deferment Account (set in the carrier settings), reasons for export, and duties paid. |
Starting 1 May 2025, if the required details are not provided for shipments from Great Britain to Northern Ireland, the label will not be generated.
Return Services
DHL Parcel UK supports the following return services:
| Service | Max. weight (UNIT) | API Code |
|---|---|---|
| Parcel Shop Returns / Unlinked Returns | 25kg | dhl_parcel_uk_parcel_shop_returns_unlinked_returns |
Review the Return Shipping Labels page for details on creating return labels with ShipStation API.
Packages
The following carrier package types are available for DHL Parcel UK services:
| Name | API Code | Package Attributes |
|---|---|---|
| Package | dhl_parcel_uk_package | Domestic, International |
| Pallet | dhl_parcel_uk_pallet | Domestic |
Adding Shipment Insurance
DHL Parcel UK supports adding carrier insurance to your shipments. Review the Parcel Insurance page for details on adding shipment insurance with ShipStation API.
Geolocation
DHL Parcel UK supports the what3words protocol, which allows you to specify a location by providing the three words that have been assigned to the specific location.
Add the geolocation array in the ship_to object. Set geolocation.type to what3words and geolocation.value to the three-word value of the location.
Label Support
- Label sizes: 4" x 6"
- Label formats: PDF, PNG, ZPL
Label Reference Fields
DHL Parcel UK supports adding custom label messages for international services only.
Multi-Package Labels
Multi-package shipping is support for domestic parcel, pallet, and Channel Islands services, as well as Worldwide Air and International Road Economy services.
Label Branding
DHL Parcel UK does not support label branding.
Voiding Labels
DHL Parcel UK supports voiding labels with ShipStation API.
Paperless Labels
DHL Parcel UK supports paperless labels for the Parcel Shop Returns / Unlinked Returns service only.
Customs Declarations
Customs declarations print directly on DHL Parcel UK labels.
Delivery Confirmation
| Confirmation Type | API Code | Description |
|---|---|---|
| None | none | No confirmation required. |
| Signature | signature | Signature is required for the shipment to be delivered. Not supported by all DHL Parcel UK services. |
See our Delivery Confirmation page for more details about using the confirmation property.
Advanced Options
DHL Parcel UK does not currently support any advanced options.
To ensure you always have the most up-to-date information about a carrier's advanced options, use the list carrier options call.
Manifests
DHL Parcel UK does not require manifesting your shipments.
Scheduling Pickups
DHL Parcel UK does not support scheduling pickups using ShipStation API.
Service Points (PUDO)
DHL Parcel UK supports shipping to service points with their ServicePoint Delivery services.
Tracking
ShipStation API's integration with DHL Parcel UK supports receiving tracking updates. Review our ​Track a Package guides​​ for details on tracking with the ShipStation API.
Disconnecting Your DHL Parcel UK Account
See the Disconnect section in our Delete a Carrier page for the process of deleting or disconnecting a carrier from ShipStation API.
NOTE:
If you disconnect a carrier account and reconnect it, the account will have a new
carrier_idin ShipStation API.