Batch Import
Create multiple USPS, UPS, FedEx, and Canada Post shipping labels by uploading a CSV. Volume discounts apply automatically. Instant PDF delivery, no account. Pay with card or crypto after upload.
Bulk discount tiers (applied automatically)
We reward volume! When you upload a CSV with multiple labels, your total receives an automatic discount based on how many valid labels are in your file:
| Label count | Discount |
|---|---|
| 10+ | 5% off |
| 25+ | 8% off |
| 50+ | 10% off |
| 75+ | 12% off |
| 100+ | 15% off |
Discounts are applied before checkout and reflected in your order summary.
CSV format & template
Download CSV template International CSV template
Available carriers
Use one of these codes in the carrier column.
- USPS —
usps - Canada Post —
canadapost
Required columns
- Sender: from_name, from_street1, from_city, from_state, from_zip, from_country
- Recipient: to_name, to_street1, to_city, to_state, to_zip, to_country
- Parcel: parcel_weight
- Carrier: carrier (one of the codes above)
Optional columns
- Address: from_street2, from_phone, to_street2, to_phone, to_email. See phone requirements below for UPS/FedEx.
- Parcel: parcel_mass_unit (default lb), parcel_length, parcel_width, parcel_height for custom size; package_type
- Service: service_level; rate_priority (best_value, cheapest, fastest); signature_confirmation; email
Phone numbers (UPS / FedEx)
- Sender (from_phone): Required only for international UPS/FedEx shipping.
- Recipient (to_phone): Required for all UPS and FedEx — domestic and international.
International shipments — customs required
When from_country and to_country differ (e.g. US → CA), that row is international. Add the customs columns below. For item details, use the simple columns (one item per row) or the advanced option for multiple items.
- Required: customs_contents_type (MERCHANDISE, GIFT, DOCUMENTS), customs_contents_explanation, customs_non_delivery_option (RETURN or ABANDON), customs_certify_signer
- Item (simple — one item per row) Add column customs_description (what's in the package, max 30 characters). Optional: customs_quantity, customs_value_amount, customs_net_weight, customs_origin_country (2-letter code).
- Multiple items in one shipment: use the customs_items column with JSON (advanced). See our international guide for format.
- Optional: customs_incoterm, customs_eel_pfc
Read our guide on international shipments
Domestic rows (same from_country and to_country) do not need any customs columns. Only rows where sender and recipient countries differ require these fields.
Payment
After upload you're taken to the payment page (card or crypto). You can remove any rows you don't need from the order details—the total updates automatically. No payment data in the CSV.