How to connect Shipmozo to your ecommerce website
Two keys, one warehouse, and a rate comparison that pays for the setup on the first parcel.
The short version: copy the public key and private key from your Shipmozo panel, register a pickup warehouse, and connect. Then the flow is push the order, compare rates, assign a courier, print the label. Unlike some aggregators there is no token to refresh — the keys are static.
TL;DR
- • Two static keys: public and private. Sent on every request, nothing expires.
- • Register a pickup warehouse first. Bookings fail without one.
- • Push, compare rates, assign courier, print label — four distinct steps, deliberately.
- • Tracking is pulled on a schedule, not pushed by webhook.
- • Weigh your parcels properly, or the weight-discrepancy charge finds you later.
Step 1 — Get your keys
Shipmozo issues a public key and a private key per merchant from your Shipmozo panel. Both are sent as headers on every API request; there is no login call and no token lifetime to manage.
If you are choosing between aggregators partly on integration effort, this is a genuine point in Shipmozo's favour. Static keys cannot expire mid-week, and rotating one is a deliberate act rather than a side effect of changing your password.
Step 2 — Register a pickup warehouse
Shipmozo needs a pickup location on your account before it will book anything. Add it in the Shipmozo panel with the address and pincode you actually ship from, and note it — an integration references this warehouse when pushing orders.
As with every aggregator, the first-booking failure is almost always a missing or mismatched pickup location rather than anything to do with your keys.
Step 3 — Understand the four steps
Shipmozo separates the shipping job into distinct actions, and each one is a decision point rather than an automatic consequence of the last:
- Push the order — Shipmozo now has the order. Nothing is booked, no money is committed.
- Calculate rates — you get courier options with total charges, estimated delivery, and whether pickup is auto-scheduled.
- Assign a courier — this generates the AWB. You can also auto-assign using a rule configured in the Shipmozo panel.
- Print the label and hand over the parcel.
Keeping these separate is the point. Auto-booking the cheapest courier on every order sounds efficient until the cheapest one does not serve the pincode reliably, and you learn that from an RTO rather than from a rate card.
Step 4 — Tracking, and what to expect
Shipmozo's published API documents no inbound webhooks. Status is therefore pulled: a scheduled job checks active shipments, and a manual sync gets you an answer immediately when a customer is asking.
Build for that. If you are writing the integration yourself, a cron over active shipments plus a per-order manual sync is the shape you want. Polling every order forever is how you get rate-limited.
The errors you are most likely to hit
| Symptom | Usual cause |
|---|---|
| Bookings fail immediately | No pickup warehouse registered, or the wrong one referenced. |
| No courier options returned | The destination pincode is genuinely unserviceable. Always show a fallback. |
| Auto-assign does nothing | The auto-assign rule has not been set up in the Shipmozo panel. |
| Tracking looks stale | Status is pulled, not pushed. Use the manual sync when you need it now. |
| Surprise charges weeks later | Declared weight below the actual or volumetric weight. |
If you do not have the website yet
Everything above assumes you already have a store to connect Shipmozo to. If you are still taking orders in Instagram DMs, that is the part worth fixing first — the integration is the easy half.
A SitesPlaced store is free to build and publish, with 0% commission on every sale, on every plan. Every integration listed on this page is included — you connect your own accounts and nobody takes a cut in the middle. You can import your catalogue straight from Instagram rather than typing products in one at a time.
On SitesPlaced this is a wizard rather than an API integration: connect the keys, pick a warehouse, and each order gets a push, compare, assign, print flow in the order drawer. Shiprocket and Rehbar Post are included free too, so you can compare all three on the same parcel.
Frequently asked questions
Where do I find my Shipmozo public and private keys?
In your Shipmozo panel under the API or developer settings. Both are issued per merchant and sent as headers on every request — there is no login call and no token to refresh.
Why do my Shipmozo bookings fail?
Almost always a missing pickup warehouse, or the integration referencing one that does not exist on your account. Register it in the Shipmozo panel first.
Does Shipmozo push tracking updates to my store?
No. Shipmozo's documented API has no inbound webhooks, so status is pulled on a schedule. A good integration also gives you a manual sync button for when a customer is asking right now.
Shipmozo or Shiprocket — which should I use?
Both, if you are on a platform that includes them free. They quote different rates on the same parcel and serve pincodes differently, so the useful answer is the one you get by comparing them per shipment rather than picking one forever.
Skip the integration work entirely
Build the store free and connect Shipmozo, Shiprocket and Rehbar Post from Settings. 0% commission on every sale, on every plan.
















