USPS
Priority Mail Intl
10–15 days$18.30
$10.00 of taxes & duties included
all-in · no surprises
Pirate Ship compares USPS and UPS only; GoatLabels quotes all four major carriers on every parcel, so the cheapest option wins even when it's FedEx or DHL.
USPS, UPS, FedEx, and DHL priced together — the winner is decided per parcel, not per account.
Card, Apple Pay, Google Pay, ACH, or crypto — one prepaid balance behind every carrier.
Rate shopping has two variables: how good each carrier's price is, and how many carriers you are allowed to ask. Most comparisons obsess over the first. The second is what actually caps your savings, because a carrier that is not in the list wins zero parcels no matter how well it would have priced them.
| GoatLabels | Pirate Ship | |
|---|---|---|
| Carriers quoted per parcel | Four — USPS, UPS, FedEx, and DHL, on the same parcel at the same time. | Two — USPS and UPS. |
| How the winner is chosen | Per parcel. Weight, size, and destination re-decide it every time. | Per parcel too — from a shorter list of candidates. |
| Bulky, low-density parcels | Four different dimensional-weight answers to compare. | Two answers, both from the platform's carriers. |
| Express and time-definite | Includes the two carriers whose networks compete hardest on speed. | Whatever USPS and UPS offer for that lane. |
| What the number means | One all-in price per carrier, and that exact amount leaves your prepaid balance. | Their rates — check their current site. |
| Cost of running the comparison | None. No monthly minimum, and unlimited free API calls to rate anything. | Also no subscription — the model worth keeping. |
Pirate Ship is a trademark of its owner and is not affiliated with GoatLabels. Their carrier lineup and rates change — check their current site before you decide.
A light parcel in a big box is billed on the space it takes up, and carriers apply that math differently. This is the single most common case where the carrier that wins your small parcels loses your bulky ones — and you only find out by asking all four.
Price steps up by zone, and the steps are not the same shape for every carrier. A parcel crossing the country can flip to a different winner than the identical parcel going two states over, which is why the comparison has to re-run per parcel rather than per account.
The moment a buyer needs a date, the candidate set changes: economy services drop out and the express networks compete. That is a different contest with a different winner, and running it with half the carriers missing is how you overpay for speed.
The mechanic is simple and it runs on every order regardless of how the order arrived. Weight, dimensions, and destination go in; USPS, UPS, FedEx, and DHL are all priced for that exact parcel; and four all-in numbers come back sorted, each one being precisely what will leave your prepaid wallet if you buy it. Nothing is locked to an account-level carrier choice, so a bulky box and a padded mailer packed the same afternoon can go out on different carriers without anyone deciding a policy. Orders can arrive by store sync, by API call, or as a pasted DM or screenshot that Billy reads into a draft, and the comparison is identical in all three paths.
Hey! 2x hoodies (M) 1x tee (L) 😅 Ship to: Maya R. Austin, TX 78701
Connectors, REST API, DMs, and screenshots — one queue, and the same four-way comparison behind all of them.
No monthly minimum to print. The comparison re-runs on the next parcel from scratch.
Shopify, Etsy, WooCommerce, and TikTok Shop sync into To Ship and push tracking back when you print. A pasted DM or a screenshot goes through Billy instead. Either way the parcel gets the same four-carrier comparison before anything is bought.
Via AI tiles: an order that never became a record still becomes a label.
The subscription-free model stays. What changes is how many carriers get to compete for each parcel — and around that, a wallet that shows one honest number, AI drafting, and an API that can run the same comparison from your code.
Card, Apple Pay, Google Pay, ACH bank transfer, and crypto all top up the same balance, and whichever carrier wins is debited from it. Void a shipment and the credit lands back in the wallet.
A DM, a comment thread, a voice note, a screenshot — Billy reads any of them and drafts the parcel details that drive the price, then runs the four-way comparison and preselects the winner.
No monthly minimum to print, so running comparisons never costs anything. Pro is an optional flat plan for when volume makes cheaper label pricing worth it — on Pro we will work with you to beat the rates you already get.
USPS, UPS, FedEx, and DHL priced on the same parcel, as four live all-in numbers, and the one you pick is the exact amount that leaves your balance. The point is not that any one of them is always cheapest — it is that which one wins changes with weight, size, zone, and deadline, so the only way to be right consistently is to ask all four every time. Shopify, Etsy, WooCommerce, and TikTok Shop sync into To Ship and get tracking pushed back when you print, but a connector is never a prerequisite.
REST and JSON, one Bearer header, idempotency keys so a retry cannot double-buy a label, and signed webhooks for tracking and label events instead of polling. One rate call returns all four carriers, so your backend can pick the winner too.


Label ready
CL-1038 · Brooklyn, NY
Nobody compares four carriers by hand at a packing table, which is precisely why the savings go uncollected. The phone runs the comparison, shows the spread, and buys the winner from your prepaid balance in the same tap.
Say the parcel out loud — where it is going, roughly how big, how fast it needs to be there. Billy prices it across USPS, UPS, FedEx, and DHL, tells you which one won and what the runner-up would have cost, and queues the label against your 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 · four carriers priced every time · reads the all-in rate back before a cent leaves the wallet · phone, browser, or Telegram.
One parcel priced by more than one carrier at once, each an all-in number that is exactly what leaves your prepaid balance. That spread is the entire argument for rate shopping — and it is invisible if the carrier that would have won is not on the list.
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. Rate any parcel across all four carriers in a single request, buy the winner, void it back to the wallet, and receive signed webhooks for tracking. Unlimited calls on every plan, so rating everything costs nothing.
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 all four carriers rate-shopped, the public API, the store connectors, and Billy unlimited underneath it — we make a little on each label instead. Pro is a flat monthly fee for unlimited shipments and cheaper label pricing. Neither is a minimum you have to hit before a label prints.
Volume pricing
illustrativemore volume → lower per-label rates
$0 / forever
Enough to run the comparison on real parcels before you commit to anything.
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. Pirate Ship's rates move, so compare against their current site rather than a figure on ours. Full pricing details
Uniform parcels going short distances rarely change winners. Variety is what makes the comparison worth running — different sizes, different zones, different deadlines.
TikTok Shop & live commerce
A drop ships mailers and boxes in the same night to every zone at once. That is the maximum-variance case, and it is exactly where a two-carrier list leaves money behind.

Etsy & independent creators
When the next order could be a print or a framed piece, no single carrier stays cheapest. Re-running the comparison per parcel is easier than maintaining rules about which carrier gets what.
One queue, connector or not
Order #1024 · pasted from a comment thread
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
Related reading: the two carriers Pirate Ship doesn't sell, the international case, and how label pricing works. Ready to move? Here is the switch, step by step.
Fund a wallet with card, Apple Pay, Google Pay, ACH, or crypto, enter one real parcel, and look at the spread between what USPS, UPS, FedEx, and DHL each quote for it.
Sign up in seconds. No card required. No monthly minimum.