USPS
Ground Advantage
2 to 5 days$11.40
all-in · no surprises
GoatLabels offers an unlimited free REST API for rates, labels, voids and tracking on USPS, UPS and FedEx (DHL on international lanes), with no per-label platform fee at any volume, where EasyPost charges per label past 3,000 a month.
USPS, UPS and FedEx quoted all-in from one request, DHL on international lanes; 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, and both include carrier rates. The question is what happens to the label after the allowance runs out.
| GoatLabels | EasyPost | |
|---|---|---|
| Cost of an API call | Zero, on every plan including Free, at any volume. | No per-call charge, but a per-label fee past 3,000 Wallet-carrier labels a month, and a fee for rating beyond three times your label count. |
| What 'free' means | Unlimited calls forever. The Free plan's 50-shipment count is a label allowance, not an API meter. | Free Access: up to 3,000 Wallet-carrier labels a month before the per-label fee starts. |
| Endpoints covered free | Rates, buy, void, track, and webhooks — the whole surface, not a trial subset. | Full API surface; the label fee is the part that scales with volume. |
| Carriers rate-shopped | USPS, UPS, FedEx (domestic); DHL (international), with rates built into the account. | More than 100 carriers, on EasyPost's Wallet-carrier rates or your own accounts via the paid BYOCA plan. |
| 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. | Postage plus a per-label fee above 3,000 a month, or on BYOCA a monthly plan fee and a fee on every label. |
EasyPost is a trademark of its owner and is not affiliated with GoatLabels. EasyPost's plans and fees are dated and linked in the source block below; they change, so re-check before you decide.
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. USPS, UPS and FedEx (plus DHL on international lanes) pricing is in the account from the first call, quoted as one all-in number that is exactly what leaves the wallet.
Checked on from EasyPost's own pages. Plans, fees and policies change, so confirm on the vendor's current page before you decide. EasyPost is a trademark of its owner and is not affiliated with GoatLabels.
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 the 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.
Billy AI
Signed webhooks push tracking back. Accepted voids credit the same wallet the purchase debited.
Shopify, Etsy, WooCommerce, eBay and Wix 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.
An unlimited API with no rates behind it would be a bad trade. USPS, UPS and FedEx pricing for domestic parcels, and DHL on international lanes, 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, after the carrier accepts the void, 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.
Billy
LIVE
Fund the wallet, pay per label, and ship nothing in February without paying for February on Free, which covers 50 shipments a month. Past that, Pro is one flat $40 monthly plan with unlimited shipments; the API stays free either way.
One rates call returns an all-in price from each carrier on the lane, and the number you pick is the exact amount that leaves your balance. 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 on Pro.
Each carrier 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.
Ground Advantage
2 to 5 days$11.40
all-in · no surprises
Ground
1 to 5 days$9.85
all-in · no surprises
Ground
1 to 5 days$11.20
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": 2.6, "weight_unit": "lb" },
"service": "fedex_intl_priority"
}
Free covers 50 shipments a month with the public API, the store connectors, and Billy all unlimited underneath it — the quoted label price is what you pay from a prepaid wallet. Pro is a flat monthly fee for unlimited shipments and Billy on Telegram. The API is the same API on both, and it is free on both.
Rate by plan
illustrativePro: one flat monthly plan, unlimited shipments
$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.
High-volume shippers can ask about custom pricing, which we review account by account. Compare it against what you pay on
ShippoPirate ShipShipStationLabel prices are quoted live from USPS, UPS and FedEx (plus DHL on international lanes) and shown as one all-in number, the same number that leaves your wallet. EasyPost's free allowance and per-label fee are in the dated source block on this page, linked to EasyPost's own pages. 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 and FedEx (DHL on international lanes) before you commit to anything.
No card required. No contract. No monthly fee on Free, up to 50 shipments a month.
Updated