GoatLabels GoatLabels
REST, JSON, one Bearer header.

A shipping API built for developers


No API fee on any plan.

The GoatLabels shipping API is a REST label API that authenticates with one Bearer header and gets to a purchased label in a few calls, with USPS, UPS and FedEx rates side by side on domestic parcels and DHL on international lanes, labels pay-as-you-go from a prepaid wallet, unlimited API calls on every plan, and no monthly fee on Free for up to 50 shipments a month.

USPS, UPS and FedEx in one response

DHL joins on international lanes, all without your own carrier accounts.

UPS FedEx DHL USPS DHL: international
Live quotes One rates call.
No carrier accounts Nothing to connect first.
Bearer auth One header, no signing.

A wallet, not a platform fee

Fund a prepaid wallet and the API spends it label by label, the same balance as the dashboard.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Prepaid Spent label by label.
No monthly fee on Free, up to 50 a month Staging costs nothing idle.
Pay as you go The bill is the labels.
Shipping APIs, side by side

What should a developer look for in a shipping API?

The GoatLabels shipping API is a REST label API that authenticates with one Bearer header and gets to a purchased label in a few calls, with unlimited API calls on every plan and no monthly fee on Free for up to 50 shipments a month. Create the shipment, compare USPS, UPS and FedEx rates (DHL on international lanes), buy the label, and auto-print it via PrintNode, all paid from a prepaid wallet. The table sets that against how shipping APIs are typically structured.

  GoatLabels Typical shipping APIs
Authentication One Bearer header on every request. No request signing, no per-endpoint keys. Varies: API keys, signed requests, or OAuth flows depending on the vendor.
Getting to a live label Create the shipment, compare USPS, UPS and FedEx rates (DHL on international lanes), buy the label. REST and JSON throughout. Comparable call sequences are common; some require a carrier account per carrier first.
What a call costs Labels are pay-as-you-go from a prepaid wallet. API calls are unlimited on every plan; Free has no monthly fee for up to 50 shipments a month, and past that Pro is $40 a month flat. Often a monthly platform fee, a per-label fee, or both — see the vendor's pricing page for current terms.
Carrier accounts Not required. USPS, UPS and FedEx quote domestic US parcels and DHL quotes international lanes, without your own contracts; Singapore origins quote UPS, FedEx and local couriers. Some APIs need you to connect your own carrier accounts before rates are returned.
API calls Unlimited on every plan. Quoting, re-quoting, and tracking reads are not metered. Often metered per call or per label, or packaged into usage tiers.
Testing Live and test keys, and the test keys are usable in CI. Sandbox access is common; its scope and limits vary by vendor.
Safe retries Send an Idempotency-Key header and a retried purchase does not buy a second label. Supported by some vendors, not all.
Webhooks Signed and replayable, so a missed delivery can be sent again. Webhooks are common; signing and replay vary.
Spec OpenAPI 3.1 at /api/v1/openapi.json, with rate-limit headers on responses. Published specs and client libraries vary by vendor.
Printing the result Auto-print via PrintNode to a named printer, or render in the browser. Usually a label URL or base64 blob you route to a printer yourself.
Non-API orders The same wallet backs the dashboard, 13 storefront connectors, bulk CSV import, and the AI assistant, so ops can work orders your code never touched. Dashboard tooling varies; some API-first vendors offer little beyond the endpoints.

The right-hand column describes common patterns, not any one vendor. Auth schemes, fees, and carrier requirements change — check each vendor's current docs and pricing page before you decide.

Updated 2026-09-11

Why do developers pick this API?

One header, three calls, a label

A shipping API should not need a signing library. Send a Bearer header, create the shipment, read back USPS, UPS and FedEx rates in one response (DHL on international lanes), and buy the one you want. The label comes back in the same round trip.

No subscription standing in front of the endpoint

Labels are pay-as-you-go from a prepaid wallet with no monthly fee on Free (up to 50 shipments a month), so a side project, a staging environment, and a production integration all cost exactly what they print. Nothing is a tier you clear before the API answers.

The ops team gets a dashboard for free

The same wallet backs the dashboard, the 13 storefront connectors, bulk CSV import, auto-print via PrintNode, and the AI assistant. Orders your integration never sees can still be worked in the same To Ship queue.

And when you should stay where you are

  • You need carriers outside USPS, UPS, FedEx, and DHL, or origins other than the US and Singapore.
  • Your integration depends on a specific vendor feature this page does not list. Check the API docs before assuming parity.
  • Your existing integration is stable and nobody is unhappy. A simpler auth scheme is not on its own a reason to rewrite it.
Orders in, labels out

Connect the stores. Import the rest. Print at the station.

Connect a Shopify, WooCommerce, Amazon, eBay, TikTok Shop, Etsy, Walmart, BigCommerce, Squarespace, Wix, Square, Magento, or Temu store and its orders land in the To Ship queue. Orders that arrive as a spreadsheet come in through bulk CSV import, where header aliasing maps whatever the sender called each column. Orders that arrive as a message or a screenshot go to the AI assistant, which drafts the label for you to confirm. Every label is rate-shopped across the carriers that serve it, paid from a prepaid wallet with no monthly fee on Free (up to 50 shipments a month), and auto-printed through PrintNode or the browser at the station that needs it (PrintNode on Pro).

1
Every source, one queue
Connector, CSV, API, or message
ops_northside

Rush order: 3x cartons (12 lb) to Maya R., Austin, TX 78701 — needs to go today

Shopify
Synced into To Ship
TikTok Shop
Synced into To Ship
CSV import
Order
#1847
Customer
Jordan Lee
Items
1x Carton (12 lb)
Address
Brooklyn, NY
Drop the CSV or paste the order

13 connectors, bulk CSV with header aliasing, the REST API, and pasted orders — one To Ship queue.

2 Billy AI assistant

Drafting the order that arrived as a message.

Billy AI
  • Reads a pasted order, an email, a voice note, or a screenshot
  • Fills in the recipient, the address, and the parcel details
  • Rate-shops USPS, UPS and FedEx side by side, DHL on international lanes
  • Hands the drafted label back for you to confirm
Drafted. Checked. Yours to confirm.
3
Label out at the station
Bought from the wallet
Paid from your prepaid balance
Pay-as-you-go, no monthly fee on Free, up to 50 a month
$12.47
USPS
Label purchased
USPS Priority Mail — rate shown is the debit
$12.47

Auto-print via PrintNode or the browser (PrintNode on Pro). Tracking is pushed back to the connected store when the label prints.

Where the orders actually come from.

13 connectors for the stores, CSV and API for everything else.

Shopify, WooCommerce, Amazon, eBay, TikTok Shop, Etsy, Walmart, BigCommerce, Squarespace, Wix, Square, Magento, and Temu sync into To Ship and get tracking pushed back when you print. Orders that never lived in a storefront — a spreadsheet from a client, a call from a WMS, a pasted email — go into the same queue by CSV import, the REST API, or the AI assistant.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
Amazon logo Amazon
eBay logo eBay
Squarespace logo Squarespace
Wix logo Wix
Walmart logo Walmart
Shopify Plus logo Shopify Plus Soon
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Temu logo Temu
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon
Patreon logo Patreon
What an operation keeps, and what it stops paying for.

The connectors, the carriers, the API.
On a flat plan, not a tier sized to your peak.

Moving a label engine should not cost you the carriers, the store sync, or the API. Those all come with you. What does not come with you is a monthly fee sized to your peak month — and what is new is an assistant that turns an unstructured order into a drafted label.

One prepaid wallet,
spent label by label

Fund the wallet and every label is a pay-as-you-go debit against it. There is no contract. Free covers 50 shipments a month at $0, and Pro is a flat $40 a month with unlimited shipments, so the balance you fund, plus Pro's one flat fee if you are on Pro, is all you reconcile.

Wallet balance
$1,247.36 USD
AI

AI drafting for orders
that are not structured

An email from a client, a screenshot of a form, or a spoken address is not an order record. The AI assistant reads it and drafts the whole label — recipient, parcel, and service — for you to confirm.

Billy Billy LIVE
Where's the package to Maya?
It's in transit via UPS. Expected Friday, Aug 7.
UPS
1Z8923A6B05G4123456
In transit
Austin, TX → Dallas, TX
Ask Billy anything...

No monthly fee
to print

Fund the wallet and pay for each label as you go. Free covers 50 shipments a month with no monthly fee; past that, Pro is $40 a month flat with unlimited shipments and no minimum term, so you can cancel it when volume drops.

Shipment summary
UPS Ground $12.49
Insurance $0.75
Fuel surcharge $0.32
Total $13.56

USPS, UPS and FedEx
in one quote

Live rates from USPS, UPS and FedEx side by side on every domestic parcel, with DHL on international lanes. That is the honest carrier list; if you need one outside it, a broader network is the reason to stay elsewhere. Thirteen storefront connectors sync into To Ship and push tracking back when you print, but a connector is never a prerequisite.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties inside the quote where DDP applies

The API your
warehouse system calls

REST and JSON with one Bearer header. Create the shipment, compare rates, buy the label, and auto-print it via PrintNode — the dashboard and the API spend the same prepaid balance.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue with side-by-side carrier prices
The AI assistant drafting a label from a pasted order on mobile

Label ready

CL-1038 · Brooklyn, NY

The dock, not the desk

An email is a valid order input.

Subscription platforms expect the order to already exist somewhere they can read. When it arrives as a message, you become the integration — retyping a name, an address, and a weight into a laptop you are not sitting at. GoatLabels takes the message itself, on the phone that is already at the pack station.

Paste the order or drop a screenshot — the AI assistant pulls out the recipient, the address, and the parcel.
Bulk CSV import with header aliasing for the files that arrive by the hundred.
USPS, UPS and FedEx come back as all-in prices on one screen, DHL on international lanes.
Buy from the prepaid balance and auto-print via PrintNode or the browser.
Hold the mic at the station and say the address — the assistant drafts it and reads the rate back.
Hands full of cartons

Talk to the assistant, not to an import screen.

Packing is a two-hands job, and most software's answer is a form. Hold the mic, say who the parcel is going to, and the assistant drafts the label, rate-shops USPS, UPS and FedEx (DHL on international lanes), and queues it against your prepaid balance, then answers for it afterwards when a client asks where the parcel is. This is the real product, not a render.

goatlabels.io/dashboard/shipments — assistant
The AI assistant reading back a parcel's tracking history over the purchased labels list

Listening

"Where's the Austin rush order?"

Out for delivery

CL-1039 · Austin, TX · by 6 PM

Plain English in — names, addresses, weights, carriers, services · nothing to import and nothing to map · reads the rate back before a cent leaves the wallet · phone or browser.

Side-by-side quotes

The quote is the debit.

Carriers quoted on the same parcel, each a number that is the exact amount leaving your prepaid balance. Nothing is added on the way through, and the only plan charge is Pro's flat $40 a month, which you need once you ship more than 50 a month.

CA → NY 2.6 lbs 12×8×4 in
USPS

USPS

Ground Advantage

2 to 5 days

$11.40

all-in · no surprises

Cheapest
UPS

UPS

Ground

1 to 5 days

$9.85

all-in · no surprises

FedEx

FedEx

Ground

1 to 5 days

$11.20

all-in · no surprises

Pay-as-you-go, label by label One wallet across every client Multi-currency display
Public API v1

An operation with a WMS behind it.

A warehouse system already knows the order, the bin, and the box. REST, JSON, and one Bearer header let it request the rate and the label directly, and auto-print via PrintNode puts the result at the station (PrintNode on Pro). The dashboard and the API buy from the same prepaid balance.

Create, rate-shop, and buy — a few calls, no SDK required
One Bearer header — no signing scheme to implement
USPS, UPS and FedEx rates in one response, DHL on international lanes
Auto-print via PrintNode from the same call (on Pro)
Read the API docs Get an API key $0 monthly fee
curl https://api.goatlabels.io/api/v1/shipments
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421

{
  "to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
  "parcel": { "weight": 2.6, "weight_unit": "lb" },
  "service": "fedex_intl_priority"
}
No contract, no seats

One flat plan, no seat or store tiers.

Labels are pay-as-you-go from a prepaid wallet, with no monthly fee on Free for up to 50 shipments a month and unlimited API calls; past that, Pro is one flat $40 monthly plan with unlimited shipments. The 13 connectors, bulk CSV import, the REST API, browser printing and the AI assistant come with both plans; PrintNode auto-print comes with Pro.

Pro

Most popular
$40 / month
Unlimited shipments on one flat monthly plan
Unlimited address validation
AI assistant Telegram logo — draft a label from a message, screenshot, or voice
API access on the same prepaid balance

Rate by plan

illustrative
Free Pro

pay for labels, not for seats

Free

$0 / forever

Up to 50 shipments a month with no subscription: enough to run the workflow on real orders before you need Pro.

50 shipments a month, unlimited API calls, no monthly fee
USPS, UPS and FedEx on every domestic parcel; DHL on international lanes
The REST label API with one Bearer header
AI assistant that drafts labels from a message or screenshot
13 storefront connectors and bulk CSV import included

The assistant is not a paid tier

The AI assistant that reads an email, a screenshot, or a voice note into a drafted label is part of the product, not an add-on.

Web, every plan Telegram logo Telegram, Pro

API on every plan

GET /api/v1/shipments

200 OK · plan: free

One Bearer header. The same wallet as the dashboard.

Bring the invoice you pay today

Put a real parcel through and compare the side-by-side rate against what that label costs you on

ShippoPirate ShipShipStation
No contracts No monthly fee Start in seconds
USPS UPS FedEx DHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL and shown as one number — the same number that leaves your wallet. Other vendors' plans and fees move, so compare against their current pricing page rather than a figure on ours. Full pricing details

Which operations this actually suits

Not every operation should move.

These are the teams for whom pay-as-you-go labels, one queue, and a label API add up to a real difference. The operations that should stay put are named on this page too.

Operations with a rotating client roster

Shopify logo Clients come and go monthly

Prepaid

Volume that arrives per client fits a prepaid wallet better than a seat count. Onboard a client, connect their store, and pay for their labels when they ship, plus Pro's flat $40 a month once your total passes 50 shipments a month.

4 carriers in one account no monthly fee bulk CSV
goatlabels.io/dashboard/shipments
GoatLabels shipments queue with purchased labels

Warehouses with a WMS already in place

WooCommerce logo REST API, one Bearer header

Let the warehouse system request the rate and the label, and auto-print the result at the station through PrintNode. Nothing is retyped between the two.

One queue, connector or not

Order #1024 · created via API

Instagram logo

Ops teams living in email and chat

Messenger logo The orders that never became a record

rush cartons to Austin, can they go today?
Label drafted · CL-1024

Multi-channel merchants outgrowing one store

Shopify logoWooCommerce logo 13 connectors, one balance

1

wallet behind every store and the API

Real sellers, real words

Teams that stopped paying a subscription to print a label.

A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
E

Early customer · TikTok

TikTok Shop seller

TikTok logo TikTok Shop
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
E

Early customer · Etsy

Etsy maker

Etsy logo Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user

Shipping API for developers — FAQ

What is the simplest shipping API for developers?
A REST label API that authenticates with one Bearer header and gets to a purchased label in a few calls. GoatLabels works that way: create the shipment, compare USPS, UPS and FedEx rates (DHL on international lanes), and buy the label, with labels pay-as-you-go from a prepaid wallet, unlimited API calls on every plan, and no monthly fee on Free for up to 50 shipments a month.
How do I authenticate with the GoatLabels API?
Send one Bearer header with your API key on every request. There is no request signing and no OAuth flow to implement. The full reference is in the API docs.
Does the shipping API charge a monthly fee?
Not to start. API calls are unlimited on every plan, Free covers 50 shipments a month with no monthly fee, and Pro is one flat monthly plan with unlimited shipments. Labels are pay-as-you-go from a prepaid wallet, and the API spends the same wallet as the dashboard. A month with no API calls costs nothing on Free; Pro is a flat $40 a month with no minimum term.
Do I need my own carrier accounts to use the API?
No. USPS, UPS and FedEx rates come back side by side on domestic parcels, and DHL on international lanes, without connecting your own carrier contracts.
Is there an SDK?
No. Generate one from the OpenAPI 3.1 spec served at /api/v1/openapi.json, or call the REST endpoints directly with JSON in and out.
How do I print a label returned by the API?
Use auto-print via PrintNode to send it to a named printer at the station, or render it in the browser. Either way the label your code bought is the one that comes out of the printer.
Can ops use a dashboard alongside my integration?
Yes. The same prepaid wallet backs the dashboard, 13 storefront connectors, bulk CSV import, and the AI assistant that drafts labels from a pasted message. Everything lands in one To Ship queue, whether your code created it or not.

Related reading: the API docs, shipping webhook recipes, the Shippo alternative for API developers, shipping software for 3PLs, the ShipEngine alternative, what a free shipping API includes, compare shipping APIs side by side, enterprise shipping software and APIs compared, B2B shipping software with an API on every plan.

Test it on the next order that lands.

Keep the carriers and the connectors.
Drop the monthly fee.

Fund a prepaid wallet, put through the next order you would have shipped anyway, and compare the side-by-side USPS, UPS and FedEx rates (DHL on international lanes) against what that label costs you today.

No contract. No card required. No monthly fee on Free, up to 50 shipments a month.

Updated