Shipping label API for 3PLs & fulfillment centers

Every carrier.
One API call
per label.

Compare rates across carriers and buy shipping labels straight from your WMS. Use our rates or bring your own carrier accounts, and bill every client brand separately.

Free sandbox account · No monthly fee · Pay per label

POST /v1/labels
# Buy the rate you picked for order 10482
curl https://api.orbiscommerce.com/v1/labels \
  -H "Authorization: Bearer $ORBIS_KEY" \
  -H "Idempotency-Key: ord_10482" \
  -d '{ "rate_id": "rate_8f2c41", "format": "zpl", "client": "acme" }'
201 Created · 312 ms
{
  "id": "lbl_3Hk9Qz",
  "carrier": "[CARRIER]",
  "tracking_number": "[TRACKING NO.]",
  "label_url": "https://…/lbl_3Hk9Qz.zpl",
  "cost": { "amount": "[RATE]", "currency": "USD" },
  "client": "acme"
}

Pre-built carrier integrations

  • [CARRIER]
  • [CARRIER]
  • [CARRIER]
  • [CARRIER]
  • [CARRIER]
  • [CARRIER]
Why OrbisCommerce

Built for warehouses that ship for other brands

A carrier's own API covers one carrier and one account. A 3PL runs many of both, for many clients, at packing-station speed.

Rate-shop every order

One request returns every carrier and service for the parcel, side by side. Pick the cheapest or fastest yourself, or let a rule decide.

Print in your printers' language

Every label comes back as ZPL for thermal printers or 4×6 PDF, in the same layout whichever carrier you chose. No per-carrier templates.

Bill every client separately

Tag each label with a client. Separate wallets, usage reports and invoices per brand, so you can pass shipping costs on line by line.

How it works

From packed parcel to printed label in three calls

  1. 01

    Send the parcel, get the rates

    Weight, dimensions and addresses from your WMS. Back come all carriers and services with price and transit time.

    POST /v1/rates
  2. 02

    Buy the label

    Pick a rate and buy it. The label, tracking number and customs documents come back in one response, ready to print.

    POST /v1/labels
  3. 03

    Track without polling

    Every carrier's scans arrive as one normalised event on your webhook, so your WMS and your clients stay up to date.

    webhook · tracking.updated
Platform

Everything a shipping desk needs, behind one key

  • Your accounts or ours

    Connect the carrier contracts you already have, use OrbisCommerce rates, or mix both per client.

  • Batch purchase

    Buy up to [N] labels in one request for wave picking, with one merged print file.

  • Address validation

    Check and correct addresses before you buy, so fewer parcels come back undeliverable.

  • Customs documents

    Commercial invoices and customs forms are generated with the label for international parcels.

  • Voids & refunds

    Cancel an unused label with one call; the refund goes back to that client's wallet.

  • Shipping rules

    Per-client rules like "cheapest under 2 days" pick the service for you when you don't pass a rate.

Developers

An API your engineers can ship in a week

REST and JSON, one error format, and a sandbox that mirrors production with test labels.

  • Idempotency keys, so a retried request never buys a label twice
  • Separate test and live keys, scoped per client
  • OpenAPI spec and copy-paste examples in the docs
  • [UPTIME]% uptime SLA on volume plans
Explore the API reference
Core endpoints
POST/v1/ratesRates from every carrier
POST/v1/labelsBuy a label
POST/v1/labels/batchBuy many at once
POST/v1/labels/{id}/voidCancel and refund
GET/v1/tracking/{number}Latest tracking events
POST/v1/addresses/validateCheck an address
POST/v1/clientsAdd a client brand
Pricing

Pay per label. No platform fee.

Save up to

40%

on every label compared with retail carrier rates. You only pay for the labels you buy. The more you ship, the lower your rate.

Get your rates

Everything included

  • All carriers and services
  • Unlimited client brands
  • Our rates or your own carrier contracts
  • Separate billing for every client brand
  • Free sandbox, no monthly fee
  • Integration help from our engineers