Updates Developer Center

[11-04-2023] Technical documentation portal

PostNL has introduced a new portal for technical API documentation. This new website is based on the OpenAPI specification of our collection of API's for e-commerce processes. Via you can find an easy-to-navigate documentation portal extended with up-to-date API specifications, references and code samples. 

From now on PostNl offers a three-panel, responsive layout for the technical documentation:
• The left panel contains a search bar and navigation menu.
• The central panel contains the documentation.
• The right panel contains request and response examples.
The current Developer Portal will still be the entry point for information about the APIs for commercial information. Commercial information such as explanation of API usage and Use cases are still listed here. On the updated documentation pages, developers are now redirected to the technical documentation.

[13-02-2023] Renewed International product portfolio available

The renewed international product portfolio is available per the 1st January 2023. This makes it possible to select additional services per product. The choice of services offers you extra flexibility. You can easily choose per item which service you require. Do you send valuable items? Then you can choose to send the item with an insurance. Or do you prefer a cheaper option? Simply turn off the proof of delivery (signature) for that item.
New product codes have been added and the ‘old’ product codes can still be used until further notice.  The renewed International product portfolio has been added to the responses of the most recent versions of the Shipping and Labelling API. Please note preferable method is via REST (JSON).
Take a look at the Productinformation | Parcel EU, Parcel Non EU and International Mail & Packets of the API’s for more information. Example requests are also available in the postman collection.
More information about the portfolio can be found on our website

[20-09-2022] Sustainable delivery options

PostNL introduces sustainable delivery options. Today, more and more consumers find sustainable delivery important. By using our Delivery Options API’s you can show customers when their parcel can be delivered sustainably – right in the checkout of your webshop. That way, your customers can make a conscious choice for green delivery.

This sustainable options has been added to the responses of the most recent versions of the Checkout, Location and Timeframe API. Please note that this is only available in REST (JSON).
Take a look at the Documentation | Guidelines pages of the API’s for more information.

[18-08-2022] Labelling 2.1 improvements

PostNL will improve the backend service of the Labelling 2.1 API. Though customers should not experience any service interrupting changes, this could affect custom implementations. 
 Our current backend returns plain ZPL code, which allowed for the manipulation of the ZPL code. Though this was not a functionality supported by PostNL, we have found that there are some customers who do this. The new backend returns the label as an image, rather than sending separate fields and codes, which means previously used manipulations of the ZPL output is no longer supported. This is done so that there is a more general adoption of different Zebra printers. Previously we needed to have separate drivers for different printers, this is no longer needed. 
Due to the fact that we support special characters (UTF-8) and some technical reasons, the size of the labels has increased.
The updated backend service is already active in our test environment (and in the Labelling 2.2 and Shipping v1 version). If you are not sure whether this affects your PostNL integration, you can test this in the sandbox environment.

[10-06-2022] – Truncate search queries to the Shippingstatus API

The updated shipments method returns all the updated statuses for a particular customer number in a specific period. Lately, we are increasingly confronted with the incorrect use of this method, which affects the overall performance of our platform and the performance of the API users. 
It is best practice to request the updated statuses for a particular customer number in windows of 15 minutes. If needed, you can increase or decrease the frequency. For a useful result and a better performance, the maximum time window is 1 day. It is advisable to request a maximum period of 1 day. 
To truncate search queries to the Shippingstatus API, our development team change to return an error if the requested time range exceed the maximum time window of 2 days.

[30-05-2022] Removed Food products

PostNL stops its food network. The market has developed differently than expected, so PostNL is closing the network. 

The productcodes are no longer displayed at the Products page. 

[04-04-2022] Phase out 4947 Parcel Non EU – combilabel

As of April  1st 2022 the International product ‘Parcels Non EU – combilabel’ productcode 4947 should no longer be used.  Shipments to destinations outside the EU can be send via the product ‘Parcels non EU – Single label’ productcode 4945. 

Benefits of the ‘Parcels non EU – single label’ product are that it contains a single Internationally recognized S10 barcode. Instead of an S10 barcode and a domestic 3S barcode.  This makes the API request easier because only the S10 barcode is sufficient for requesting tracking, labels and the use of shippingstatus webservice. A single barcode on an item improves quality and the tracking of International shipments.

For more information contact your Account Manager.


[27-11-2020] Renewed product portfolio for parcels shipping to Belgium

As of January 1st, 2021, we have a renewed product portfolio for parcels shipping to Belgium. If you are using any of the Parcels EU product codes for sending to Belgium, change the product code for shipments to Belgium to a Parcels Netherlands-Belgium product code in your confirming and/or labelling requests.
Please make sure you use the Parcels Netherlands-Belgium before January 1st, 2022. As of the 1st of May pre-announcements on the old product codes (4944, 4940, 4932, 4938, 4950, 4952, 4985, 4993 and 4996) for destination Belgium trigger a surcharge for pre-announcing incorrectly.
For more information, please visit this page where you will find all technical instructions for each of our IT connections.

[19-10-2020] Brexit - PostNL changes

Brexit is about to happen, which will impact postal and parcel movements towards the United Kingdom (UK). We would like to inform you on this, since there are technical changes required to keep on servicing our mutual customers.
From January 1, 2021, free movement of goods between the UK and the Netherlands will be restricted, and a customs declaration will be required. Via PostNL you will be able to digitally prepare shipments via the same method as currently is available for Parcels towards a non-EU destination.
The UK will be covered by our Parcel non-EU product after Brexit. For Packets, the product code will remain the same.
Technical changes are described on our Developer Center. As time moves on, Brexit impact becomes more clear and we will update our Developer Center accordingly. Please check the Brexit page.

[25-04-2020] Shipments to Croatia, Cyprus of Malta (HR, CY of MT)

From May 18 the EU countries Malta, Cyprus and Croatia will be classified as EU countries. This change takes place in our systems so if you have an PostNL integration you have to change this in your (shipping) system.

As of May 18th, Croatia, Cyprus and Malta will be covered by product 4944 (Parcels EU – formerly known as EPS), instead of 4945 (Parcels non-EU – formerly known as Globalpack). Label requests via API for these countries dated May 18th and later will result in an error.

[22-04-2020] Extra sorting indication Mailbox parcels

A letter from the receiving sorting center will be printed on the label of Mailbox parcels (Brievenbuspakjes). In this way, customers and PostNL employees within the operation can more quickly see to which sorting center the package should be sent.

The letter appears on the label of you use the Labelling 2.2 or Shipping v1 API. If you are not yet using one of this webservices, the advise is to update/upgrade as soon as possible.

Letter A Amsterdam
Letter R Rotterdam
Letter H 's Hertogen Bosch
Letter N Nieuwegein
Letter Z Zwolle 

[15-01-2020] Validation changes Labelling v2.2 and Confirming API v2

-An validation has been added on the Shipment.Customs.Content.Content.Weight attribute. According to the documentation this already had to be an integer; this is now being enforced.

-For International shipments (EU and Rest of Word), a validation for a maximum weight in the Shipment.Dimension.Weight attirbute has been added. This is now at 999 kg for now. This can be adjusted in the future to guarantee that we can process the shipments.

[21-11-2019] Cash on Delivery (COD)

It will soon no longer be possible to use the Cash on Delivery product codes. PostNL has decided to stop the cash on delivery service (rembours) in the Netherlands and Belgium from January 1, 2020.
The following product codes have been removed from the Product documentation page:

3086 COD
3091 COD + Extra cover
3093 COD + Return when not home
3097 COD + Extra cover + Return when not home

Belgium productcodes

4964 Belgium COD + Return when not home
4966 Belgium COD + Extra cover + Return when not home

[18-11-2019] PostNL Belgium retailnetwork

PostNL has created its own retail network in Belgium. The cooperation with Kariboo therefore will be canceled from 1 December. From this date, no Kariboo points will be returned in the Location API response.The Kariboo network code (LN-01) can therefore no longer be used in the Labeling and Confirming API. The network code (DownPartnerID for Labelling API request) for Belgium will be PNPBE-01 from now on.

[27-08-2019] Technical newsletter

PostNL is sending technical information nowadays. With this bi monthly newsletter PostNL inform tech savvy customers through API updates, integrated services, Tips & Tricks, new functions, plugins and partner channels. Also useful information about new functionalities in MyPostnl and the Developer Center can be read in this newsletters.

You can subscribe here for this newsletter.

Archive newsletter:
June 2019
Augustus 2019

[14-08-2019] Checkout API (BETA)

A beta version of the Check-out API is released. Combining the existing Timeframe, DeliveryDate, and Location APIs, it allows for quick and easy implementation of the PostNL delivery options while also reducing the risk of errors creeping in. For more on the new API, head over to the Checkout API.

[09-08-2019] Early Morning Pickup Points

Unfortunately the delivery option Early Morning Pickup Points is no longer viable. This delivery option (code PGE) is not an option anymore in the Checkout and Location API. This option will therefore disappear completely from 1 October 2019.
 The option "Pick up at a PostNL location' remains unchanged as a service. 

[01-08-2019] Evening delivery Belgium

From now on it is temporarily no longer possible to offer Evening delivery in Belgium. This delivery option is not an option anymore in the Checkout, Deliverdate and Timeframes API's and therefore not be shown in this API responses.
We will inform you in time when the delivery option is reactivated.

[06-06-2019] Postman Parcels API collections

From now on it is possible to run Parcels API Collection(s) directly in the Postman application. Postman helps you test and implement the Parcels API’s faster. The collections contains SOAP and JSON requests, are grouped together and organized into folders. The Postman collections are subdivided into the following groups: All, Shipping, Delivery Options and Track & Trace.

[02-04-2019] New specifications Pickup service Basic

A new way of confirming the product Pickup Basic (Afhaalservice Basis) has been introduced. The new way of confirming is live on the 1st of June. The currrent way of confirming can be used until the 1st of July.
It is a small adjustment, you can find the new product specifications and see the guidelines of the Confirming API.

[12-02-2019] New version Shippingstatus (v2)

A new version of the Shippingstatus API (v2) has been introduced. This version is only available in REST (JSON).
The method Updatedshipments has been added to the interface; this method returns the updated statuses for a particular customer number.

[25-01-2019] Versions upgrade Labelling and Confirming API

New versions of the Labelling (v2.2) and Confirming (v2) have been introduced.  Please check the Versioning paragraphs of the API's to see what have been changed compared to the previous versions.

[11-01-2019] Checkout Postalcode Check

A new API has been introduced to validate address data while it is entered.
Free* API for use in webshop checkout.
Please check the documentation for more information.

*Only free of charge for PostNL Parcels contract customers.

[08-01-2019] Second Belgium retailnetwork

A new Belgium retailnetwork has been added to the services. The attribute DownPartnerID for Pickup at PostNL location can now contain the value PNPBE-01 in addition to the already existing code LN-01. Please check the Labelling and/or Confirming API documentation for more information.