You are viewing an older version of the Postie documentation (1.x).
View the latest version (5.x) →
Shipping Providers
USPS
In order to use USPS, you'll need to ensure you are using a valid United States address as your origin. You'll also need to ensure your Craft Commerce default currency is set to USD.
How to get API access
Register for an API username via the Registration for USPS Web Tools (opens new window) form. Add this username in the provider information either through the control panel, or in the configuration file.
Services
The below service are available with USPS for domestic and international customer destination addresses.
Domestic
PRIORITY_MAIL_EXPRESS_1_DAYPRIORITY_MAIL_EXPRESS_1_DAY_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_1_DAY_SUNDAY_HOLIDAY_DELIVERYPRIORITY_MAIL_EXPRESS_1_DAY_FLAT_RATE_ENVELOPEPRIORITY_MAIL_EXPRESS_1_DAY_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_1_DAY_FLAT_RATE_ENVELOPE_SUNDAY_HOLIDAY_DELIVERYPRIORITY_MAIL_EXPRESS_1_DAY_LEGAL_FLAT_RATE_ENVELOPEPRIORITY_MAIL_EXPRESS_1_DAY_LEGAL_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_1_DAY_LEGAL_FLAT_RATE_ENVELOPE_SUNDAY_HOLIDAY_DELIVERYPRIORITY_MAIL_EXPRESS_1_DAY_PADDED_FLAT_RATE_ENVELOPEPRIORITY_MAIL_EXPRESS_1_DAY_PADDED_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_1_DAY_PADDED_FLAT_RATE_ENVELOPE_SUNDAY_HOLIDAY_DELIVERYPRIORITY_MAIL_EXPRESS_2_DAYPRIORITY_MAIL_EXPRESS_2_DAY_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_2_DAY_FLAT_RATE_ENVELOPEPRIORITY_MAIL_EXPRESS_2_DAY_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_2_DAY_LEGAL_FLAT_RATE_ENVELOPEPRIORITY_MAIL_EXPRESS_2_DAY_LEGAL_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUPPRIORITY_MAIL_EXPRESS_2_DAY_PADDED_FLAT_RATE_ENVELOPEPRIORITY_MAIL_EXPRESS_2_DAY_PADDED_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUPPRIORITY_MAIL_1_DAYPRIORITY_MAIL_1_DAY_LARGE_FLAT_RATE_BOXPRIORITY_MAIL_1_DAY_MEDIUM_FLAT_RATE_BOXPRIORITY_MAIL_1_DAY_SMALL_FLAT_RATE_BOXPRIORITY_MAIL_1_DAY_FLAT_RATE_ENVELOPEPRIORITY_MAIL_1_DAY_LEGAL_FLAT_RATE_ENVELOPEPRIORITY_MAIL_1_DAY_PADDED_FLAT_RATE_ENVELOPEPRIORITY_MAIL_1_DAY_GIFT_CARD_FLAT_RATE_ENVELOPEPRIORITY_MAIL_1_DAY_SMALL_FLAT_RATE_ENVELOPEPRIORITY_MAIL_1_DAY_WINDOW_FLAT_RATE_ENVELOPEFIRST_CLASS_MAILFIRST_CLASS_MAIL_STAMPED_LETTERFIRST_CLASS_MAIL_METERED_LETTERFIRST_CLASS_MAIL_LARGE_ENVELOPEFIRST_CLASS_MAIL_POSTCARDSFIRST_CLASS_MAIL_LARGE_POSTCARDSFIRST_CLASS_PACKAGE_SERVICE_RETAILMEDIA_MAIL_PARCELLIBRARY_MAIL_PARCEL
International
USPS_GXG_ENVELOPESPRIORITY_MAIL_EXPRESS_INTERNATIONALPRIORITY_MAIL_INTERNATIONALPRIORITY_MAIL_INTERNATIONAL_LARGE_FLAT_RATE_BOXPRIORITY_MAIL_INTERNATIONAL_MEDIUM_FLAT_RATE_BOXFIRST_CLASS_MAIL_INTERNATIONALFIRST_CLASS_PACKAGE_INTERNATIONAL_SERVICE
Control Panel

Configuration File
Add the following code to your configuration file under the providers array, as per the below. Note that to disable certain services, simply omit them from the services array.
'providers' => [
'USPS' => [
'name' => 'USPS',
'markUpRate' => '<yourMarkUpRate>',
'markUpBase' => '<value>',
'settings' => [
'username' => '<yourUsername>',
],
'services' => [
'PRIORITY_MAIL_EXPRESS_1_DAY' => 'Priority Mail Express',
'PRIORITY_MAIL_1_DAY' => 'Priority Mail',
'FIRST_CLASS_MAIL' => 'First-Class Mail',
'PRIORITY_MAIL_INTERNATIONAL' => 'Priority Mail International',
'FIRST_CLASS_MAIL_INTERNATIONAL' => 'First-Class Mail International',
],
],
]
Last updated: May 1, 2026, 1:45:34 PM