Site Logo

🎉 ShipEngine is becoming ShipStation API 🎉

Over the next few months you'll notice the ShipEngine website, documentation portal, and dashboard being rebranded as ShipStation API. For our ShipEngine customers, you don't need to take any action or change any of your integrations in any way. All endpoints will remain the same and continue to function as they always have.

To learn more about what's coming, review our New ShipStation API page.

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

PropertyTypeRequired?Description
nicknamestringrequired
client_idstringrequiredClient ID
client_secretstringrequiredClient 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:

PropertyTypeDescription
unlinked_returns_api_keystringUnlinked Returns API Key
unlinked_returns_account_numberstringUnlinked Returns Account Number
unlinked_returns_partner_codestringUnlinked Returns Partner Code
pickup_account_domesticstringPickup Account
pickup_account_international_airstringPickup Account
pickup_account_international_roadstringPickup Account
type_of_customs_invoicestringCustoms Invoice Type
customer_nostringCustomer Account Number
book_adhoc_collection_domesticbooleanEnable 'Book an adhoc Collection'
collection_start_time_domesticstringCollection Start Time
collection_end_time_domesticstringCollection End Time
book_adhoc_collection_intl_airbooleanEnable 'Book an adhoc Collection'
collection_start_time_intl_airstringCollection Start Time
collection_end_time_intl_airstringCollection End Time
book_adhoc_collection_intl_roadbooleanEnable 'Book an adhoc Collection'
collection_start_time_intl_roadstringCollection Start Time
collection_end_time_intl_roadstringCollection 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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
POST /v1/connections/carriers/dhl_parcel_uk HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My DHL Parcel UK Account"
"client_id": "your_client_id_here",
"client_secret": "your_client_secret_here",
"unlinked_returns_api_key":"apikey",
"unlinked_returns_account_number":"accountnumber",
"unlinked_returns_partner_code":"partnercode",
"pickup_account_domestic":"pickupaccountinfo",
"pickup_account_international_air":"pickupaccountinfo",
"pickup_account_international_road":"pickupaccountinfo",
"type_of_customs_invoice":"invoicetype",
"customer_no":"customernumber",
"book_adhoc_collection_domestic":"true",
"collection_start_time_domestic":"data",
"collection_end_time_domestic":"data",
"book_adhoc_collection_intl_air":"false",
"book_adhoc_collection_intl_road":"false"
}

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

ServiceCarrier CodeAPI Code
Bagit Next DayDHLParcelUK_Bagit_NDDHLParcelUK_Bagit_ND
Bagit Next Day 09:00DHLParcelUK_Bagit_ND_0900DHLParcelUK_Bagit_ND_0900
Bagit Next Day 10:30DHLParcelUK_Bagit_ND_1030DHLParcelUK_Bagit_ND_1030
Bagit Next Day 10:30 (Specified Address / Leave Safe)DHLParcelUK_Bagit_ND_1030_LSdhl_parcel_uk_bagit_next_day_1030_leave_safe
Bagit Next Day 10:30 (Specified Address / Neighbour)DHLParcelUK_Bagit_ND_1030_NBRdhl_parcel_uk_bagit_next_day_1030_neighbour
Bagit Next Day 12:00DHLParcelUK_Bagit_ND_1200DHLParcelUK_Bagit_ND_1200
Bagit Next Day 12:00 (Specified Address / Leave Safe)DHLParcelUK_Bagit_ND_1200_LSdhl_parcel_uk_bagit_next_day_1200_leave_safe
Bagit Next Day 12:00 (Specified Address / Neighbour)DHLParcelUK_Bagit_ND_1200_NBRdhl_parcel_uk_bagit_next_day_1200_neighbour
Bagit Next Day (Specified Address / Leave Safe)DHLParcelUK_Bagit_ND_LSdhl_parcel_uk_bagit_next_day_leave_safe
Bagit Next Day (Specified Address / Neighbour)DHLParcelUK_Bagit_ND_NBRdhl_parcel_uk_bagit_next_day_neighbour
Bagit Next Day - ServicePoint DeliveryDHLParcelUK_Bagit_ND_PUDODHLParcelUK_Bagit_ND_PUDO
Bagit SaturdayDHLParcelUK_Bagit_SATdhl_parcel_uk_bagit_saturday
Bagit Saturday 09:00DHLParcelUK_Bagit_SAT_0900dhl_parcel_uk_bagit_saturday_0900
Bagit Saturday 10:30DHLParcelUK_Bagit_SAT_1030dhl_parcel_uk_bagit_saturday_1030
Bagit Saturday 10:30 (Specified Address / Leave Safe)DHLParcelUK_Bagit_SAT_1030_LSdhl_parcel_uk_bagit_saturday_1030_leave_safe
Bagit Saturday 10:30 (Specified Address / Neighbour)DHLParcelUK_Bagit_SAT_1030_NBRdhl_parcel_uk_bagit_saturday_1030_neighbour
Bagit Saturday (Specified Address / Leave Safe)DHLParcelUK_Bagit_SAT_LSdhl_parcel_uk_bagit_saturday_leave_safe
Bagit Saturday (Specified Address / Neighbour)DHLParcelUK_Bagit_SAT_NBRdhl_parcel_uk_bagit_saturday_neighbour
Pallet 48 HoursDHLParcelUK_Pallet_48HDHLParcelUK_Pallet_48H
Pallet Next DayDHLParcelUK_Pallet_NDDHLParcelUK_Pallet_ND
Parcel 48 Hours (Specified Address / Neighbour)DHLParcelUK_Parcel_48HDHLParcelUK_Parcel_48H_NBR
Parcel 48 Hours - ServicePoint DeliveryDHLParcelUK_Parcel_48H_PUDODHLParcelUK_Parcel_48H_PUDO
Parcel 72 Hours (Specified Address / Leave Safe)DHLParcelUK_Parcel_72HDHLParcelUK_Parcel_72H_LS
Parcel 72 Hours - ServicePoint DeliveryDHLParcelUK_Parcel_72H_PUDODHLParcelUK_Parcel_72H_PUDO
Parcel Next DayDHLParcelUK_NDDHLParcelUK_ND
Parcel Next Day 09:00DHLParcelUK_ND_0900DHLParcelUK_ND_0900
Parcel Next Day 10:30DHLParcelUK_ND_1030DHLParcelUK_ND_1030
Parcel Next Day 10:30 (Specified Address / Leave Safe)DHLParcelUK_ND_1030_LSdhl_parcel_uk_parcel_next_day_1030_leave_safe
Parcel Next Day 10:30 (Specified Address / Neighbour)DHLParcelUK_ND_1030_NBRdhl_parcel_uk_parcel_next_day_1030_neighbour
Parcel Next Day 12:00DHLParcelUK_ND_1200DHLParcelUK_ND_1200
Parcel Next Day 12:00 (Specified Address / Leave Safe)DHLParcelUK_ND_1200_LSdhl_parcel_uk_parcel_next_day_1200_leave_safe
Parcel Next Day 12:00 (Specified Address / Neighbour)DHLParcelUK_ND_1200_NBRdhl_parcel_uk_parcel_next_day_1200_neighbour
Parcel Next Day (Specified Address / Leave Safe)DHLParcelUK_ND_LSdhl_parcel_uk_parcel_next_day_leave_safe
Parcel Next Day (Specified Address / Neighbour)DHLParcelUK_ND_NBRdhl_parcel_uk_parcel_next_day_neighbour
Parcel Next Day - ServicePoint DeliveryDHLParcelUK_ND_PUDODHLParcelUK_ND_PUDO
Parcel SaturdayDHLParcelUK_SATdhl_parcel_uk_parcel_saturday
Parcel Saturday 09:00DHLParcelUK_SAT_0900dhl_parcel_uk_parcel_saturday_0900
Parcel Saturday 10:30DHLParcelUK_SAT_1030dhl_parcel_uk_parcel_saturday_1030
Parcel Saturday 10:30 (Specified Address / Leave Safe)DHLParcelUK_SAT_1030_LSdhl_parcel_uk_parcel_saturday_1030_leave_safe
Parcel Saturday 10:30 (Specified Address / Neighbour)DHLParcelUK_SAT_1030_NBRdhl_parcel_uk_parcel_saturday_1030_neighbour
Parcel Saturday (Specified Address / Leave Safe)DHLParcelUK_SAT_LSdhl_parcel_uk_parcel_saturday_leave_safe
Parcel Saturday (Specified Address / Neighbour)DHLParcelUK_SAT_NBRdhl_parcel_uk_parcel_saturday_neighbour

International Services

ServiceCarrier CodeAPI Code
DHL Parcel ConnectDHLParcelUK_206DHLParcelUK_Conect
International Road EconomyDHLParcelUK_204DHLParcelUK_Intl_Rd_Eco
Parcel 48 Hours (Specified Address / Neighbour) - Channel IslandsDHLParcelUK_Parcel_48H_CIdhl_parcel_uk_bagit_nd_48h_ci
Parcel 48 Hours - ServicePoint Delivery to Channel IslandsDHLParcelUK_Parcel_48H_PUDO_CIdhl_parcel_uk_bagit_nd_48h_pudo_ci
Worldwide AirWorldwide AirDHLParcelUK_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.

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 FOOTWEARWomen's shoes: leather upper, rubber soleDefines gender, material, and sole type.
JEANSMen’s jeans: 80% cotton, 20% polyesterSpecifies material composition for textiles.
SAMPLE / VARIETYStainless steel kitchen whisk (K792)Stop Words like "Sample" or "Variety" trigger automatic flags.
HAIR PRODUCTOrganic argan oil hair serum (100ml)Identifies the specific substance and volume.
The Mesa - MediumCanvas messenger bag with brass bucklesMoves 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:

  1. 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.
  1. 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 description available in the product database to the description field 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 description field before the API call is finalized. This is a ​List of Common Stop Words.
  1. HS Code Automation Automating the harmonized_tariff_code field 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 TypeRequired Data
C2CItem description, item value
C2BRecipient EORI and UKIMS numbers, item description, item value, item quantity, item HS Code
B2CSender EORI and UKIMS numbers, item description, item value, item quantity, item HS Code
B2BThe 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:

ServiceMax. weight (UNIT)API Code
Parcel Shop Returns / Unlinked Returns25kgdhl_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:

NameAPI CodePackage Attributes
Packagedhl_parcel_uk_packageDomestic, International
Palletdhl_parcel_uk_palletDomestic

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 TypeAPI CodeDescription
NonenoneNo confirmation required.
SignaturesignatureSignature 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_id in ShipStation API.