Smart Send
Smart Send Built for Shopify
API integration

Build shipping into your own systems

Connect your WMS, ERP or custom backend to Smart Send over one documented REST API. Fetch rates, book labels, pull tracking and receive webhooks — all on your own carrier agreements.

One REST API for rates, booking, labels and tracking Your own carrier agreements behind a single endpoint Webhooks, scoped tokens and official SDKs included
One call, label back
Smart Send APIv3
POST/v3/shipments
{
"to": { "name": "Mette S.", "zip": "2200" },
"parcels": [{ "weight": 1.4 }],
"carrier": "gls",
"service": "pickup"
}
201ship_8f2aSS 0641 70449

Every Nordic carrier behind a single API — on your own agreement

REST endpoints Rates, shipments, labels, tracking and pick-up points over clean JSON.
Token auth Scoped API tokens and a simple Bearer header — no OAuth dance.
Webhooks Subscribe to shipment events and have them pushed to your endpoint.
Libraries Official SDKs for PHP, Node and Python, plus an OpenAPI spec.
Endpoints

Everything, behind one REST API

Quote rates, create shipments, fetch labels and read tracking from the same versioned API. Predictable JSON in and out, with clear errors and idempotency on writes.

Rates, shipments, labels, tracking and pick-up points Versioned at /v3, with idempotent writes
EndpointsREST · JSON
GET/v3/rates
POST/v3/shipments
GET/v3/shipments/{id}/label
GET/v3/tracking/{id}
GET/v3/pickup-points
Authentication

Secure by default, simple to call

Create scoped API tokens for each system and send them as a Bearer header. Limit what each token can do, rotate them anytime, and keep production and test keys apart — no OAuth dance to set up.

Scoped tokens, rotated whenever you need Separate live and test keys
API tokensActive
sk_live_8f2a••••••••3b
Scopes
shipments:writerates:readtracking:read
Sent as Authorization: Bearer …
Webhooks

Shipment events, pushed to you

Subscribe once and Smart Send posts an event to your endpoint as parcels move — booked, label ready, in transit, delivered. No polling, and delivery is retried until your endpoint confirms.

Subscribe to the events that matter to you Retried automatically, with a signed payload
Webhooksdelivered
POSThttps://shop.dk/hooks/smartsend
{
"event": "shipment.delivered",
"id": "ship_8f2a",
"tracking": "SS 0641 70449",
"at": "2026-03-14T14:22Z"
}
createdlabel.readyin_transitdelivered
Libraries & SDKs

Start fast in your stack

Install an official SDK and book your first label in a few lines. Prefer your own client? Generate one from our OpenAPI spec and stay in sync as the API evolves.

Official SDKs for PHP, Node and Python OpenAPI spec to generate your own client
LibrariesOpenAPI
PHPcomposer require smartsend/sdk
Nodenpm i @smartsend/node
Pythonpip install smartsend
$client = new SmartSend(apiKey);
$client->shipments->create([ … ]);
Up and running in 5 minutes

Start shipping from inside Shopify today

It’s as simple as installing the app and going through the setup — about five minutes from start to your first label. Prefer to talk it through? If you’d like to discuss your specific needs, we offer a free intro call.

Available on the Shopify App Store Talk to a human We are ready for a chat
Free to start · no binding period · no card needed