- Scan-based return labels: These labels are free to print. You won’t get charged unless it gets used. It’s a great option if you want to add return labels to all your outbound packages. All Shippo return labels are scan-based, available for USPS, FedEx, and UPS shipments only. At the moment, you can only generate return labels for the same carrier that your outbound shipment was sent with
- Return address: For failed deliveries or return shipments, you can specify a different return address than the initial outbound location
Generate a return label
Returns for USPS, FedEx, and UPS
To generate a pay-on-use return label, create a new Shipment object and set anis_return field as true inside the extra attribute.
NoteFor USPS, FedEx, and UPS, do not swap the addresses yourself — the Shippo API will take care of this for you. This means that the original
address_to of the outbound transaction becomes the address_from for the return label.| Carrier | Return label validity |
|---|---|
| USPS | 1 year |
| FedEx | 2 years |
| UPS | 100 days |
Returns for other carriers
If you need to generate a label for return shipments for carriers other than USPS, FedEx, and UPS, you can create a normal shipping label just with the addresses swapped. However, normal shipping labels have a limited shipping window and the label may be rejected after that, so we do not recommend inserting them into your outbound package. Instead, you can provide a method for customers to contact your support services, and you can provide them with the link to the label.cURL
Return Address
When creating an outbound Shipment for USPS, FedEx and UPS, you can specify aaddress_return that’s different from your original shipping address (address_from). This can be useful if you want returned shipments to go back to a different place. For instance:
- Failed deliveries: the Shipment will be returned to a different facility than the original outbound destination.
- Scan-based labels: the Shippo API automatically swaps the
address_fromandaddress_toduring the return label creation process. You can pass any addressobject_idor nested object in the corresponding fields — they don’t need to match the outbound addresses.