Shipping Service Codes: UPS, FedEx and USPS API Service Code Lists
A service code tells a carrier API which delivery service to rate or
ship with. UPS uses two-character codes (03 is UPS Ground, 65 is UPS
Worldwide Saver), FedEx uses uppercase names (FEDEX_GROUND,
PRIORITY_OVERNIGHT) and the USPS REST APIs use mail classes
(USPS_GROUND_ADVANTAGE, PRIORITY_MAIL).
In RocketShipIt you send the carrier's own code as service, on every
carrier. Rate responses return it in service_code with a readable name in
desc, so the value you get back from a rate is the value to send when you
create the label.
UPS service codes#
These are the codes for the UPS-REST carrier (and the legacy UPS
carrier, which uses the same codes).
| Code | Service | Where it ships |
|---|---|---|
01 |
UPS Next Day Air | US domestic |
02 |
UPS 2nd Day Air | US domestic |
03 |
UPS Ground | US domestic |
12 |
UPS 3 Day Select | US domestic |
13 |
UPS Next Day Air Saver | US domestic |
14 |
UPS Next Day Air Early | US domestic |
59 |
UPS 2nd Day Air A.M. | US domestic |
07 |
UPS Worldwide Express | International |
08 |
UPS Worldwide Expedited | International |
11 |
UPS Standard | International ground: US to Canada and Mexico, and within Europe |
54 |
UPS Worldwide Express Plus | International |
65 |
UPS Worldwide Saver (UPS Saver, UPS Express Saver) | International, and domestic outside the US |
17 |
UPS Worldwide Economy DDU | International |
72 |
UPS Worldwide Economy DDP | International |
82 |
UPS Today Standard | Poland domestic |
83 |
UPS Today Dedicated Courier | Poland domestic |
84 |
UPS Today Intercity | Poland domestic |
85 |
UPS Today Express | Poland domestic |
86 |
UPS Today Express Saver | Poland domestic |
92 |
UPS Ground Saver, under 1 lb | US domestic |
93 |
UPS Ground Saver, 1 lb or more | US domestic |
94 |
UPS Ground Saver, Bound Printed Matter | US domestic |
95 |
UPS Ground Saver, Media Mail | US domestic |
M2–M6 |
UPS Mail Innovations | See Mail Innovations |
Codes 92 to 95 are the old SurePost codes. UPS renamed the service
without changing them, and rate responses still describe them as "UPS
SurePost"; see UPS Ground Saver.
A code that isn't in this table (for example 74, UPS Express 12:00 in
Europe) is still sent to UPS unchanged, so it works if UPS offers it on the
lane. The rate comes back with the correct service_code and a desc of
"Unknown service code".
Is UPS Saver the correct code for international shipping?#
Yes. 65 is UPS Worldwide Saver, UPS's international express service
with end-of-day delivery, usually one to three business days. The same code
is called "UPS Saver" or "UPS Express Saver" when you ship from outside the
US. It is not the domestic US saver service. That one is 13, UPS Next Day
Air Saver, and it isn't Ground Saver (92/93) either, which is an economy
ground service.
For international shipments from the US, the choice is usually between:
| Code | Service | Speed |
|---|---|---|
54 |
Worldwide Express Plus | Early morning, 1–3 days |
07 |
Worldwide Express | Morning to major cities, 1–3 days |
65 |
Worldwide Saver | End of day, 1–3 days |
08 |
Worldwide Expedited | 2–5 days |
11 |
Standard | Ground, Canada and Mexico only |
72 / 17 |
Worldwide Economy DDP / DDU | Slowest, lowest cost |
Not every service is offered on every lane. Rate the shipment without a
service to see which ones UPS offers between the two addresses.
Rating one UPS service#
UPS-REST rates every available service by default (UPS's Shop request
option, with transit times). To rate a single service, send its code with
"request_option": "Rate":
{
"carrier": "UPS-REST",
"action": "getallrates",
"params": {
"key": "your-key-from-authenticate-request",
"account_number": "YOUR_ACCOUNT",
"service": "65",
"request_option": "Rate",
"ship_city": "Atlanta",
"ship_state": "GA",
"ship_code": "30328",
"ship_country": "US",
"to_city": "Toronto",
"to_state": "ON",
"to_code": "M5V 2T6",
"to_country": "CA",
"packages": [
{ "weight": 5, "length": 10, "width": 8, "height": 6 }
]
}
}
To ship with that service, send the same service on submitshipment.
FedEx service types#
FedEx calls them service types. Send one as service on the
FedEx-REST carrier (the legacy FedEx carrier takes the same values).
| Service type | Service |
|---|---|
FIRST_OVERNIGHT |
FedEx First Overnight |
PRIORITY_OVERNIGHT |
FedEx Priority Overnight |
STANDARD_OVERNIGHT |
FedEx Standard Overnight |
FEDEX_2_DAY_AM |
FedEx 2Day A.M. |
FEDEX_2_DAY |
FedEx 2Day |
FEDEX_EXPRESS_SAVER |
FedEx Express Saver (3 business days) |
FEDEX_GROUND |
FedEx Ground (business addresses, and FedEx International Ground to Canada) |
GROUND_HOME_DELIVERY |
FedEx Home Delivery (residential addresses) |
SMART_POST |
FedEx Ground Economy, formerly SmartPost; see FedEx SmartPost |
FEDEX_INTERNATIONAL_PRIORITY_EXPRESS |
FedEx International Priority Express |
FEDEX_INTERNATIONAL_PRIORITY |
FedEx International Priority |
INTERNATIONAL_FIRST |
FedEx International First |
INTERNATIONAL_ECONOMY |
FedEx International Economy |
FEDEX_INTERNATIONAL_CONNECT_PLUS |
FedEx International Connect Plus |
INTERNATIONAL_PRIORITY_DISTRIBUTION |
FedEx International Priority DirectDistribution |
INTL_GROUND_DISTRIBUTION |
FedEx International Ground Distribution |
FEDEX_FIRST_FREIGHT |
FedEx First Overnight Freight |
FEDEX_1_DAY_FREIGHT |
FedEx 1Day Freight |
FEDEX_2_DAY_FREIGHT |
FedEx 2Day Freight |
FEDEX_3_DAY_FREIGHT |
FedEx 3Day Freight |
INTERNATIONAL_PRIORITY_FREIGHT |
FedEx International Priority Freight |
INTERNATIONAL_ECONOMY_FREIGHT |
FedEx International Economy Freight |
INTERNATIONAL_DISTRIBUTION_FREIGHT |
FedEx International Priority DirectDistribution Freight |
FEDEX_INTERNATIONAL_DEFERRED_FREIGHT |
FedEx International Deferred Freight |
FEDEX_GROUND vs GROUND_HOME_DELIVERY is the one that trips people up:
both are FedEx's ground network, but FedEx requires Home Delivery for
residential addresses. Set residential correctly and rate without a
service to see which one FedEx returns.
FedEx Freight LTL (FEDEX_FREIGHT_PRIORITY, FEDEX_FREIGHT_ECONOMY) has its
own carrier and credentials since FedEx Freight moved to a separate API; see
FedEx Freight.
USPS mail classes#
The USPS-REST carrier sends service to USPS as the mail class:
| Mail class | Service |
|---|---|
USPS_GROUND_ADVANTAGE |
USPS Ground Advantage (replaced First-Class Package Service and Parcel Post) |
PRIORITY_MAIL |
Priority Mail |
PRIORITY_MAIL_EXPRESS |
Priority Mail Express |
PARCEL_SELECT |
Parcel Select (the default for labels when service is empty) |
PARCEL_SELECT_LIGHTWEIGHT |
Parcel Select Lightweight |
MEDIA_MAIL |
Media Mail |
LIBRARY_MAIL |
Library Mail |
BOUND_PRINTED_MATTER |
Bound Printed Matter |
USPS_CONNECT_LOCAL |
USPS Connect Local |
USPS_CONNECT_REGIONAL |
USPS Connect Regional |
USPS_CONNECT_MAIL |
USPS Connect Mail |
For domestic rates, leave service empty (or send ALL) to get every mail class
USPS offers for the package. With a service, RocketShipIt asks USPS for
that one mail class only. In the response, service_code is the USPS SKU of
the price and local_service_code is the mail class. International rates
return international mail classes, such as PRIORITY_MAIL_INTERNATIONAL, in
the same field.
The short values in Parameters
(PRIORITY, EXPRESS, MEDIA...) belong to the retired USPS Web Tools
API, not the REST carrier. If you're
moving to the REST APIs, switch them to
mail classes.
Other carriers#
- DHL Express product codes (
PExpress Worldwide,DExpress Worldwide documents,NDomestic Express...), Stamps.com (US-GA,US-PM...), DHL eCommerce and other carriers are listed in Parameters. DHL special service codes, which go inaddons, are in DHL Service Codes. - UPS Mail Innovations (
M2–M6): Mail Innovations.