USPS
Priority Mail Intl
10–15 days$18.30
$10.00 of taxes & duties included
all-in · no surprises
GoatLabels' REST API is free and unlimited on every plan and covers four carriers end to end, a modern replacement for fee-gated legacy postage integrations.
USPS, UPS, FedEx, and DHL — rate-shopped in a single call, all-in prices.
Card, Apple Pay, Google Pay, ACH, or crypto — one prepaid balance.
Postage APIs of the previous generation were designed around desktop clients and session state, and it shows in the contract you have to write against. The comparison that matters to an engineer is not the feature grid — it is retry semantics, event delivery, and whether the calls are metered.
| GoatLabels API | Legacy postage integration | |
|---|---|---|
| Interface style | REST over HTTPS, JSON in and JSON out, one Bearer header. | A legacy postage integration built in the SOAP-and-envelope era. |
| Cost of API access | Free and unlimited on every plan, Free included. | Integration access sits behind the paid product. |
| Carriers reachable through the API | USPS, UPS, FedEx, and DHL, rate-shopped in one call. | Postage-first coverage centred on USPS — check their docs for current scope. |
| Retry safety | Real idempotency keys — a replayed request returns the original label, never a second purchase. | Retry semantics depend on the legacy interface's own session model. |
| Event delivery | Signed webhooks for tracking and label events, verified with a shared secret. | Typically polling, or platform-specific notification plumbing. |
| Spec and clients | OpenAPI 3.1, no SDK lock-in — generate a client or just use curl. | Vendor SDKs and generated stubs around the legacy contract. |
Stamps.com is a trademark of its owner and is not affiliated with GoatLabels. Their integration options and terms change — read their own developer documentation before you plan a migration.
Create a shipment, rate-shop it, buy the label. That is the surface area for most postage integrations, and it is the surface area here — same nouns, modern verbs, JSON bodies, HTTP status codes that mean what they say, and errors that name the field to fix rather than returning a numeric code you look up in a PDF.
The failure mode that costs real money in shipping integrations is the retried buy. Send the same idempotency key twice and the second request returns the original label instead of purchasing another one — so your queue's at-least-once delivery stops being a financial risk.
Unlimited calls on every plan, including Free. Rate-shopping in a loop during development costs nothing, a staging environment hitting the API all day costs nothing, and the only money that moves is a label bought from the prepaid wallet — the same balance the dashboard spends, so there is nothing to reconcile between the two.
The integration is not an island: whatever your code buys, a human can see, and whatever a human buys, your code can read. Orders arrive from Shopify, Etsy, WooCommerce, or TikTok Shop, from the REST API, or as a pasted DM or screenshot when support has to handle an exception, and land in the same To Ship queue. Billy fills in the addresses, the package details, and the service for the ones that never became structured data. Every label is a debit against a prepaid wallet topped up with card, Apple Pay, Google Pay, ACH, or crypto, so there is one balance behind the script and the dashboard alike. Rate-shop USPS, UPS, FedEx, and DHL at the all-in price, print from a phone or a thermal printer, and let signed webhooks and idempotency keys carry the events your services care about.
Hey! 2x hoodies (M) 1x tee (L) 😅 Ship to: Maya R. Austin, TX 78701
Connectors, REST API, DMs, and screenshots — one queue and one data model behind all of them.
One wallet behind the script and the dashboard. Signed webhooks push tracking back to the store and to your stack.
Before you write the integration, check whether you need it: Shopify, Etsy, WooCommerce, and TikTok Shop already sync into To Ship and push tracking back when a label prints. Keep the API for the parts that are genuinely yours — your own checkout, your WMS, your internal tooling — and let the connectors carry the storefronts you would otherwise have wrapped by hand.
Via AI tiles: an order that never became a record still becomes a label.
A shipping integration is only as good as what surrounds it: who tops the balance up, who handles the parcel that arrived as a message, and what happens when a label has to be voided at eight in the evening. All of that exists here, and none of it is a separate contract.
Card, Apple Pay, Google Pay, ACH bank transfer, and crypto all top up the same balance the API spends. Finance funds it without touching your code, and voiding a shipment credits it straight back rather than opening a refund case.
A DM, a comment thread, a voice note, a screenshot — Billy reads any of them and drafts the whole label. That is the exception queue your API was never going to receive as JSON, handled by someone in ops instead of by a ticket to you.
Rate-shop in a loop, run staging all day, and pay nothing for the traffic. The only money that moves is a label, and Pro is an optional flat plan for unlimited shipments and cheaper label pricing at volume.
Live all-in rates returned together, and the number you get back is the exact amount that leaves the balance when you buy. That is the honest carrier list — if your integration must reach a service outside it, that is the reason to keep your legacy provider. Store connectors cover Shopify, Etsy, WooCommerce, and TikTok Shop so you do not have to.
REST and JSON, one Bearer header, idempotency keys so a retried request cannot double-buy a label, and signed webhooks for tracking and label events instead of polling. OpenAPI 3.1, so the client is generated rather than vendored.


Label ready
CL-1038 · Brooklyn, NY
Every postage integration eventually acquires a queue of exceptions that only a person can resolve. On a legacy stack that means a desktop client on someone's machine, or a ticket to engineering. Here it means the same account, opened on a phone.
Where is this parcel — the question that generates internal tools. Billy answers it against the same shipment records your API writes: hold the mic, ask, and it reads back the carrier, the status, and the cost — no read-only dashboard for you to build and maintain. 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 records your API writes · 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 — which means the rate your code stored at quote time is the rate reconciliation will find later. Voiding a shipment credits the wallet rather than producing an adjustment to explain.
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
Create a shipment, rate-shop it, buy the label — REST, JSON, one Bearer header, no session to establish first. 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 the field to fix instead of a code to look up.
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 — the API is not the thing the tiers are drawn around, which is the difference from a fee-gated legacy integration. Pro is a flat monthly fee for unlimited shipments, cheaper label pricing, and Billy on Telegram, and the API stays free and unlimited on it.
Volume pricing
illustrativemore volume → lower per-label rates
$0 / forever
A production-grade API on the free tier, not a sandbox.
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. Stamps.com's plans and integration terms move, so compare against their current documentation rather than a figure on ours. Full pricing details
The teams who gain most are the ones whose shipping code is a small, unloved corner of a larger product — a marketplace, a fulfilment side of a storefront, an internal tool — where a metered legacy API costs more attention than it deserves.
TikTok Shop & live commerce
Bursty traffic is where unmetered calls matter: rate-shop every parcel in a drop without a per-call line item, and pre-fund the wallet instead of sizing a plan.

Etsy & independent creators
Connect the stores that have connectors and keep your own code for the channels that do not — one account, one wallet, one set of shipment records behind both.
One queue, connector or not
Order #1024 · pasted from a comment thread
The exceptions your API never receives
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
Planning the cutover? Switching from Stamps.com step by step sequences it against your billing date, and Stamps.com vs free shipping software covers the non-developer side of the same decision. Comparing API-first platforms? GoatLabels vs Shippo is the closer read.
Take a free API key, rate-shop a real parcel across USPS, UPS, FedEx, and DHL at no cost, and only spend when you buy the label from a wallet funded by card, Apple Pay, Google Pay, ACH, or crypto.
Sign up in seconds. No card required. Unlimited API calls on every plan.