USPS
Priority Mail Intl
10–15 days$7.40
$1.90 of duties & taxes prepaid, not billed to your buyer
all-in · no surprises
Two questions separate these platforms: who owns the carrier account, and how labels get paid for. EasyPost offers its own Wallet carriers or a paid BYOCA plan for contracts you bring, and charges per label past 3,000 Wallet labels a month and on every BYOCA label. GoatLabels rate-shops its own USPS, UPS and FedEx panel (DHL on international lanes) and debits a prepaid wallet.
USPS, UPS and FedEx quoted on your first domestic parcel, DHL on international lanes, with no account numbers, no carrier onboarding and nothing to negotiate first.
No per-call price and no per-label platform charge. Fund a wallet, spend it label by label.
Updated
EasyPost is a mature, API-first shipping platform that lists more than 100 carriers and carries accounts you own on its BYOCA plan, next to its own Wallet-carrier rates. If you have negotiated contract rates, or you depend on a regional or international carrier, both of those are advantages we do not have and cannot fake; we carry USPS, UPS, FedEx and DHL on our own accounts, plus an international network on some lanes and local couriers from Singapore, and that is the whole list. This page is about the two places the models genuinely diverge, not about pretending the breadth is not real.
This is the question that decides which platform you should be on, and it gets asked far too late — usually after an integration is already written.
In short: EasyPost sells two routes, its own Wallet-carrier rates on Free Access and a paid bring your own carrier accounts plan, and BYOCA is the one that rewards a seller who already holds negotiated contracts. GoatLabels holds the USPS, UPS, FedEx, and DHL accounts itself, so a brand-new account gets USPS, UPS and FedEx quoted on its first domestic parcel, and DHL on international lanes, with no account numbers to enter. If you already ship enough to hold real contract rates, keep them. The full argument lives on an EasyPost alternative without carrier accounts.
There is a middle path we are happy to state plainly: on Pro, bring the invoice you pay today and we will work with you to beat those label rates. That is a conversation, not a checkbox, and it is the honest answer for a seller sitting between "no contracts" and "good contracts".
For the line-by-line anatomy of EasyPost's own bill, see EasyPost pricing explained.
The second divergence is how the platform makes money from you, and it is the one that shows up in a spreadsheet. EasyPost charges per label above its free monthly allowance, and on every label on BYOCA, so past that line its revenue tracks your shipping volume exactly. GoatLabels charges no platform fee per label and nothing per API call: Free covers 50 shipments a month; past that there is one flat $40 Pro plan; and the labels themselves are bought from a prepaid wallet at the carrier's all-in rate.
That difference is invisible at ten labels a month and structural at a thousand. Here is our side worked at two volumes, with nothing hidden in a footnote.
| Cost line | GoatLabels at 50 labels a month | GoatLabels at 500 labels a month |
|---|---|---|
| Platform fee | $0 — Free covers 50 shipments a month | One flat Pro fee, $40 a month (Free covers 50 shipments, so 500 needs Pro) |
| Charge per label bought | None. The label price is the carrier's all-in rate | None on either plan |
| API calls | Unlimited, on Free | Unlimited, on Pro — the same unlimited |
| Where carrier rates come from | Our own USPS, UPS, FedEx, and DHL panel — no account of yours required | The same panel; bring your invoice and we will work to beat the rates you pay today |
| What you pre-fund | Only the labels. A prepaid wallet you top up when you want | The same wallet, topped up in bigger increments |
| A month with zero shipments | $0 | $40 on Pro if you keep it; $0 if you drop to Free |
EasyPost's figures sit in the dated source block on this page, each linked to EasyPost's own pricing or billing page so they can be re-checked rather than left to rot. Read these four off it, or off easypost.com, and the comparison does itself:
Two shapes fall out of that exercise. If your volume is growing and your margin per order is thin, a charge that scales one-to-one with labels is the line item to watch, because it grows exactly as fast as the thing you are trying to make money on. If your volume is lumpy — a drop, a season, a campaign — a prepaid wallet handles the shape better than any plan does: pre-fund before the burst and print through it; on Free (up to 50 shipments a month) the quiet weeks cost nothing, and a burst month past 50 needs Pro ($40 a month, no minimum term), which you can cancel when volume drops.
The API side of that story is short by design. Calls are unlimited on every plan, so automating more of the loop never moves you to a pricier tier — which is a different sentence from most platforms', where the API is the product and the metering is how it is sold. For what the API actually looks like — authentication, idempotency, signed webhooks — read the docs and run the request yourself, or see GoatLabels vs Shippo, which argues the API surface at length rather than repeating it here.
A comparison page that never reaches this heading is an advertisement. Three cases, stated as narrowly as we can make them.
You hold contract rates worth more than the difference. If you have negotiated UPS or FedEx pricing off real volume, a platform built to carry your accounts is the right architecture and nothing on this page outweighs your own discount.
You need a carrier outside our four. Regional carriers and the long tail of international partners are breadth we do not have. Keeping the list to four carriers and rate-shopping them well is a deliberate product decision, not a roadmap promise, and if the fifth one is load-bearing for you, that settles it.
Your integration works and nothing hurts. Migration has a cost even when the destination is better. If you cannot name the problem you are solving, the honest recommendation is to stay.
What is left is a real and common shape: a developer or a seller with no carrier contracts to bring, who wants carriers quoted from day one, labels paid for out of a prepaid balance rather than metered, and an API whose call price stays at zero as the automation grows. If that is the shape, start with what the plans actually cost and how per-label pricing works. If nobody on the team writes code, an EasyPost alternative you don't need engineers to run covers the dashboard route, and EasyPost alternative with an AI assistant covers letting Billy draft what a parser would otherwise have to.
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 BYOCA shape puts work before your first label: a carrier relationship, account numbers to enter, and usually a negotiation you have to be big enough to win. Here the carrier accounts are already ours. An order arrives however it arrives, Billy drafts the label, and USPS, UPS and FedEx quote it on the first domestic parcel of a brand-new account (DHL on international lanes), with nothing to onboard first.
Hey! 2x hoodies (M) 1x tee (L) 😅 Ship to: Maya R. Austin, TX 78701
Post it to the REST API, sync it from a storefront, paste a DM, or type the address in. None of these paths asks you for a carrier account number.
Billy AI
The all-in quote you approve is the exact amount that leaves the balance, and a label voided before it moves credits back to it after the carrier accepts the void. Nothing is metered on the way past.
An API-first platform assumes every order reaches you as a POST. Real ones do not. Thirteen store connectors, Shopify, Amazon, eBay, Etsy, TikTok Shop and more, sync into the To Ship queue, the REST API covers what your own systems generate, and an Instagram or Facebook DM gets pasted straight in, all three paths land in the same queue and quote against the same carriers.
Feature grids between shipping platforms mostly rhyme. These five are the ones that change what you owe, who you have to go negotiate with, and what a quiet month costs.
Fund it with a card, Apple Pay, Google Pay, ACH, or crypto, then buy labels out of that balance at the carrier's all-in rate. Nothing is charged per label on top and nothing is reconciled after the fact: the money is committed before the label rather than invoiced after it, and an accepted void credits back to it. One honest caveat: a carrier adjustment that lands after shipping and exceeds your balance is charged to the card on file.
The AI assistant drafts a whole label from a pasted order, a screenshot, or a spoken address, and validates the address before you spend anything. That is the half of the job no endpoint does for you — the orders that arrive as a message rather than a webhook — and it runs unlimited on Free.
Billy
LIVE
One all-in price per service at quote time, and that exact amount leaves the wallet. Fuel, residential, and handling are inside it. The only thing that can move it afterwards is a carrier re-weigh, and that arrives as its own clear ledger entry rather than a line on a monthly bill.
USPS, UPS, FedEx, and DHL are quoted on our accounts, so a new account gets USPS, UPS and FedEx on its first domestic parcel, and DHL on international lanes, with no onboarding and nobody to negotiate with. Four is the honest list, and it is deliberately short; if a regional or international carrier outside it is load-bearing for you, a platform built to carry your own accounts is the better architecture and we will not pretend otherwise.
REST, JSON, one Bearer header, real idempotency keys, and signed webhooks — with unlimited calls on Free as well as Pro. There is no per-call price, no burst tier, and no developer plan to graduate onto, so automating more of the loop never moves you up a tier.
Label ready
CL-1038 · Seattle, US
An integration handles the orders your systems already know about. It does not handle the one that came in as a DM while you were taping a carton, and it does not give whoever is packing a screen to work from. That operator side is a product here, not a thing you were expected to go build on top.
On an API-only platform, "where is Maya's package?" is a tracking endpoint, a bit of glue, and a screen somebody has to build. Here it is a question. Hold the mic, ask it, and Billy pulls the tracking history and reads it back — the same assistant that quotes a parcel from a spoken address and queues the label. This is the real product, not a render.
Listening
"Where's Maya's package?"
Out for delivery
CL-1039 · Austin, TX · by 6 PM
Speaks plain English · quotes every carrier on the lane as one all-in price each · remembers customers and saved boxes · included on every plan, never a pricier tier.
Rate-shopping our panel looks the same as rate-shopping your own contracts: the same parcel priced by every carrier at once, each column a single all-in number locked at quote time. What is different is that you did not have to go get the accounts first, and no platform charge is riding on top of the winner.
Priority Mail Intl
10–15 days$7.40
$1.90 of duties & taxes prepaid, not billed to your buyer
all-in · no surprises
Intl Connect Plus
3–5 days$8.90
$2.20 of duties & taxes prepaid, not billed to your buyer
all-in · no surprises
Express Worldwide
1–2 days$9.80
$2.50 of duties & taxes prepaid, not billed to your buyer
all-in · no surprises
REST, JSON, one Bearer header, signed webhooks instead of polling, and real idempotency keys — with unlimited calls on Free as well as Pro. The endpoints are the boring part; the part worth comparing is that no number goes up when you call them more.
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"
}
This is the whole commercial difference on one screen. Free covers 50 shipments a month with the REST API unlimited underneath it, and the labels are bought at the carrier's all-in rate from a prepaid wallet rather than metered and invoiced. Past 50 shipments a month, Pro is a flat $40 monthly fee for unlimited shipments, and it bills every month you stay on it, shipping or not.
Rate by plan
illustrativePro: one flat monthly plan, unlimited shipments
$0 / forever
Enough to run a real integration before anyone asks you for a contract.
The assistant that turns a pasted order, a screenshot, or a spoken address into a drafted label runs unlimited in the web app on Free. It is the half of the job an API cannot do for you, and it is not metered either.
GET /api/v1/shipments
200 OK · plan: free
Unlimited calls on Free — still unlimited on Pro. No per-call price at any volume.
On Pro we will work with you to beat the label rates you are already getting from
EasyPostShippoyour own carrier contractLabel prices are quoted live from USPS, UPS and FedEx (plus DHL on international lanes) as one all-in number, and that exact amount leaves your prepaid wallet. EasyPost's plans and fees are in the dated source block on this page, linked to EasyPost's own pages. Full pricing details
Nothing here argues with a business that already holds contract rates. These are the four shapes that reach a shipping API with no accounts to bring.
Building the integration before the volume exists
You can write the whole quote-and-buy loop this afternoon, but a BYOCA plan wants a carrier relationship you cannot have until you ship. Our carriers quote your first test parcel (USPS, UPS and FedEx on a domestic one, DHL on international lanes), and the calls to get there are unlimited on Free.
A drop, a season, a campaign
A metered platform charges in proportion to a month you cannot forecast, and a plan tier asks you to guess it in advance. A prepaid wallet just holds what you put in it: fund before the burst and print through it; on Free (up to 50 shipments a month) the quiet weeks cost nothing.
A month with zero shipments
$0 — there is no monthly fee on Free, up to 50 a month
The orders that arrive as a message
Duties inside the same all-in number
DDP
duties prepaid on DDP services, so the quote survives to the door
Evaluating more than one API? GoatLabels vs Shippo covers the API surface itself, and the docs are open without an account.
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
Create a free account, call the API as much as you like, and buy labels at the carrier's all-in rate from a prepaid wallet — with no per-label platform charge sitting on top of it.
No card required. Unlimited API calls on every plan.
GoatLabels is not affiliated with, endorsed by, or sponsored by EasyPost. All trademarks belong to their respective owners, and EasyPost's plans, carrier list, and pricing are theirs to publish — check easypost.com for current details.
Updated