Developer API

Build faster with nshift Go API

One API. All carriers. Ship parcels across the Nordics and Europe with a single integration.

RESTful API
Webhook Events
99.9% Uptime
terminal
connected
$ curl -X POST https://api.nshift.com/v1/shipments
{
"status": "created",
"shipment_id": "shp_7x8k2m9n",
"tracking_url": "https://track.nshift.com/..."
}
Quick Start

Ship your first parcel in minutes

A single API call is all you need. Choose your language and start building.

Request
curl -X POST https://api.nshiftgo.com/v1/shipments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "carrier": "postnord",
    "sender": {
      "name": "Your Company",
      "address": "Street 1",
      "city": "Copenhagen",
      "zip": "1000",
      "country": "DK"
    },
    "recipient": {
      "name": "Customer Name",
      "address": "Customer Street 42",
      "city": "Aarhus",
      "zip": "8000",
      "country": "DK"
    },
    "parcels": [{ "weight": 1.5 }]
  }'
const response = await fetch('https://api.nshiftgo.com/v1/shipments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    carrier: 'postnord',
    sender: {
      name: 'Your Company',
      address: 'Street 1',
      city: 'Copenhagen',
      zip: '1000',
      country: 'DK'
    },
    recipient: {
      name: 'Customer Name',
      address: 'Customer Street 42',
      city: 'Aarhus',
      zip: '8000',
      country: 'DK'
    },
    parcels: [{ weight: 1.5 }]
  })
});

const shipment = await response.json();
console.log(shipment.tracking_number);
import requests

response = requests.post(
    'https://api.nshiftgo.com/v1/shipments',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
        'carrier': 'postnord',
        'sender': {
            'name': 'Your Company',
            'address': 'Street 1',
            'city': 'Copenhagen',
            'zip': '1000',
            'country': 'DK'
        },
        'recipient': {
            'name': 'Customer Name',
            'address': 'Customer Street 42',
            'city': 'Aarhus',
            'zip': '8000',
            'country': 'DK'
        },
        'parcels': [{'weight': 1.5}]
    }
)

shipment = response.json()
print(shipment['tracking_number'])
200 OK
Response
{
  "id": "shp_9f8e7d6c5b4a",
  "status": "created",
  "tracking_number": "JJD000390015678901234",
  "carrier": "postnord",
  "label_url": "https://api.nshiftgo.com/labels/shp_9f8e7d6c5b4a.pdf",
  "estimated_delivery": "2025-01-03",
  "created_at": "2025-01-01T12:00:00Z"
}
One-click labels

Print labels in seconds, not hours

Stop copy-pasting between systems. Your orders flow in, labels print out. It's that simple. Works with thermal printers too.

  • Batch printing for bulk orders
  • Works with any printer
  • No more Excel sheets
EXPRESS
GB 1234 5678 9012
FROM nShift Warehouse 10 Downing Street London SW1A 2AA, GB
TO James Wilson 221B Baker Street London NW1 6XE, GB
LHR-01 Zone A
1 of 24 labels
Customer tracking

Your customers know where their stuff is

Branded tracking page with your logo. Real-time updates sent automatically. Fewer "where's my order?" emails for you.

  • Branded tracking page
  • Automatic SMS/email updates
  • Fewer support tickets
Multi-carrier

The right carrier for every order

Some packages need express, some need economy. Set your rules once, and we'll pick the best carrier automatically.

  • 70+ carriers connected
  • Smart carrier selection
  • Use your own rates
Shipping Rules Active
IF Order value > £100
THEN Free shipping
IF Weight < 1kg AND Country = UK
THEN Use Royal Mail
IF Express selected
THEN Use DHL Express
The boring numbers

E-commerce shops that ditched the spreadsheets

70+
5 min
0
24/7
FAQ

Questions you probably have

No sales pitch, just straight answers

Really. What you see is what you pay. No setup fees, no per-label charges, no surprise invoices. We're allergic to hidden costs.

Just cancel. No contracts, no lock-in periods, no awkward breakup conversations. We believe in earning your business every month.

All the big ones: Shopify, WooCommerce, Magento, PrestaShop, and more. If your platform has an API, we can probably connect to it. Takes about 5 minutes.

Real humans. In your language. We have local support teams across Europe who actually know shipping. No scripts, no chatbots, no "your call is important to us" nonsense.

Absolutely. Bring your own rates and contracts. We're not a middleman – we just make the connection smoother. Your deals stay your deals.

Partners 4 life

Ready to ditch the manual work ?

5 minutes to connect. No hidden fees. No commitment. Cancel anytime. We're here when you're ready to grow.