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 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.

Every carrier per call, no call charged

USPS, UPS and FedEx quoted all-in from one request, DHL on international lanes; quote as often as you like.

UPS FedEx DHL USPS DHL: international
Live 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 on Free costs nothing.
Accepted 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, 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.

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. 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.

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.

What EasyPost's own pages say, checked 2026-10-17

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.

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 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.

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
Etsy
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 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 and FedEx at the all-in price, DHL on international lanes
  • 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. Accepted 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, 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.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
eBay logo eBay
Wix logo Wix
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 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.

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, after the carrier accepts the void, 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 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 fee
to print

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.

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

USPS, UPS, FedEx, and DHL
in one account

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.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties inside the quote where DDP applies

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 and FedEx come back as all-in prices on one screen, DHL on international lanes.
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 on Pro.

All-in quotes

The quote is the debit.

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.

CA → NY 2.6 lbs 12×8×4 in
USPS

USPS

Ground Advantage

2 to 5 days

$11.40

all-in · no surprises

Cheapest
UPS

UPS

Ground

1 to 5 days

$9.85

all-in · no surprises

FedEx

FedEx

Ground

1 to 5 days

$11.20

all-in · no surprises

No carrier invoice the day after Accepted 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": 2.6, "weight_unit": "lb" },
  "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 — 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.

Pro

Most popular
$40 / month
Unlimited shipments — no monthly cap
Unlimited address validation
Billy AI on Telegram Telegram logo — draft a label without opening the dashboard
API access still free and unlimited

Rate by plan

illustrative
Free Pro

Pro: one flat monthly plan, unlimited shipments

Free

$0 / forever

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

50 shipments a month, no monthly fee
USPS, UPS and FedEx on every domestic parcel; DHL on international lanes
The full REST API with unlimited calls and signed webhooks
Billy AI in the web app, unlimited — paste, screenshot, or speak
Store connectors included: Shopify, Etsy, WooCommerce, eBay and Wix

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 logo 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

High-volume shippers can ask about custom pricing, which we review account by account. Compare it against what you pay on

ShippoPirate ShipShipStation
No contracts No monthly fee Free to sign up
USPS UPS FedEx DHL

Label 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

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 logo 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.

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

Side projects and internal tools

Etsy logo 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

Instagram logo

Sellers living in the DMs

Messenger logo The orders that never became JSON

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

Platforms shipping on behalf of others

Shopify logoWooCommerce logo 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 logo 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 logo 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 and FedEx on domestic parcels, with DHL on international lanes, buying labels, voiding them and receiving tracking webhooks carry no per-call or per-label platform fee. On Free (up to 50 shipments a month) the only money that moves is the all-in carrier rate for labels you buy; past 50 a month, Pro adds one flat $40 a month.
What is the catch on the free tier?
The Free plan includes 50 shipments a month. That is a count of shipments you create (drafts included), not a limit on API calls; quoting through /v1/rates/quote is never counted, and Pro removes the cap with a flat monthly fee. 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 live rates, 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. USPS, UPS and FedEx (plus DHL on international lanes) 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 fee on Free (up to 50 shipments a month), 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 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