The easiest way to integrate with the GLS API
Add GLS shipping to your WMS, ERP, or e-commerce backend through one Sendcloud integration. No GLS API setup, 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 one Sendcloud integration. No GLS API setup, 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 one Sendcloud integration. No GLS API setup, 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 through 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 carrier 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 carrier 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 > Carriers > 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, mailbox-style where supportedExpressParcel: next-day before close of businessShopDeliveryParcel: delivery to GLS ParcelShopsEuroBusinessParcel: 30+ European destinations including the UK, Switzerland, NorwayGlobalBusinessParcel: shipments outside Europe
The shipping methods enabled for your account live in the Sendcloud shipping-methods endpoint. See the GLS NL shipping conditions Help Center 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: pickup at the customer's address, scheduled 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 stay 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 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 GLS return labels?
GLS exposes two return services: Pick&ReturnService picks up the parcel at the customer's address, scheduled 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 carriers individually?
The Sendcloud REST API gives you access to 170+ carriers, including GLS, 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 GLS alongside DHL, UPS, PostNL, and DPD, 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 GLS'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 GLS API through 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 carrier 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 carrier 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 > Carriers > 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, mailbox-style where supportedExpressParcel: next-day before close of businessShopDeliveryParcel: delivery to GLS ParcelShopsEuroBusinessParcel: 30+ European destinations including the UK, Switzerland, NorwayGlobalBusinessParcel: shipments outside Europe
The shipping methods enabled for your account live in the Sendcloud shipping-methods endpoint. See the GLS NL shipping conditions Help Center 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: pickup at the customer's address, scheduled 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 stay 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 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 GLS return labels?
GLS exposes two return services: Pick&ReturnService picks up the parcel at the customer's address, scheduled 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 carriers individually?
The Sendcloud REST API gives you access to 170+ carriers, including GLS, 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 GLS alongside DHL, UPS, PostNL, and DPD, 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 GLS'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 GLS API through 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 carrier 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 carrier 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 > Carriers > 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, mailbox-style where supportedExpressParcel: next-day before close of businessShopDeliveryParcel: delivery to GLS ParcelShopsEuroBusinessParcel: 30+ European destinations including the UK, Switzerland, NorwayGlobalBusinessParcel: shipments outside Europe
The shipping methods enabled for your account live in the Sendcloud shipping-methods endpoint. See the GLS NL shipping conditions Help Center 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: pickup at the customer's address, scheduled 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 stay 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 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 GLS return labels?
GLS exposes two return services: Pick&ReturnService picks up the parcel at the customer's address, scheduled 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 carriers individually?
The Sendcloud REST API gives you access to 170+ carriers, including GLS, 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 GLS alongside DHL, UPS, PostNL, and DPD, 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 GLS'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



