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.

Easy to use and thoroughly documented
Tested on millions of shipments
Available on all plans
Why integrate GLS via the Sendcloud API?
Skip the GLS contract negotiation
Ship under Sendcloud's negotiated GLS rates from day one, or bring your own contract when you're ready.
Pan-European network across 30+ countries
GLS Parcel Europe covers cross-border shipments under a single service code. Sendcloud also handles domestic GLS products per country without a separate contract per market.
Integrate with 170+ couriers at once
Stop maintaining and integrating different couriers 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 leading market technologies.
ISO 27001 Certified
The world’s most rigorous standards for information security.
The complete shipping API for any system
Shipping API
Get rates, create shipments, download labels, configure webhooks and so much more.
Checkout API
Retrieve the list of active couriers, query service points by GPS location, and check their availability.
Tracking API
Track parcels in real time, retrieve delivery time stamps, and consolidate statuses in an easy-to-read format.
Returns API
Build your own returns portal, find the nearest service point, create return shipments, and download return labels.
Contracts API
Create and update Sendcloud's shipping contracts or your own courier contracts via API.
"Sendcloud allows us to connect to a lot of different couriers seamlessly."

Oscar Ziegler
Founder and CEO
-
Hive




API integration examples
Service Point Picker
See how to integrate the Service Point Picker into a custom application.
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
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



