GoatLabels GoatLabels
Unlimited free REST API. Four carriers.

A free EasyPost alternative with no per-shipment API fee


Rates, labels, voids, tracking — all $0.

GoatLabels offers what EasyPost gates: an unlimited free REST API for rates, labels, voids and tracking across four carriers, with no per-shipment platform fee ever.

Four carriers per call, no call charged

USPS, UPS, FedEx, and DHL quoted all-in from one request — quote as often as you like.

UPSFedExDHLUSPS all quoted
Four quotes One rates request.
No meter Retries cost nothing.
REST + JSON Bearer auth, OpenAPI.

Prepaid wallet behind the API

Card, Apple Pay, Google Pay, ACH, or crypto — the API and the dashboard spend the same balance.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
One balance API and UI together.
No minimum A quiet month costs nothing.
Voids credited Back to the balance.
Free, defined

What free means here versus at EasyPost.

Both platforms will let you build against them for nothing. The question is what happens on the call after the allowance runs out — and whether the good carrier rates were included in the first place.

  GoatLabels EasyPost
Cost of an API call Zero, on every plan including Free, at any volume. Free below the included allowance, then billed per shipment — see their pricing page.
What 'free' means Unlimited calls forever. The Free plan's 50-shipment count is a label allowance, not an API meter. A free tier with a cap you are expected to outgrow.
Endpoints covered free Rates, buy, void, track, and webhooks — the whole surface, not a trial subset. Full API surface, priced by shipment volume.
Carriers rate-shopped USPS, UPS, FedEx, and DHL, with discounted rates built into the account. A broader carrier network, with the best rates often via your own accounts.
Auth and safety Bearer token, idempotency keys, signed webhooks, OpenAPI 3.1 spec, no SDK lock-in. Mature, well-documented API — this is their home turf.
What you actually pay The all-in carrier rate for labels you buy, debited from a prepaid wallet. Carrier rate plus platform fees above the tier.

EasyPost is a trademark of its owner and is not affiliated with GoatLabels. No EasyPost figure is quoted on this page — their tiers and fees change, so check their current pricing page.

Three things developers want from a free shipping API.

Free that doesn't expire at a threshold

Most free shipping APIs are evaluation tiers: generous enough to build against, capped exactly where a real product starts. Here the API has no request meter at all, so the plan you prototype on is the plan you run in production.

Retries and polling stop being expensive

When calls are billed, defensive engineering costs money — health checks, retries, re-quoting a rate that went stale. Unlimited calls means you write the correct integration instead of the cheap one, with idempotency keys making retries genuinely safe.

Rates are built in, not brought in

A free API is not worth much if the good rates require your own negotiated carrier contracts. Discounted USPS, UPS, FedEx, and DHL pricing is in the account from the first call, quoted as one all-in number that is exactly what leaves the wallet.

And when EasyPost is the right choice

  • You need a carrier or service outside USPS, UPS, FedEx, and DHL — that is the honest list, and EasyPost's network is broader.
  • You have negotiated carrier contracts you must ship on, and a platform built around bringing your own accounts fits that better.
  • Your integration already works, your volume sits comfortably inside the free tier, and nothing on this page is a problem you have.
Free at every hop

Create, rate, buy, track. None of it metered.

The integration is the three calls you already write plus a webhook handler, and not one of them carries a platform fee. Create a shipment from whatever your system holds, fetch four all-in rates in a single response, buy the one your logic picks, and let signed webhooks push tracking back instead of polling for it. Purchases debit a prepaid wallet funded by card, Apple Pay, Google Pay, ACH, or crypto, and the same balance backs the dashboard — so a support person can reprint or void a label your code bought without a second account or a second bill.

1
Any order shape in
API, store sync, DM, or screenshot
maya_boutique

Hey! 2x hoodies (M) 1x tee (L) 😅 Ship to: Maya R. Austin, TX 78701

Shopify
Synced into To Ship
TikTok Shop
Synced into To Ship
DM screenshot
Order
#1847
Customer
Jordan Lee
Items
1x Hoodie (L)
Address
Brooklyn, NY
Drop the screenshot or paste the DM

POST a shipment or let the queue fill itself — every intake path is unmetered.

2 Billy AI

The messy orders your API never receives.

Billy AI
  • Reads a pasted order, a screenshot, a voice note, or a synced record
  • Fills the addresses and the package details
  • Rate-shops USPS, UPS, FedEx, and DHL at the all-in price
  • Included free, so support does not become an integration ticket
Drafted. Checked. Yours to confirm.
3
Clean label out
Bought from the wallet
Paid from your prepaid balance
Card, Apple Pay, Google Pay, ACH, or crypto
$12.47
USPS
Label purchased
USPS Priority Mail — all-in rate
$12.47

Signed webhooks push tracking back. Voids credit the same wallet the purchase debited.

Where your orders actually come from.

Connectors for the storefronts, API for everything you own.

Shopify, Etsy, WooCommerce, and TikTok Shop sync into To Ship and push tracking back when a label prints, which is a webhook handler you now do not have to write. Your own systems talk to the REST API directly, and neither path is billed per shipment.

Via AI tiles: an order that never became a record still becomes a label.

13 connected today 2 via AI 8 coming soon
Connected today 13 storefronts sync to To Ship
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
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Temu logo Temu
Via AI

DM and screenshot parsing — the AI builds the label.

Coming soon
Shopify Plus logo Shopify Plus Soon
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon
A free API is only useful if the rates are good.

Free calls, and rates worth calling for.
Both, or neither counts.

An unlimited API attached to list-price carrier rates would be a bad trade. Discounted USPS, UPS, FedEx, and DHL pricing is built into the account, quoted all-in, and debited from a prepaid wallet — with AI drafting and a dashboard sitting on the same balance for the orders your code never sees.

One prepaid wallet,
five ways to fund it

Card, Apple Pay, Google Pay, ACH bank transfer, and crypto all top up the same balance, and every method buys identical rates, carriers, and features. Void a shipment over the API and the credit lands back in the wallet.

Wallet balance
$1,247.36 USD
AI

AI drafting for the orders
that never hit your API

A DM, a comment thread, a voice note, a screenshot — Billy reads any of them into a drafted label. That is the half of the day no integration was ever going to cover, and it is included.

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 minimum
to print

Fund the wallet, pay per label, and ship nothing in February without paying for February. Pro is a flat optional plan for unlimited shipments and cheaper label pricing — the API stays free either way.

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

USPS, UPS, FedEx, and DHL
in one response

One rates call returns four all-in prices, and the number you pick is the exact amount that leaves your balance. Discounted rates come with the account rather than with a carrier contract you have to negotiate first.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties & taxes paid

Unlimited calls,
on every plan

REST and JSON, one Bearer header, idempotency keys so a retry cannot double-buy a label, signed webhooks for tracking and label events, and an OpenAPI 3.1 spec with no SDK lock-in.

POST /v1/shipments
{
"to" : { "name" : "Maya" },
"from" : { "name" : "Alex" },
"service" : "ups_ground" ,
"label_format" : "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue with all-in carrier prices
Billy drafting a label from a pasted DM on mobile

Label ready

CL-1038 · Brooklyn, NY

The half an API can't cover

A dashboard behind the same API key.

Even a perfect integration leaves orders that arrive as a message and support requests that arrive as a phone call. The web and mobile app runs on the same account and the same balance, so nobody has to write an admin tool to reprint one label.

Paste the DM, snap the thread, or drop the screenshot — Billy pulls the name, the address, and the parcel out of it.
Reprint, void, or re-rate a label your code bought, without a support endpoint.
USPS, UPS, FedEx, and DHL come back as four all-in prices on one screen.
Buy from the prepaid balance and one-tap print to a share sheet or a thermal printer over Wi-Fi.
Hold the mic at the packing table and say the address — Billy drafts it and reads the rate back.
Not every question deserves a query

Talk to Billy, skip the internal tool.

Where is that parcel, what did it cost, why did it void — on most stacks each of those is a small piece of software someone has to build. Hold the mic, ask, and Billy answers from the same shipments your API created, then drafts the next label against the same prepaid balance. This is the real product, not a render.

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

Listening

"Where's Maya's package?"

Out for delivery

CL-1039 · Austin, TX · by 6 PM

Plain English in — names, addresses, weights, carriers, services · same shipments your API created · reads the all-in rate back before a cent leaves the wallet · phone, browser, or Telegram.

All-in quotes

The quote is the debit.

Three carriers on the same parcel, each an all-in number that is the exact amount leaving your prepaid balance. Rate lookups are free whether or not they end in a purchase, so re-quoting a stale rate before you buy is never a cost decision.

US → DE 2.6 lbs 12×8×4 in
USPS

USPS

Priority Mail Intl

10–15 days

$18.30

$10.00 of taxes & duties included

all-in · no surprises

Best balance
FedEx

FedEx

Intl Connect Plus

3–5 days

$22.80

$11.00 of taxes & duties included

all-in · no surprises

DHL

DHL

Express Worldwide

1–2 days

$26.20

$12.20 of taxes & duties included

all-in · no surprises

No carrier invoice the day after Void → credit back to the wallet you funded Multi-currency display
Public API v1

The free API you came here for.

REST, JSON, one Bearer header. Real idempotency keys so a retried request cannot double-buy a label, signed webhooks for tracking and label events instead of polling, and errors that name what to fix. No request meter, no per-shipment platform fee, no tier that turns billing on behind you.

Create, rate-shop, buy, void, and track — the whole surface, free
Signed webhooks for tracking and label events instead of polling
Real idempotency keys — a retried request never buys two labels
OpenAPI 3.1 spec, no SDK lock-in, unlimited calls on every plan
Read the API docs Get an API key $0 on every plan
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": 1.2, "weight_unit": "kg" },
  "service": "fedex_intl_priority"
}
Free is the API, not a trial

Unlimited calls, permanently.

Free covers 50 shipments a month with the public API, the store connectors, and Billy all unlimited underneath it — we make a little on each label instead. Pro is a flat monthly fee for unlimited shipments, cheaper label pricing, and Billy on Telegram. The API is the same API on both, and it is free on both.

Pro

Most popular
$40 / month
Unlimited shipments — no monthly cap
Cheaper label pricing that scales down as your volume grows
Billy AI on Telegram — draft a label without opening the dashboard
API access still free and unlimited

Volume pricing

illustrative
less volume more volume

more volume → lower per-label rates

Free

$0 / forever

Enough to run a real integration, not just evaluate one.

50 shipments a month, no monthly minimum to print
USPS, UPS, FedEx, and DHL rate-shopped on every parcel
The full REST API with unlimited calls and signed webhooks
Billy AI in the web app, unlimited — paste, screenshot, or speak
Shopify, Etsy, WooCommerce, and TikTok Shop sync included

Billy is not a paid tier

The assistant that reads a DM, a screenshot, or a voice note into a drafted label runs unlimited in the web app on Free. Pro adds Billy on Telegram.

Web — every plan Telegram — Pro

API free on every plan

GET /api/v1/shipments

200 OK · plan: free

Unlimited calls on Free — still unlimited on Pro.

Bring the invoice you pay today

On Pro we will work with you to beat the label rates you are already getting from

ShippoPirateShipShipStation
No contracts No monthly minimum to print Start in seconds
USPS UPS FedEx DHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL and shown as one all-in number — the same number that leaves your wallet. EasyPost's free tier and per-shipment fees move, so compare against their current pricing page. Full pricing details

Who a free API actually helps

Unlimited matters most past the tier cap.

Below an included allowance every API is free and the choice is about carriers and ergonomics. These are the teams for whom the meter has started to matter — and the ones who should stay on EasyPost are named on this page too.

Teams that just outgrew a free tier

TikTok Shop & live commerce

Unlimited

The month you cross a threshold is the month shipping cost stops being predictable. Removing the meter puts the forecast back to shipments times carrier rate.

4 carriers per quote unlimited API calls no per-shipment fee
goatlabels.io/dashboard/shipments
GoatLabels shipments queue with purchased labels

Side projects and internal tools

Etsy & independent creators

Small volume that still needs real labels, real tracking, and real rates. Nothing here expires into a sales call when the prototype starts working.

Prototype plan = production plan

Order #1024 · same key, same price: $0

Sellers living in the DMs

The orders that never became JSON

got the dress! can you ship to Austin?
Label drafted · CL-1024

Platforms shipping on behalf of others

REST and the UI, one balance

1

wallet behind the API and the dashboard

Real sellers, real words

Sellers and devs on the same free API.

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 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
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user

Free shipping API FAQ

Is the GoatLabels API really free?
Yes. The public REST API is free and unlimited on every plan, including Free — creating shipments, rate-shopping USPS, UPS, FedEx, and DHL, buying labels, voiding them, and receiving tracking webhooks all carry no platform fee at any volume. The only money that moves is the all-in carrier rate for labels you actually buy.
What is the catch on the free tier?
The Free plan includes 50 shipments a month. That is a count of labels, not a limit on API calls, and Pro removes it with a flat monthly fee and cheaper per-label pricing. There is no request meter on either plan, so no per-shipment API fee ever appears.
Which endpoints does the free API cover?
The full surface a shipping integration needs: create a shipment, fetch rates across four carriers, buy a label, void it, and follow tracking through signed webhooks instead of polling. It is REST and JSON with a Bearer token, idempotency keys on writes, and an OpenAPI 3.1 spec, so you can generate a client or hand-roll one.
Do I need my own carrier accounts to get good rates?
No. Discounted USPS, UPS, FedEx, and DHL rates are built into the account from your first call — no contract negotiation and no account linking step before you can quote. Every rate comes back as a single all-in number, and that exact amount is debited from your prepaid wallet when you buy.
How safe are retries on an unlimited API?
Every write takes an idempotency key, so a retried purchase request returns the original label instead of buying a second one. Because calls are not metered, retrying is also free, which means the defensive path and the cheap path are the same path.
Can I use the dashboard and the API together?
Yes, and they share one prepaid balance, so nothing has to be reconciled between them. A label your code buys and a label someone prints from the web app draw on the same wallet and appear in the same shipment list.
How do I test before going live?
Create an account, fund the wallet with card, Apple Pay, Google Pay, ACH, or crypto, and point your integration at a single real shipment. Because rate lookups cost nothing and there is no monthly minimum, running side by side with your current provider costs only the labels you choose to buy.

Ready to port an existing integration? Read the migration guide, the pricing teardown, or the full GoatLabels vs EasyPost comparison.

One key, one call, no invoice.

Keep the four carriers.
Drop the per-shipment fee.

Generate an API key, fund a wallet with card, Apple Pay, Google Pay, ACH, or crypto, and rate-shop your next real shipment across USPS, UPS, FedEx, and DHL before you commit to anything.

Sign up in seconds. No card required. No monthly minimum.