Articles on: Shipper Account

Get Credentials to Access PostNL Shipping API

Overview



AfterShip Shipping is the best multi-carrier shipping software and API that enables you to automate shipping processes across USPS, UPS, FedEx, DHL, and 100+ other carriers. Get the required credentials and access PostNL shipping API via AfterShip Shipping in just a few steps.


Get PostNL Developer Credentials



You can find your PostNL developer credentials from PostNL portal. >> Company details >> Manage API >> View.
If you have multiple customer numbers under one PostNL login, please switch the correct number from the top right corner before clicking the "View" button.

Consult with your PostNL POC or the technical support team [email protected] if you have any troubles getting your API credentials.





Required PostNL credentials



API key
Customer number
Customer code


Optional PostNL credentials


Collection location


Supported PostNL service types


PostNL supports quite a lot of shipping services with different product codes, you can leverage AfterShip Shipping solution to ship with them. Check below table for supported PostNL product codes/product name with AfterShip Shipping service_type and service_name.
Product codeDescriptionProduct groupservice_typeservice_nameRequired service_optionsRemarks
3085Standard shipmentDutch domesticpostnl_standard_3085PostNL Standard shipment
3085Standard shipmentDutch domesticpostnl_standard_3085PostNL Standard shipment
3085Standard shipment+ Extra cover+ Delivery code at the doorDutch domesticpostnl_extra_cover_del_code_3085PostNL Standard shipment+ Extra cover+ Delivery code at the doorinsurance
3385Deliver to stated address onlyDutch domesticpostnl_addr_only_3385PostNL Deliver to stated address only
3090Delivery to neighbour + Return when not homeDutch domesticpostnl_ret_3090PostNL Delivery to neighbour + Return when not home
3390Deliver to stated address only + Return when not homeDutch domesticpostnl_addr_only_ret_3390PostNL Deliver to stated address only + Return when not home
3087Extra CoverDutch domesticpostnl_extra_cover_3087PostNL Extra Coverinsurance
3094Extra cover + Return when not homeDutch domesticpostnl_extra_cover_ret_3094PostNL Extra cover + Return when not homeinsurance
3089Signature on delivery + Deliver to stated address onlyDutch domesticpostnl_sig_addr_only_3089PostNL Signature on delivery + Deliver to stated address only
3096Signature on delivery + Deliver to stated address only + Return when not homeDutch domesticpostnl_sig_addr_only_ret_3096PostNL Signature on delivery + Deliver to stated address only + Return when not home
3189Signature on deliveryDutch domesticpostnl_sig_3189PostNL Signature on delivery
3389Signature on delivery + Return when not homeDutch domesticpostnl_sig_ret_3389PostNL Signature on delivery + Return when not home
3533Pickup + Signature on DeliveryDutch domesticpostnl_pp_sig_3533PostNL Pickup + Signature on Deliveryhold_at_location
3534Pickup + Extra CoverDutch domesticpostnl_pp_extra_cover_3534PostNL Pickup + Extra Coverhold_at_location/insurance
3543Pickup + Signature on Delivery + NotificationDutch domesticpostnl_pp_sig_noti_3543PostNL Pickup + Signature on Delivery + Notificationhold_at_location
3544Pickup + Extra Cover + NotificationDutch domesticpostnl_pp_extra_cover_noti_3544PostNL Pickup + Extra Cover + Notificationhold_at_location/insurance
2928Mailbox parcel + Unsorted (ongesorteerd aanleveren)Dutch domesticpostnl_mailbox_parcel_2928
3438Standard shipment + Age CheckDutch domesticpostnl_standard_id_3438PostNL Standard shipment + Age Check
3443Extra Cover + Age CheckDutch domesticpostnl_extra_cover_id_3443PostNL Extra Cover + Age Checkinsurance
3446Extra Cover + Retun when not home + Age CheckDutch domesticpostnl_extra_cover_ret_id_3446PostNL Extra Cover + Retun when not home + Age Checkinsurance
3449Retun when not home + Age CheckDutch domesticpostnl_ret_id_3449PostNL Retun when not home + Age Check
3571Pickup + Age CheckDutch domesticpostnl_pp_id_3571PostNL Pickup + Age Checkhold_at_location
3574Pickup + Age Check + NotificationDutch domesticpostnl_pp_id_noti_3574PostNL Pickup + Age Check + Notificationhold_at_location
3581Pickup + Extra Cover + Age CheckDutch domesticpostnl_pp_extra_cover_id_3581PostNL Pickup + Extra Cover + Age Checkhold_at_location/insurance
3584Pickup + Extra Cover + Age Check + NotificationDutch domestic(drop)PostNL Pickup + Extra Cover + Age Check + Notificationhold_at_location/insurance
1010Registered letterDutch domesticpostnl_registered_letter_1010PostNL Registered letter
1020Registered parcels Losse PostDutch domesticpostnl_registered_parcels_losse_post_1020PostNL Registered parcels Losse Post
1410Registered letters Partijen PostDutch domesticpostnl_registered_letters_partijen_post_1410PostNL Registered letters Partijen Post
1420Registered parcels Partijen PostDutch domesticpostnl_registered_parcels_partijen_post_1420PostNL Registered parcels Partijen Post
1175Letter + ID checkDutch domesticpostnl_letter_id_1175PostNL Letter + ID check
3070Instant deliveryDutch domesticpostnl_instant_delivery_3070PostNL Instant delivery
4936Pick up at a PostNL location in BelgiumNetherlands to Belgiumpostnl_pp_bel_4936PostNL Pick up at a PostNL location in Belgiumhold_at_location
4941Deliver to stated address onlyNetherlands to Belgiumpostnl_addr_only_bel_4941PostNL Deliver to stated address only Belgium
4946Belgium Standard deliveryNetherlands to Belgiumpostnl_standard_bel_4946PostNL Standard delivery Belgium
4946Standard shipment + Delivery code at the doorNetherlands to Belgiumpostnl_standard_bel_del_code_4946PostNL Standard shipment + Delivery code at the door
4912Parcel Netherlands-Belgium + Signature upon deliveryNetherlands to Belgiumpostnl_sig_bel_4912PostNL Parcel Netherlands-Belgium + Signature upon delivery
4914Parcel Netherlands-Belgium + extra coverNetherlands to Belgiumpostnl_extra_cover_bel_4914PostNL Parcel Netherlands-Belgium + extra coverinsurance
4983B2B parcel Netherlands-BelgiumNetherlands to Belgiumpostnl_b2b_bel_4983PostNL B2B parcel Netherlands-Belgium
2285Returns to a Business reply number (Antwoordnummer)Dutch Returnspostnl_returns_antwoordnummer_2285PostNL Returns to a Business reply number (Antwoordnummer)
3285Returns to a home addressDutch Returnspostnl_returns_home_3285PostNL Returns to a home address
3628Extra@Home Top service 2 person delivery NLExtra @ Homepostnl_extra_top_2_3628PostNL Extra@Home Top service 2 person delivery NL
3629Extra@Home Top service Btl 2 person deliveryExtra @ Homepostnl_extra_top_btl_2_3629PostNL Extra@Home Top service Btl 2 person delivery
3653Extra@Home Top service 1 person delivery NLExtra @ Homepostnl_extra_top_1_3653PostNL Extra@Home Top service 1 person delivery NL
3783Extra@Home Top service Btl 1 person deliveryExtra @ Homepostnl_extra_top_btl_1_3783PostNL Extra@Home Top service Btl 1 person delivery
3790Extra@Home Drempelservice 1 person delivery NLExtra @ Homepostnl_extra_drem_1_3790PostNL Extra@Home Drempelservice 1 person delivery NL
3791Extra@Home Drempelservice 2 person delivery NLExtra @ Homepostnl_extra_drem_2_3791PostNL Extra@Home Drempelservice 2 person delivery NL
3792Extra@Home Drempelservice Btl 1 person deliveryExtra @ Homepostnl_extra_drem_btl_1_3792PostNL Extra@Home Drempelservice Btl 1 person delivery
3793Extra@Home Drempelservice Btl 2 persons deliveryExtra @ Homepostnl_extra_drem_btl_2_3793PostNL Extra@Home Drempelservice Btl 2 persons delivery
4960Belgium Deliver to stated address onlyBelgium domesticpostnl_bel_addr_only_4960PostNL Belgium Deliver to stated address only

4961 | Belgium Delivery to neighbour | Belgium domestic | postnl_bel_standard_4961 | PostNL Belgium Delivery to neighbour | | |
4961 | Belgium delivery to neighbour + Delivery code at the door | Belgium domestic | postnl_bel_standard_del_code_4961 | PostNL Belgium delivery to neighbour + Delivery code at the door | | |
4962 | Belgium Signature on delivery + Deliver to stated address only | Belgium domestic | postnl_bel_sig_addr_only_ret_4962 | PostNL Belgium Signature on delivery + Deliver to stated address only | | |
4963 | Belgium Signature on delivery | Belgium domestic | postnl_bel_sig_4963 | PostNL Belgium Signature on delivery | | |
4965 | Extra cover + Deliver to stated address only | Belgium domestic | postnl_bel_extra_cover_4965 | PostNL Extra cover + Deliver to stated address only | insurance | |
4878 | Pickup at PostNL Location Belgium insured. | Belgium domestic | postnl_bel_pp_extra_cover_4878 | PostNL Pickup at PostNL Location Belgium insured. | hold_at_location/insurance | |
4880 | Pickup at PostNL Location Belgium, no insurance. | Belgium domestic | postnl_bel_pp_4880 | PostNL Pickup at PostNL Location Belgium, no insurance. | hold_at_location | |
3250 | | Belgium Returns | postnl_returns_bel_nld_3250 | PostNL Returns Belgium to Netherlands | | |
4882 | | Belgium Returns | postnl_returns_bel_dom_4882 | PostNL Returns Belgium domestic | | |
4785 | | Belgium Returns | postnl_returns_nld_del_4785 | PostNL Returns Netherlands to Belgium | | |
4890 | Standard shipment | Belgium to Netherlands | postnl_standard_bel_nld_4890 | PostNL Standard shipment Belgium to Netherlands | | |
4890 | Standard shipment + Delivery code at the door | Belgium to Netherlands | postnl_standard_del_code_4890 | PostNL Standard shipment + Delivery code at the door Belgium to Netherlands | insurance | |
4891 | Signature on delivery | Belgium to Netherlands | postnl_sig_bel_nld_4890 | PostNL Signature on delivery Belgium to Netherlands | | |
4893 | Delivery to stated address only | Belgium to Netherlands | postnl_addr_only_bel_nld_4893 | PostNL Delivery to stated address only Belgium to Netherlands | | |
4894 | Signature on delivery + Delivery to stated address only | Belgium to Netherlands | postnl_sig_addr_only_bel_nld_4894 | PostNL Signature on delivery + Delivery to stated address only Belgium to Netherlands | | |
4895 | Age check 18+ + Delivery to stated address only | Belgium to Netherlands | postnl_standard_id_bel_nld_4895 | PostNL Age check 18+ + Delivery to stated address only Belgium to Netherlands | | |
4896 | Signature on delivery, Delivery to stated address only, Return when not home | Belgium to Netherlands | postnl_sig_addr_only_ret_bel_nld_4896 | PostNL Signature on delivery, Delivery to stated address only, Return when not home Belgium to Netherlands | | |
4897 | Extra cover | Belgium to Netherlands | postnl_extra_cover_bel_nld_4897 | PostNL Extra cover Belgium to Netherlands | insurance | |
4898 | Pickup at PostNL location, Signature on delivery | Belgium to Netherlands | postnl_pp_sig_bel_nld_4898 | PostNL Pickup at PostNL location, Signature on delivery Belgium to Netherlands | hold_at_location | |
4907 | Parcel EU 2C Track & Trace | Parcels EU | postnl_parcel_eu_2c_4907 | PostNL Parcel EU 2C Track & Trace | | |
4907 | Parcel EU 2C Track & Trace Insured | Parcels EU | postnl_parcel_eu_2c_insured_4907 | PostNL Parcel EU 2C Track & Trace Insured | | |
4907 | Parcel EU 2C Track & Trace Insured Plus | Parcels EU | postnl_parcel_eu_2c_insured_plus_4907 | PostNL Parcel EU 2C Track & Trace Insured Plus | | |
4907 | Parcel EU 2B Track & Trace | Parcels EU | postnl_parcel_eu_2b_4907 | PostNL Parcel EU 2B Track & Trace | | |
4907 | Parcel EU 2B Track & Trace Insured | Parcels EU | postnl_parcel_eu_2b_insured_4907 | PostNL Parcel EU 2B Track & Trace Insured | | |
4907 | Parcel EU 2B Track & Trace Insured Plus | Parcels EU | postnl_parcel_eu_2b_insured_plus_4907 | PostNL Parcel EU 2B Track & Trace Insured Plus | | |
4999 | Parcel EU Standard | Parcels EU | postnl_parcel_eu_standard_4999 | PostNL Parcel EU Standard | | |
4910 | Easy Return Service, via PostNL directly returned to the customer | ERS | postnl_ers_4910 | PostNL Easy Return Service | | |
2484 | IBRS International Business Reply Service | IBRS | postnl_ibrs_2484 | PostNL IBRS International Business Reply Service | | |
6440 | Boxable Untracked | International Mail & Packets | postnl_box_untracked_6440 | PostNL Boxable Untracked | | |
6405 | Packet Untracked | International Mail & Packets | postnl_packet_untracked_6405 | PostNL Packet Untracked | | |
6945 | Boxable Untracked (contract) | International Mail & Packets | postnl_box_untracked_contract_6945 | PostNL Boxable Untracked (contract) | | |
6905 | Packet Untracked (contract) | International Mail & Packets | postnl_packet_untracked_contract_6905 | PostNL Packet Untracked (contract) | | |
6972 | Boxable Track & Trace | International Mail & Packets | postnl_box_tracked_6972 | PostNL Boxable Track & Trace | | |
6350 | Packet Track & Trace | International Mail & Packets | postnl_packet_tracked_6350 | PostNL Packet Track & Trace | | |
6942 | Boxable Track & Trace (contract) | International Mail & Packets | postnl_box_tracked_contract_6942 | PostNL Boxable Track & Trace (contract) | | |
6550 | Packet Track & Trace (contract) | International Mail & Packets | postnl_packet_tracked_contract_6942 | PostNL Packet Track & Trace (contract) | | |
6906 | Packet Track & Trace insured | International Mail & Packets | postnl_packet_tracked_insured_6906 | PostNL Packet Track & Trace insured | | |
6908 | Packet Track & Trace insured (contract) | International Mail & Packets | postnl_packet_tracked_insured_contract_6908 | PostNL Packet Track & Trace insured (contract) | | |
6408 | Registered Letter | International Mail & Packets | postnl_register_letter_6408 | PostNL Registered Letter | | |
6605 | Registered Bulk Mail | International Mail & Packets | postnl_register_bulk_mail_6605 | PostNL Registered Bulk Mail | | |


Required service_options

For some service_types, it's required to also use the service_options, e.g. when use service_type postnl_extra_cover_3087, also need to use service_options insurance.


Optional service_options

For some service_types, it's optional to support the generic service_options including: dangerous_goods/evening_delivery/morning_delivery/noon_delivery/afternoon_delivery/shipping_and_return/cod
Please refer to PostNL API doc to verify if the options can be supported by specific product code.


If you have any questions about PostNL product codes, please check PostNL developer guide for more details.


Additional resources



Read PostNL docs
AfterShip Shipping PostNL technical support:  support+shipping@aftership.com

Updated on: 24/06/2025