Programmable shipping
APIs for platforms
Karrio is the most flexible way to integrate shipping into your platform. Our headless shipping platform enables you to build shipping experiences from live rating, label generation, package tracking, and more.
Join the community
Supported Carriers
OSS Downloads
Live Transactions
The problem
Shipping integration is still painful
Poor developer experience. Long time-to-value. Lack of control.
For engineers
Obstacles include arcane technologies, a lack of documentation, multiple and inconsistent APIs, difficult access to accounts and API credentials for development, and more. In short, an overall poor developer experience.
For brands & retailers
Enabling shipping is crucial but expensive, with limited options. Depending on in-house shipping system diverts engineering resources and pushing carrier onboarding. Adopting closed SaaS solutions results in a limited ability to create custom logistics processes.
For Logistics providers
After re-inventing the wheel or adopting a closed-source solution, how much engineering time do you have left? Building a custom-branded shipping experience for your merchants doesn't have to result in a lack of control, vendor lock-in and low margins.
The solution
Headless shipping platform

Universal shipping API
Feeling the pain or struggling with shipping API integrations? Stop reinventing the wheel and add your carrier accounts on Karrio to start processing shipping transactions.
Out-of-the-box shipping system
Karrio's shipping solution offers an API for engineers and a flexible user interface for back-office fulfillment operations. With our composable architecture, you can add carrier extensions and extend Karrio's functionalities.
More control and security
Our open source solution gives you an alternative to the build-or-buy dilemma. With Karrio's transparency, you can regain control and visibility over logistics processes and shipping spending. All while achieving carrier, data and security compliance.
How it works
Effortless shipping integration
A simple four-step process to integrate shipping into your platform
Manage carrier connections
Setup accounts and API credentials to enable Karrio's connection to your carriers.
Fetch live rates
Your users can fetch live rates from a network of carriers by submitting shipment details using the user interface or programmatically via API.
Generate shipping labels
Karrio will generate shipping labels based on your preferred shipping service. You can then download and print generated labels.
Track packages
Labels purchased on Karrio are automatically linked with a package tracker to provide real-time delivery status. You can also create trackers for shipments made outside of Karrio.
Made for developers
The flexible headless shipping platform
No more painful in-house carrier integrations. No more dependence on 3rd party and SaaS vendor lock-in for your logistics automation. We obsess over the right abstractions so your teams don't have to and won't spend months integrating shipping functionalities. Create memorable shipping experiences and powerful extensions through WebHooks, REST and GraphQL API.
curl \
-X POST \
-H "Authorization: Token API_KEY" \
https://api.karrio.io/v1/proxy/rates \
-d '{
"shipper": {
"postal_code": "V6M2V9",
"city": "Vancouver",
"country_code": "CA",
"province_code": "BC",
"address_line1": "5840 Oak St"
},
"recipient": {
"postal_code": "E1C4Z8",
"city": "Moncton",
"country_code": "CA",
"province_code": "NB",
"address_line1": "125 Church St"
},
"parcels": [{
"weight": 1,
"weight_unit": "kg",
"package_preset": "canadapost_corrugated_small_box"
}],
"carrier_ids": ["canadapost"]
}'
Ready to get started?
Karrio is free to get started, and has an insider sponsorship tier for mission critical and shipping at scale.