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.

Use the template and column format below. Prefer not to upload a file? Use Bulk Paste to paste addresses instead.

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.

  • USPSusps
  • Canada Postcanadapost

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.

Drag & drop your CSV file here

or click to browse

Only .csv files are accepted