USPS
Priority Mail Intl
10–15 days$18.30
$10.00 of taxes & duties included
all-in · no surprises
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.
USPS, UPS, FedEx, and DHL quoted all-in from one request — quote as often as you like.
Card, Apple Pay, Google Pay, ACH, or crypto — the API and the dashboard spend the same balance.
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.
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.
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.
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.
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.
Hey! 2x hoodies (M) 1x tee (L) 😅 Ship to: Maya R. Austin, TX 78701
POST a shipment or let the queue fill itself — every intake path is unmetered.
Signed webhooks push tracking back. Voids credit the same wallet the purchase debited.
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.
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.
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.
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.
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.
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.
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.


Label ready
CL-1038 · Brooklyn, NY
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.
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.

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.
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.
Priority Mail Intl
10–15 days$18.30
$10.00 of taxes & duties included
all-in · no surprises
Intl Connect Plus
3–5 days$22.80
$11.00 of taxes & duties included
all-in · no surprises
Express Worldwide
1–2 days$26.20
$12.20 of taxes & duties included
all-in · no surprises
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.
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 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.
Volume pricing
illustrativemore volume → lower per-label rates
$0 / forever
Enough to run a real integration, not just evaluate one.
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.
GET /api/v1/shipments
200 OK · plan: free
Unlimited calls on Free — still unlimited on Pro.
On Pro we will work with you to beat the label rates you are already getting from
ShippoPirateShipShipStationLabel 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
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.
TikTok Shop & live commerce
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.

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
The orders that never became JSON
REST and the UI, one balance
1
wallet behind the API and the dashboard
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.
Early customer · TikTok
TikTok Shop seller
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.
Early customer · Etsy
Etsy maker
The API is what every shipping API pretends to be. Idempotency that actually works.
Sasha R.
Staff engineer, marketplace
Ready to port an existing integration? Read the migration guide, the pricing teardown, or the full GoatLabels vs EasyPost comparison.
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.