Site Logo

UPS Carrier Guide

United Parcel Service, Inc. (UPS) is the world's largest domestic and international package delivery company and a fully integrated partner with ShipEngine.

In addition to domestic and international services, ShipEngine accounts in the United States can also leverage UPS Mail Innovations® consolidation services via ShipEngine, if available to your UPS account.

This guide provides developers with the details necessary to connect and use a UPS account with ShipEngine.

Connect Your Account

ShipEngine API allows you to connect your UPS accounts programmatically without logging in to the ShipEngine API dashboard. This is useful if you have wrapped a custom UI around the ShipEngine API toolset and want to add or disconnect existing carrier accounts without exposing your end users to the API dashboard.

These APIs can be used in parallel with the ShipEngine Partner APIs to programmatically create new ShipEngine users, and then connect existing UPS accounts all via the API without logging into a dashboard. Together these APIs empower you to completely white-label the ShipEngine experience for your end users.

Continue below for instructions on how to programmatically connect UPS using the ShipEngine API.

For instructions on connecting UPS via the ShipEngine dashboard, go to our UPS help article.

UPS Account Information Model

PropertyDescriptionTypeRequired?
nicknameThis is a nickname for you to identify the carrier account in ShipEngine.stringrequired
account_numberAccount Numberstringrequired
account_postal_codeAccount Postal CodestringNo
account_country_codeCountry your UPS account is based instringNo

Example POST Call

POST /v1/connections/carriers/UPS

1
2
3
4
5
6
7
8
9
10
11
POST /v1/connections/carriers/ups HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My UPS account",
"account_number": "123456789",
"account_postal_code": "10001",
"account_country_code": "US"
}

Example Response

You will receive a 302 response with a Location header. You must redirect your user to the URL from this header, which will land on a UPS sign-in screen.

1
"Location": "https://authbridge.auctane.com/authflow/ups/shipengine/initiate?callbackUrl=https..."

We advise redirecting your user to this location URL in a pop-up window. When the user has signed in, they will land on a page that will direct them to close the window. At this point, your application should make a List Carrier call to retrieve the new list of connected carrier accounts.

If your UPS account was connected prior to June 3, 2024 you will need to reconnect it so that it can establish a connection with UPS' oauth API. Reconnection can take place in the ShipEngine dashboard, or via API. The contract for reconnection is identical to the contract for connection. Using Reconnect will allow you to keep the same carrier_id.

Example Reconnect Call

PUT /v1/connections/carriers/UPS/::carrier_id

1
2
3
4
5
6
7
8
9
10
11
PUT /v1/connections/carriers/ups/se-12345 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My UPS account",
"account_number": "123456789",
"account_postal_code": "10001",
"account_country_code": "US"
}

Additional UPS Account Settings

ShipEngine takes advantage of some of UPS's advanced functionality but does not enable it by default. These settings can be updated in the Dashboard or via the API.

ParameterTypeDescription
pickup_typeenumerated stringdaily_pickup, occasional_pickup, customer_counter
See our Find Pick-Up/Drop-Off (PUDO) Locations article to learn more.
use_carbon_neutral_shipping_programboolAdds a fee to the shipment to purchase carbon offset credits
use_negotiated_ratesboolIf your account has been approved for negotiated rates, you can use this option to enable the account to use those rates. Once enabled, negotiated rates cannot be disabled.
use_consolidation_servicesboolEnable UPS SurePost® or UPS Mail Innovations®

UPS Service Details

The following domestic and international shipping services are available from UPS. For most services, the max weight is 150 lbs and the max combined length and girth (2Wx2H) is 165" (419cm).

Domestic Services

ServiceTransit TimeService Codes
UPS® Ground1-5 Business daysups_ground
UPS 3 Day Select®3 Business daysups_3_day_select
UPS 2nd Day Air®2 Business daysups_2nd_day_air
UPS 2nd Day Air AM®2 Business days (before noon)ups_2nd_day_air_am
UPS Next Day Air Saver®1 Business day (End of day)ups_next_day_air_saver
UPS Next Day Air®1 Business dayups_next_day_air
UPS Next Day Air® Early1 Business day (delivery between 8:00 am-10:00 am)ups_next_day_air_early_am

International Services

ServiceTransit TimeService Codes
UPS® Standard (International)Varies by locationups_standard_international
UPS® Ground (International)Varies by locationups_ground_international
UPS WorldWide Expedited®2-5 Business days, can vary by locationups_worldwide_expedited
UPS WorldWide Saver®1-3 Business days, can vary by on locationups_worldwide_saver
UPS WorldWide Express®1-3 Business days, can vary by locationups_worldwide_express
UPS WorldWide Express Plus®1-3 Business days, can vary by locationups_worldwide_express_plus
UPS Next Day Air® (International)Next dayups_next_day_air_international
UPS 2nd Day Air® (International)1-2 Business days, can vary by locationups_2nd_day_air_international

Package Types

Package NamePackage CodeDimensions
UPS Letterups_letter12.5-15in x 9.5in
UPS 10 KG Box®ups_10_kg_box16.5in x 13.25in x 10.75in
UPS 25 KG Box®ups_25_kg_box19.75in x 17.75in x 13.25in
UPS Tubeups_tube Triangular tube for rolled papers
38in x 6in x 6in
UPS Express® Pakups_express_pak16in x 12.75 in
UPS Express® Boxups_express_box12.5in x 3.75in x 18in
UPS Express® Box - Smallups_express_box_small13in x 11in x 2in
UPS Express® Box - Mediumups_express_box_medium16in x 11in x 3in
UPS Express® Box - Largeups__express_box_large18in x 13in x 3in

Additionally, for U.S.-based accounts that use UPS SurePost® and UPS Mail Innovations®, UPS has 10 predefined package types for use with these services:

Predefined Package NamePackage CodeMin/Max Weight
MI - BPM Flatmi_bpm_flat0.1 lb. - 15 lbs.
MI - BPM Parcelmi_bpm_parcel0.1 lb. - 15 lbs.
MI - First Classmi_first_class0.1 lb. - 13 lbs.
MI - Irregularsmi_irregulars1 oz. - 16 oz.
MI - Machinablesmi_machinables6 oz. - 16 oz.
MI - Media Mailmi_media_mail0.1 lb. - 70 lbs.
MI - Parcel Postmi_parcel_post0.1 lb. - 70 lbs.
MI - Prioritymi_priority0.9 lb. - 70 lbs.
MI - Standard Flatmi_standard_flat0.1 oz. - 16 oz.
MI Intl - BPMmi_intl_bpm0.1 lb. - 15 lbs.
MI Intl - Flatsmi_intl_flats0.1 oz. - 16 oz.
MI Intl - Parcelsmi_intl_parcels0.1 lb. - 15 lbs.

Return Services

Return services are not supported for this carrier.

Although UPS Mail Innovations® does offer a return service option, we do not currently support it in ShipEngine.

If you attempt to create a return label using UPS Mail Innovations®, you will see an "Object reference not set to an instance of an object" error message.

Adding Shipment Insurance

UPS supports adding insurance to your shipments. Review the Parcel Insurance page for details on adding shipment insurance with ShipEngine.

A few notes about adding insurance to UPS shipments:

  • UPS covers the first $100 by default.
  • Insurance >$100-$300 is an additional flat fee of $2.70.
  • For each additional $100, it's $0.90 per $100.
    To prevent insurance claims for a higher value than a product is worth, UPS requires multiple forms of documentation and may contact you for confirmation.
  • The claims process begins when you report loss or damage to UPS, and then UPS will send you documentation and move on from there.
    In the event of a high-value shipment, UPS will want to inspect it if declared as damaged and may take other measures.

Advanced Options

UPS supports the following advanced options:

  • Dry Ice
  • Collect on Delivery (C.O.D.)
  • Saturday Delivery
  • Additional handling

To ensure you always have the most up-to-date information, use the List Carrier Advanced Options call.