The PostNL API, minus the integration work
Add the PostNL API to your WMS, ERP, or e-commerce backend through one Sendcloud integration. Ship with the Netherlands' largest carrier alongside 170+ others, with no separate PostNL agreement to set up.
The PostNL API, minus the integration work
Add the PostNL API to your WMS, ERP, or e-commerce backend through one Sendcloud integration. Ship with the Netherlands' largest carrier alongside 170+ others, with no separate PostNL agreement to set up.
The PostNL API, minus the integration work
Add the PostNL API to your WMS, ERP, or e-commerce backend through one Sendcloud integration. Ship with the Netherlands' largest carrier alongside 170+ others, with no separate PostNL agreement to set up.
Free plan available
Works with your shop
Cancel anytime
Why integrate PostNL through the Sendcloud API?
Why integrate PostNL through the Sendcloud API?
Why integrate PostNL through the Sendcloud API?
Why integrate PostNL through the Sendcloud API?
Skip the PostNL contract negotiation
Ship under Sendcloud's negotiated PostNL rates from day one, or bring your own contract when you're ready.
Evening delivery and Service Points
PostNL's evening windows and 4,500+ service points are available via Sendcloud's REST API, with no separate PostNL API credentials required.
Integrate with 170+ carriers at once
Stop maintaining and integrating different carrier and use one API for all.

GDPR Compliance
We comply with the GDPR rules to protect data and privacy in Europe.
API uptime of 99.99%
Reliable shipping software built on AWS and with top market technologies.

ISO 27001 Certified
The world’s most rigorous standards for information security.
Why integrate PostNL through the Sendcloud API?
Skip the PostNL contract negotiation
Ship under Sendcloud's negotiated PostNL rates from day one, or bring your own contract when you're ready.
Evening delivery and Service Points
PostNL's evening windows and 4,500+ service points are available via Sendcloud's REST API, with no separate PostNL API credentials required.
Integrate with 170+ carriers at once
Stop maintaining and integrating different carrier and use one API for all.

GDPR Compliance
We comply with the GDPR rules to protect data and privacy in Europe.
API uptime of 99.99%
Reliable shipping software built on AWS and with top market technologies.

ISO 27001 Certified
The world’s most rigorous standards for information security.
Why integrate PostNL through the Sendcloud API?
Skip the PostNL contract negotiation
Ship under Sendcloud's negotiated PostNL rates from day one, or bring your own contract when you're ready.
Evening delivery and Service Points
PostNL's evening windows and 4,500+ service points are available via Sendcloud's REST API, with no separate PostNL API credentials required.
Integrate with 170+ carriers at once
Stop maintaining and integrating different carrier and use one API for all.

GDPR Compliance
We comply with the GDPR rules to protect data and privacy in Europe.
API uptime of 99.99%
Reliable shipping software built on AWS and with top market technologies.

ISO 27001 Certified
The world’s most rigorous standards for information security.
The complete shipping API for any system
The complete shipping API for any system
The complete shipping API for any system
"Sendcloud allows us to connect to a lot of different carriers seamlessly."
Oscar Ziegler
Founder and CEO
-
Hive

"Sendcloud allows us to connect to a lot of different carriers seamlessly."
Oscar Ziegler
Founder and CEO
-
Hive

"Sendcloud allows us to connect to a lot of different carriers seamlessly."
Oscar Ziegler
Founder and CEO
-
Hive

API integration examples

API Integration
See a basic example of an API integration using Python.
Service Point Picker
See how to integrate the Service Point Picker into a custom application.
API integration examples

API Integration
See a basic example of an API integration using Python.
Service Point Picker
See how to integrate the Service Point Picker into a custom application.
API integration examples

API Integration
See a basic example of an API integration using Python.
Service Point Picker
See how to integrate the Service Point Picker into a custom application.
Instantly connect to 170+ couriers Get started now
Free plan available
Works with your shop
Cancel anytime
More than 2,600 five star reviews
Instantly connect to 170+ couriers Get started now
Free plan available
Works with your shop
Cancel anytime
More than 2,600 five star reviews
Where do you start?
Where do you start?
Where do you start?
Questions & answers
Why integrate the PostNL API through Sendcloud instead of directly?
Direct PostNL integration means setting up My PostNL business portal access, generating production API keys, and handling Customer Code, Customer Number, and a separate Globalpack code if you ship outside the EU. PostNL also requires a Signature GIF on file for any non-EU customs declaration.
Through Sendcloud, you authenticate once with your Sendcloud API key and use a single REST schema for PostNL alongside every other carrier in your account. If you don't have your own PostNL contract, Sendcloud's negotiated rates work in the Netherlands on Lite, Growth, or Premium plans.
What happens when PostNL updates or breaks their API?
PostNL periodically updates the My PostNL API and the API key generation flow in the business portal. Direct integrators have to re-test payloads, refresh credentials, and adjust to product code changes. For example, PostNL Extra@Home large-item delivery uses different product codes from standard PostNL parcels.
When you ship PostNL through the Sendcloud REST API, the abstraction layer absorbs those changes. Sendcloud's engineering monitors My PostNL release notes and adjusts the carrier connector internally. Your Sendcloud request schema stays the same.
Can I use my own PostNL contract?
Yes. Sendcloud supports both Sendcloud-negotiated PostNL rates and your own PostNL contract.
Sendcloud rates are available in the Netherlands on Lite, Growth, or Premium plans, so you can ship PostNL without negotiating a contract first.
For your own contract: go to Shipping > Carriers > My Contracts, find PostNL, click Add Contract, and enter your API Key, Customer Code (4 letters), Customer Number, and Globalpack code (for non-EU shipments). Generate the API key in My PostNL by going to API Manager > My Account > Create New Key and selecting Sendcloud as the external software.
Which PostNL products are supported through the API?
Through Sendcloud, you can ship the full PostNL domestic and international product line:
PostNL Standard: domestic next-working-day delivery, up to 23 kg or 31.5 kgPostNL Home Address Only: no neighbor deliveryPostNL Signature on DeliveryPostNL Evening Delivery: weekday delivery between 5:30 PM and 10 PMPostNL Service Point: drop-off and pickup at the service point networkPostNL Extra@Home: large-item delivery with 2-person teams (separate contract)International EU and Globalpack methods for shipments outside Europe
Which PostNL-specific features does the API expose?
PostNL-specific features exposed through the integration:
Evening delivery slot between 5:30 PM and 10 PM on weekdays
Service point routing across the dense Dutch service point network
Mailbox delivery on
PostNL Standardwhere parcel size fitsGlobalpack code support for non-EU shipments (separate customer code)
Signature GIF upload for non-EU customs labels
PostNL Extra@Home2-person delivery for large items, with its own contract setup
How do I track PostNL parcels?
PostNL tracking events flow through Sendcloud's webhook system without extra setup. Service-point drop-off and locker arrival events appear alongside standard delivery events, with sendcloud_tracking_url populated when you've configured a branded tracking page.
All events normalise to Sendcloud's status taxonomy through GET https://panel.sendcloud.sc/api/v2/tracking/{tracking_number}, with the chronological history under statuses and each event mapped to parent_status. Subscribe to the parcel-status-changed webhook for push updates. Reference: Tracking parcels.
How do I create PostNL return labels?
PostNL exposes inbound returns from Belgium and the Netherlands through PostNL Standard Return. The service requires a direct PostNL contract; Sendcloud rates don't cover this method.
All return labels are created through Sendcloud's standalone v3 Returns API (synchronous or asynchronous; async is recommended for higher throughput). No outgoing parcel lookup or JWT tokens are required. Reference: Returns API overview.
How does Sendcloud's multi-carrier API compare to connecting carriers individually?
The Sendcloud REST API gives you access to 170+ carriers, including PostNL, through one credential set, one schema, one webhook stream, and one error model. Connecting carriers individually means handling separate authentication, payload formats, and tracking systems for each, and redoing the work every time a carrier ships breaking changes upstream.
With Sendcloud, you ship PostNL alongside DHL, DPD, Bpost, and GLS, or any other carrier in your account using the same code. Route shipments between carriers based on rules (weight, destination, service level, cost) without writing carrier-specific routing logic. Fall back to alternative carriers automatically if PostNL's upstream system has issues.
Adding a new carrier later means adding it to your Sendcloud account, not building a new integration.
Questions & answers
Why integrate the PostNL API through Sendcloud instead of directly?
Direct PostNL integration means setting up My PostNL business portal access, generating production API keys, and handling Customer Code, Customer Number, and a separate Globalpack code if you ship outside the EU. PostNL also requires a Signature GIF on file for any non-EU customs declaration.
Through Sendcloud, you authenticate once with your Sendcloud API key and use a single REST schema for PostNL alongside every other carrier in your account. If you don't have your own PostNL contract, Sendcloud's negotiated rates work in the Netherlands on Lite, Growth, or Premium plans.
What happens when PostNL updates or breaks their API?
PostNL periodically updates the My PostNL API and the API key generation flow in the business portal. Direct integrators have to re-test payloads, refresh credentials, and adjust to product code changes. For example, PostNL Extra@Home large-item delivery uses different product codes from standard PostNL parcels.
When you ship PostNL through the Sendcloud REST API, the abstraction layer absorbs those changes. Sendcloud's engineering monitors My PostNL release notes and adjusts the carrier connector internally. Your Sendcloud request schema stays the same.
Can I use my own PostNL contract?
Yes. Sendcloud supports both Sendcloud-negotiated PostNL rates and your own PostNL contract.
Sendcloud rates are available in the Netherlands on Lite, Growth, or Premium plans, so you can ship PostNL without negotiating a contract first.
For your own contract: go to Shipping > Carriers > My Contracts, find PostNL, click Add Contract, and enter your API Key, Customer Code (4 letters), Customer Number, and Globalpack code (for non-EU shipments). Generate the API key in My PostNL by going to API Manager > My Account > Create New Key and selecting Sendcloud as the external software.
Which PostNL products are supported through the API?
Through Sendcloud, you can ship the full PostNL domestic and international product line:
PostNL Standard: domestic next-working-day delivery, up to 23 kg or 31.5 kgPostNL Home Address Only: no neighbor deliveryPostNL Signature on DeliveryPostNL Evening Delivery: weekday delivery between 5:30 PM and 10 PMPostNL Service Point: drop-off and pickup at the service point networkPostNL Extra@Home: large-item delivery with 2-person teams (separate contract)International EU and Globalpack methods for shipments outside Europe
Which PostNL-specific features does the API expose?
PostNL-specific features exposed through the integration:
Evening delivery slot between 5:30 PM and 10 PM on weekdays
Service point routing across the dense Dutch service point network
Mailbox delivery on
PostNL Standardwhere parcel size fitsGlobalpack code support for non-EU shipments (separate customer code)
Signature GIF upload for non-EU customs labels
PostNL Extra@Home2-person delivery for large items, with its own contract setup
How do I track PostNL parcels?
PostNL tracking events flow through Sendcloud's webhook system without extra setup. Service-point drop-off and locker arrival events appear alongside standard delivery events, with sendcloud_tracking_url populated when you've configured a branded tracking page.
All events normalise to Sendcloud's status taxonomy through GET https://panel.sendcloud.sc/api/v2/tracking/{tracking_number}, with the chronological history under statuses and each event mapped to parent_status. Subscribe to the parcel-status-changed webhook for push updates. Reference: Tracking parcels.
How do I create PostNL return labels?
PostNL exposes inbound returns from Belgium and the Netherlands through PostNL Standard Return. The service requires a direct PostNL contract; Sendcloud rates don't cover this method.
All return labels are created through Sendcloud's standalone v3 Returns API (synchronous or asynchronous; async is recommended for higher throughput). No outgoing parcel lookup or JWT tokens are required. Reference: Returns API overview.
How does Sendcloud's multi-carrier API compare to connecting carriers individually?
The Sendcloud REST API gives you access to 170+ carriers, including PostNL, through one credential set, one schema, one webhook stream, and one error model. Connecting carriers individually means handling separate authentication, payload formats, and tracking systems for each, and redoing the work every time a carrier ships breaking changes upstream.
With Sendcloud, you ship PostNL alongside DHL, DPD, Bpost, and GLS, or any other carrier in your account using the same code. Route shipments between carriers based on rules (weight, destination, service level, cost) without writing carrier-specific routing logic. Fall back to alternative carriers automatically if PostNL's upstream system has issues.
Adding a new carrier later means adding it to your Sendcloud account, not building a new integration.
Questions & answers
Why integrate the PostNL API through Sendcloud instead of directly?
Direct PostNL integration means setting up My PostNL business portal access, generating production API keys, and handling Customer Code, Customer Number, and a separate Globalpack code if you ship outside the EU. PostNL also requires a Signature GIF on file for any non-EU customs declaration.
Through Sendcloud, you authenticate once with your Sendcloud API key and use a single REST schema for PostNL alongside every other carrier in your account. If you don't have your own PostNL contract, Sendcloud's negotiated rates work in the Netherlands on Lite, Growth, or Premium plans.
What happens when PostNL updates or breaks their API?
PostNL periodically updates the My PostNL API and the API key generation flow in the business portal. Direct integrators have to re-test payloads, refresh credentials, and adjust to product code changes. For example, PostNL Extra@Home large-item delivery uses different product codes from standard PostNL parcels.
When you ship PostNL through the Sendcloud REST API, the abstraction layer absorbs those changes. Sendcloud's engineering monitors My PostNL release notes and adjusts the carrier connector internally. Your Sendcloud request schema stays the same.
Can I use my own PostNL contract?
Yes. Sendcloud supports both Sendcloud-negotiated PostNL rates and your own PostNL contract.
Sendcloud rates are available in the Netherlands on Lite, Growth, or Premium plans, so you can ship PostNL without negotiating a contract first.
For your own contract: go to Shipping > Carriers > My Contracts, find PostNL, click Add Contract, and enter your API Key, Customer Code (4 letters), Customer Number, and Globalpack code (for non-EU shipments). Generate the API key in My PostNL by going to API Manager > My Account > Create New Key and selecting Sendcloud as the external software.
Which PostNL products are supported through the API?
Through Sendcloud, you can ship the full PostNL domestic and international product line:
PostNL Standard: domestic next-working-day delivery, up to 23 kg or 31.5 kgPostNL Home Address Only: no neighbor deliveryPostNL Signature on DeliveryPostNL Evening Delivery: weekday delivery between 5:30 PM and 10 PMPostNL Service Point: drop-off and pickup at the service point networkPostNL Extra@Home: large-item delivery with 2-person teams (separate contract)International EU and Globalpack methods for shipments outside Europe
Which PostNL-specific features does the API expose?
PostNL-specific features exposed through the integration:
Evening delivery slot between 5:30 PM and 10 PM on weekdays
Service point routing across the dense Dutch service point network
Mailbox delivery on
PostNL Standardwhere parcel size fitsGlobalpack code support for non-EU shipments (separate customer code)
Signature GIF upload for non-EU customs labels
PostNL Extra@Home2-person delivery for large items, with its own contract setup
How do I track PostNL parcels?
PostNL tracking events flow through Sendcloud's webhook system without extra setup. Service-point drop-off and locker arrival events appear alongside standard delivery events, with sendcloud_tracking_url populated when you've configured a branded tracking page.
All events normalise to Sendcloud's status taxonomy through GET https://panel.sendcloud.sc/api/v2/tracking/{tracking_number}, with the chronological history under statuses and each event mapped to parent_status. Subscribe to the parcel-status-changed webhook for push updates. Reference: Tracking parcels.
How do I create PostNL return labels?
PostNL exposes inbound returns from Belgium and the Netherlands through PostNL Standard Return. The service requires a direct PostNL contract; Sendcloud rates don't cover this method.
All return labels are created through Sendcloud's standalone v3 Returns API (synchronous or asynchronous; async is recommended for higher throughput). No outgoing parcel lookup or JWT tokens are required. Reference: Returns API overview.
How does Sendcloud's multi-carrier API compare to connecting carriers individually?
The Sendcloud REST API gives you access to 170+ carriers, including PostNL, through one credential set, one schema, one webhook stream, and one error model. Connecting carriers individually means handling separate authentication, payload formats, and tracking systems for each, and redoing the work every time a carrier ships breaking changes upstream.
With Sendcloud, you ship PostNL alongside DHL, DPD, Bpost, and GLS, or any other carrier in your account using the same code. Route shipments between carriers based on rules (weight, destination, service level, cost) without writing carrier-specific routing logic. Fall back to alternative carriers automatically if PostNL's upstream system has issues.
Adding a new carrier later means adding it to your Sendcloud account, not building a new integration.
One API for all your shipping needs
No setup fees
Same-day integration
Ship with Europe’s top carriers
One API for all your shipping needs
No setup fees
Same-day integration
Ship with Europe’s top carriers
One API for all your shipping needs
No setup fees
Same-day integration
Ship with Europe’s top carriers
Product
Solutions
Integrations
© 2026 Sendcloud. All Rights Reserved
Chamber of Commerce: 66572959
VAT number: NL856613897B01
Product
Integrations
Solutions
Resources
© 2026 Sendcloud. All Rights Reserved
Chamber of Commerce: 66572959
VAT number: NL856613897B01
Product
© 2026 Sendcloud. All Rights Reserved
Chamber of Commerce: 66572959
VAT number: NL856613897B01



