The easiest way to integrate with the GLS API
Add GLS shipping to your WMS, ERP, or e-commerce backend through a single Sendcloud integration. No GLS API set-up, no breaking changes to chase.
The easiest way to integrate with the GLS API
Add GLS shipping to your WMS, ERP, or e-commerce backend through a single Sendcloud integration. No GLS API set-up, no breaking changes to chase.
The easiest way to integrate with the GLS API
Add GLS shipping to your WMS, ERP, or e-commerce backend through a single Sendcloud integration. No GLS API set-up, no breaking changes to chase.
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 GLS contract negotiation
Ship under Sendcloud's negotiated PostNL rates from day one, or bring your own contract when you're ready.
Pan-European network across 30+ countries
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 GLS contract negotiation
Ship under Sendcloud's negotiated PostNL rates from day one, or bring your own contract when you're ready.
Pan-European network across 30+ countries
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 GLS contract negotiation
Ship under Sendcloud's negotiated PostNL rates from day one, or bring your own contract when you're ready.
Pan-European network across 30+ countries
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 GLS API via Sendcloud instead of directly?
Direct GLS API integration means handling GLS Europe authentication, country-specific rate codes, and per-product shipment payloads on your end. Through Sendcloud, you authenticate once with your Sendcloud API key and use a single REST schema for GLS alongside every other courier in your account.
Sendcloud absorbs upstream changes from GLS Europe, including the recent unified European API rollout that replaced country-specific GLS Belgium credentials. If you don't have a GLS contract, Sendcloud's negotiated rates work in markets including the Netherlands, Belgium, and Spain.
What happens when GLS updates or breaks their API?
GLS Europe is in the middle of a multi-year API consolidation: new contracts run through unified GLS Europe credentials (API Key, API Secret, Contact ID, country), while older country-specific GLS Belgium contracts have to migrate. Direct integrators absorb the cost: re-authenticating, updating field mappings, re-testing payloads.
Through the Sendcloud REST API, the abstraction layer takes the hit. Sendcloud's engineering monitors the GLS Europe Developer Portal and adjusts the courier connector internally. The recent GLS Belgium migration to unified GLS Europe shipped with zero merchant-side code changes for accounts using Sendcloud's GLS API.
Can I use my own GLS contract?
Yes. Sendcloud supports both Sendcloud-negotiated GLS rates and your own GLS contract.
Sendcloud rates are available in the Netherlands, Belgium, Spain and other markets on Lite, Growth or Premium plans, so you can start shipping GLS without negotiating a contract.
For your own contract: go to Shipping > Couriers > My Contracts, find GLS Europe, click Add Contract, and enter API Key (Username), API Secret (Password), Contact-ID and country from your GLS account manager. Italy is the exception: GLS shipments from Italy require a direct contract.
Which GLS products are supported through the API?
Through Sendcloud, you can ship the full GLS Europe product line:
BusinessParcel: national parcel up to 40 kg with next-working-day deliveryEconomyParcel: economy delivery, letterbox-style where supportedExpressParcel: next day before close of businessShopDeliveryParcel: delivery to GLS ParcelShopsEuroBusinessParcel: 30+ European destinations including the UK, Switzerland and NorwayGlobalBusinessParcel: shipments outside Europe
The shipping methods enabled for your account are in the Sendcloud shipping-methods endpoint. See the GLS NL shipping conditions Help Centre article for full method details.
Which GLS-specific features does the API expose?
GLS-specific features exposed through the integration:
FlexDeliveryService: end customer can re-route delivery in real timeShopReturnService: drop-off at GLS ParcelShopsPick&ReturnService: pick-up at the customer's address, scheduled for the next working daySaturdayService: weekend delivery in supported marketsCashService: cash on delivery (own-contract only)Multi-parcel shipments and ParcelShop network access for failed-delivery redirects
Tracking on GLS requires separate activation by your GLS account manager. Without it, parcels remain in "Ready to send" status in Sendcloud.
How do I track GLS parcels?
Tracking on GLS requires separate activation by your GLS account manager. Without it, parcels stay in "Ready to send" status in Sendcloud. Once activation is on, every event flows through the standard webhook stream, including ParcelShop redirects when a delivery fails.
All events are normalised 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 GLS return labels?
GLS exposes two return services: Pick&ReturnService picks up the parcel at the customer's address, scheduled for the next working day, with a 60-day return window from the outbound date. ShopReturnService covers drop-off at any GLS ParcelShop in the network.
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 couriers individually?
The Sendcloud REST API gives you access to 170+ couriers, including GLS, through one credential set, one schema, one webhook stream, and one error model. Connecting couriers individually means handling separate authentication, payload formats, and tracking systems for each, and redoing the work every time a courier ships breaking changes upstream.
With Sendcloud, you ship GLS alongside DHL, UPS, PostNL, and DPD, or any other courier in your account using the same code. Route shipments between couriers based on rules (weight, destination, service level, cost) without writing courier-specific routing logic. Fall back to alternative couriers automatically if GLS's upstream system has issues.
Adding a new courier later means adding it to your Sendcloud account, not building a new integration.
Questions & answers
Why integrate the GLS API via Sendcloud instead of directly?
Direct GLS API integration means handling GLS Europe authentication, country-specific rate codes, and per-product shipment payloads on your end. Through Sendcloud, you authenticate once with your Sendcloud API key and use a single REST schema for GLS alongside every other courier in your account.
Sendcloud absorbs upstream changes from GLS Europe, including the recent unified European API rollout that replaced country-specific GLS Belgium credentials. If you don't have a GLS contract, Sendcloud's negotiated rates work in markets including the Netherlands, Belgium, and Spain.
What happens when GLS updates or breaks their API?
GLS Europe is in the middle of a multi-year API consolidation: new contracts run through unified GLS Europe credentials (API Key, API Secret, Contact ID, country), while older country-specific GLS Belgium contracts have to migrate. Direct integrators absorb the cost: re-authenticating, updating field mappings, re-testing payloads.
Through the Sendcloud REST API, the abstraction layer takes the hit. Sendcloud's engineering monitors the GLS Europe Developer Portal and adjusts the courier connector internally. The recent GLS Belgium migration to unified GLS Europe shipped with zero merchant-side code changes for accounts using Sendcloud's GLS API.
Can I use my own GLS contract?
Yes. Sendcloud supports both Sendcloud-negotiated GLS rates and your own GLS contract.
Sendcloud rates are available in the Netherlands, Belgium, Spain and other markets on Lite, Growth or Premium plans, so you can start shipping GLS without negotiating a contract.
For your own contract: go to Shipping > Couriers > My Contracts, find GLS Europe, click Add Contract, and enter API Key (Username), API Secret (Password), Contact-ID and country from your GLS account manager. Italy is the exception: GLS shipments from Italy require a direct contract.
Which GLS products are supported through the API?
Through Sendcloud, you can ship the full GLS Europe product line:
BusinessParcel: national parcel up to 40 kg with next-working-day deliveryEconomyParcel: economy delivery, letterbox-style where supportedExpressParcel: next day before close of businessShopDeliveryParcel: delivery to GLS ParcelShopsEuroBusinessParcel: 30+ European destinations including the UK, Switzerland and NorwayGlobalBusinessParcel: shipments outside Europe
The shipping methods enabled for your account are in the Sendcloud shipping-methods endpoint. See the GLS NL shipping conditions Help Centre article for full method details.
Which GLS-specific features does the API expose?
GLS-specific features exposed through the integration:
FlexDeliveryService: end customer can re-route delivery in real timeShopReturnService: drop-off at GLS ParcelShopsPick&ReturnService: pick-up at the customer's address, scheduled for the next working daySaturdayService: weekend delivery in supported marketsCashService: cash on delivery (own-contract only)Multi-parcel shipments and ParcelShop network access for failed-delivery redirects
Tracking on GLS requires separate activation by your GLS account manager. Without it, parcels remain in "Ready to send" status in Sendcloud.
How do I track GLS parcels?
Tracking on GLS requires separate activation by your GLS account manager. Without it, parcels stay in "Ready to send" status in Sendcloud. Once activation is on, every event flows through the standard webhook stream, including ParcelShop redirects when a delivery fails.
All events are normalised 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 GLS return labels?
GLS exposes two return services: Pick&ReturnService picks up the parcel at the customer's address, scheduled for the next working day, with a 60-day return window from the outbound date. ShopReturnService covers drop-off at any GLS ParcelShop in the network.
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 couriers individually?
The Sendcloud REST API gives you access to 170+ couriers, including GLS, through one credential set, one schema, one webhook stream, and one error model. Connecting couriers individually means handling separate authentication, payload formats, and tracking systems for each, and redoing the work every time a courier ships breaking changes upstream.
With Sendcloud, you ship GLS alongside DHL, UPS, PostNL, and DPD, or any other courier in your account using the same code. Route shipments between couriers based on rules (weight, destination, service level, cost) without writing courier-specific routing logic. Fall back to alternative couriers automatically if GLS's upstream system has issues.
Adding a new courier later means adding it to your Sendcloud account, not building a new integration.
Questions & answers
Why integrate the GLS API via Sendcloud instead of directly?
Direct GLS API integration means handling GLS Europe authentication, country-specific rate codes, and per-product shipment payloads on your end. Through Sendcloud, you authenticate once with your Sendcloud API key and use a single REST schema for GLS alongside every other courier in your account.
Sendcloud absorbs upstream changes from GLS Europe, including the recent unified European API rollout that replaced country-specific GLS Belgium credentials. If you don't have a GLS contract, Sendcloud's negotiated rates work in markets including the Netherlands, Belgium, and Spain.
What happens when GLS updates or breaks their API?
GLS Europe is in the middle of a multi-year API consolidation: new contracts run through unified GLS Europe credentials (API Key, API Secret, Contact ID, country), while older country-specific GLS Belgium contracts have to migrate. Direct integrators absorb the cost: re-authenticating, updating field mappings, re-testing payloads.
Through the Sendcloud REST API, the abstraction layer takes the hit. Sendcloud's engineering monitors the GLS Europe Developer Portal and adjusts the courier connector internally. The recent GLS Belgium migration to unified GLS Europe shipped with zero merchant-side code changes for accounts using Sendcloud's GLS API.
Can I use my own GLS contract?
Yes. Sendcloud supports both Sendcloud-negotiated GLS rates and your own GLS contract.
Sendcloud rates are available in the Netherlands, Belgium, Spain and other markets on Lite, Growth or Premium plans, so you can start shipping GLS without negotiating a contract.
For your own contract: go to Shipping > Couriers > My Contracts, find GLS Europe, click Add Contract, and enter API Key (Username), API Secret (Password), Contact-ID and country from your GLS account manager. Italy is the exception: GLS shipments from Italy require a direct contract.
Which GLS products are supported through the API?
Through Sendcloud, you can ship the full GLS Europe product line:
BusinessParcel: national parcel up to 40 kg with next-working-day deliveryEconomyParcel: economy delivery, letterbox-style where supportedExpressParcel: next day before close of businessShopDeliveryParcel: delivery to GLS ParcelShopsEuroBusinessParcel: 30+ European destinations including the UK, Switzerland and NorwayGlobalBusinessParcel: shipments outside Europe
The shipping methods enabled for your account are in the Sendcloud shipping-methods endpoint. See the GLS NL shipping conditions Help Centre article for full method details.
Which GLS-specific features does the API expose?
GLS-specific features exposed through the integration:
FlexDeliveryService: end customer can re-route delivery in real timeShopReturnService: drop-off at GLS ParcelShopsPick&ReturnService: pick-up at the customer's address, scheduled for the next working daySaturdayService: weekend delivery in supported marketsCashService: cash on delivery (own-contract only)Multi-parcel shipments and ParcelShop network access for failed-delivery redirects
Tracking on GLS requires separate activation by your GLS account manager. Without it, parcels remain in "Ready to send" status in Sendcloud.
How do I track GLS parcels?
Tracking on GLS requires separate activation by your GLS account manager. Without it, parcels stay in "Ready to send" status in Sendcloud. Once activation is on, every event flows through the standard webhook stream, including ParcelShop redirects when a delivery fails.
All events are normalised 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 GLS return labels?
GLS exposes two return services: Pick&ReturnService picks up the parcel at the customer's address, scheduled for the next working day, with a 60-day return window from the outbound date. ShopReturnService covers drop-off at any GLS ParcelShop in the network.
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 couriers individually?
The Sendcloud REST API gives you access to 170+ couriers, including GLS, through one credential set, one schema, one webhook stream, and one error model. Connecting couriers individually means handling separate authentication, payload formats, and tracking systems for each, and redoing the work every time a courier ships breaking changes upstream.
With Sendcloud, you ship GLS alongside DHL, UPS, PostNL, and DPD, or any other courier in your account using the same code. Route shipments between couriers based on rules (weight, destination, service level, cost) without writing courier-specific routing logic. Fall back to alternative couriers automatically if GLS's upstream system has issues.
Adding a new courier later means adding it to your Sendcloud account, not building a new integration.
One API for all your shipping needs
No set-up fees
Same-day integration
Ship with Europe’s top couriers
One API for all your shipping needs
No set-up fees
Same-day integration
Ship with Europe’s top couriers
One API for all your shipping needs
No set-up fees
Same-day integration
Ship with Europe’s top couriers
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



