If you would prefer to learn how to create your first shipping label using cURL, see our guide to create your first shipping label.
Use the Shippo API to programmatically create shipping labels from any supported carrier. Follow this guide and videos to learn how to create your first label using our Postman collection.
To retrieve all available rates and create a shipping label based on one of the rates, you need to follow two simple steps:
Shipmentobject , consisting of two
Addressobjects (address from and address to) and a
Parcelobject (blue objects below). The Shipment response contains the list of available Rates and their associated object ID.
Transactionobject , i.e. the actual label, for any of the Rates from the Shipment response (green object below).
This is the link to our Postman collection that you can add to your Postman workspace.
This video will help you get started if you're unfamiliar with Postman.
Shippo’s API will save addresses without distinguishing the purpose of that address. You will post the address and save the object ID for reference to it. The endpoint for this is https://api.goshippo.com/addresses/.
To make things easier, the Postman call is set up to save the object ID from this response as a variable named
FROM_ADDRESS. This will be stored and later used for making a label purchase. The address will be tagged with Metadata to indicate this is the Home Office. This is a good simulation of how you would store and retrieve an object ID in production.
You can examine the response in the bottom section of the Postman screen. In the response you can see the object ID that was saved for this address and also see that Shippo’s address validation corrected a spelling error in the address's city.
Just like the From Address, this step will save and validate the To Address for our shipment. The Postman call is set to save this as the
TO_ADDRESS environment variable for the label being created.
This video will walk you through saving the To and From addresses in Postman and demonstrate saving the object IDs.
A shipment is not a label. This is an important distinction to note when using the Shippo API. A shipment is the combination of To and From addresses with Parcel information. Parcel information is the size and weight of a package. To create a shipment a post request will be sent to https://api.goshippo.com/shipments.
In the Shipment response, Shippo will show you rates for all of your enabled carriers along with recommendations for best, fastest, and cheapest rates. You can also see the full addresses you stored earlier in the response. Scroll through the response and copy an object ID from one of the rates returned so this can be used to purchase a label.
You can now use the object ID of the rate that was saved in to purchase a label. This is done by sending a post call to the https://api.goshippo.com/transactions endpoint.
In the body of the Step 4 call, replace the object ID of the rate with the one copied from Step 3 and send the call.
When examining the response you will see the id of this label, the tracking number, and the url to view or print the label.
This video will walk you through creating the
Shipment object and purchasing the label for a chosen rate.