Multi-carrier shipping API
One shipping API for UPS, FedEx, USPS, DHL and 25+ more carriers
Rates, labels, tracking and address validation through one consistent JSON API. Self-host it or use our cloud for one flat monthly price. No per-label fees.
Full version, not a demo. No charge until the trial ends. Cancel anytime.
Request
{
"carrier": "UPS-REST",
"action": "SubmitShipment",
"params": {
"to_name": "John Doe",
"to_addr1": "940 Presidio Ave",
"to_city": "San Francisco",
"to_state": "CA",
"to_code": "94115",
"service": "03",
"packages": [{ "weight": 4 }],
"image_type": "PNG"
}
}
Response
{
"meta": { "code": 200 },
"data": {
"tracking_number": "1Z0W4A787299041353",
"charges": 14.49,
"packages": [{
"label_format": "image/png",
"label": "iVBORw0KGgoAAAANSU..."
}]
}
}
"carrier" and the service code change. Same request. Same response shape. Every carrier.
Trusted by 3,000+ companies worldwide
“We've used it to ship hundreds of thousands of packages, and we've not run into a single issue with it. It's probably the most reliable software we've used.”
Supported carriers
- UPS®
- FedEx®
- USPS®
- DHL®
- Canada Post
- Purolator
- Royal Mail
- Amazon Shipping
- Stamps.com
- + 20 more carriers
What you get that other shipping APIs don't offer
$87 a month, flat. Ship as much as you want.
Unlimited labels, rates, tracking and address validation across every carrier. No tiers. No per-label fees. Your bill stays the same when your order volume grows.
Self-host it. No middleman.
Your subscription includes the full application to run on your own servers. Requests go straight from you to the carrier, so your customers' data never passes through us and there's no third-party API in the path. Prefer not to run it? Our cloud API takes identical requests.
Carrier API changes are our problem
Carriers retire APIs, switch auth schemes and change label formats. We track those changes and absorb them behind the same request and response, so your integration keeps working instead of turning into a migration project.
Support from the developer who wrote it
I started RocketShipIt in 2007 to fix shipping for my family's small business, and I still answer support myself. Every question gets a detailed answer from someone who knows these carrier APIs, usually the same business day. — Mark Sanborn, founder
Per-label pricing punishes you for growing
The largest shipping APIs charge about $0.08 for every label when you bring your own carrier account, and some charge for every tracking request too. Here's what that adds up to over a 30-day month.
| Labels per day | At $0.08 per label | RocketShipIt |
|---|---|---|
| 100 | $240 / mo | $87 / mo |
| 1,000 | $2,400 / mo | $87 / mo |
| 5,000 | $12,000 / mo | $87 / mo |
You use your own carrier accounts, so you keep your negotiated rates and we never mark up postage.
No charge until the trial ends. Cancel anytime. See pricing
How it works
-
1
You send one JSON request. The same shape for every carrier: rates, labels, tracking, address validation, returns and customs documents.
-
2
RocketShipIt handles the carrier's quirks. It builds the carrier-specific request, manages auth, and when a carrier needs one call per package it sends them concurrently for you.
-
3
You get one consistent JSON response. Same fields, same label formats, whichever carrier answered.
Under the hood it's a single Go binary with zero dependencies and over 100,000 lines of unit-tested code. Run it as an HTTP service or pipe JSON over stdin, or call our cloud API. Clients are included for PHP, Node.js, Ruby and Python.
RocketShipIt in 30 seconds
The problem we solve, and how one API replaces every carrier integration.
What customers say
Real quotes from support inboxes and customer emails.
RocketShipIt has already been an absolute lifesaver. After so many bad experiences with "professionals" backed by millions of VC dollars, I was skeptical that a library written by someone for their parent's small business would be any different. Boy was I wrong.
Charles Zink
I love your product, it's saved me so much time. Your "about" page is right, who wants to read 500+ pages of documentation!
Director of Web Technology, dacardworld.com
Common questions
Do I need my own carrier accounts?
Yes. RocketShipIt connects to the carriers using your own accounts, so you get your negotiated rates and the carrier bills you for postage as usual. We never mark up shipping.
Should I self-host or use the cloud API?
Both are included at the same price and take identical requests. Self-hosting is fastest and keeps shipping data on your servers. The cloud API is quickest to start with. You can switch later without changing your code.
What languages can I use?
Any language that can send JSON over HTTP. We include API clients for PHP, Node.js, Ruby and Python, and the docs have examples for even complicated shipments.
What happens when a carrier changes its API?
We update RocketShipIt to match and keep your request and response the same wherever the carrier allows it. Upgrades are free for as long as you subscribe.
What happens after the 14-day trial?
Your trial is the full version, not a demo. Nothing is charged until it ends, then it's $87 a month. Cancel from your account page any time before then and you won't be billed.
What if it isn't a fit?
We offer a 100% money-back guarantee. Questions first? Email [email protected] and you'll hear back from the person who built it.
Ship with every carrier through one API.
$87 a month. Unlimited labels. Self-host it or use our cloud.
Start Free 14-Day TrialFull version. No charge until the trial ends. Cancel anytime. 100% money-back guarantee.