FedEx Carrier Guide
FedEx is a multi-national courier service that offers domestic and international shipping solutions. FedEx offers a wide range of services and package delivery solutions.
This guide provides an overview of shipping services that FedEx offers and the service codes that you will use to create FedEx shipments.
Whether you need to create a new FedEx account or are ready to connect an existing one to ShipEngine, the setup guides below can help you get started.
Connecting Your Account
There are two ways you can connect your FedEx account to ShipEngine:
Programatically connect to FedEx
ShipEngine's API allows you to connect your FedEx accounts programmatically without having to log in to the ShipEngine API dashboard. This functionality is useful if you have wrapped a custom UI around the ShipEngine API toolset, and if you want to be able 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 FedEx accounts all via the API without logging in to a dashboard. Together these APIs empower you to completely white-label the ShipEngine experience for your end users.
FedEx Account Information Model
FedEx Account Information Model
Property | Description |
---|---|
nickname | string, required A nickname for your account in ShipEngine. Very useful if you have multiple accounts for the same carrier. |
account_number | string, required |
first_name | string, required |
last_name | string, required |
company | string |
address1 | string, required |
address2 | string |
city | string, required |
state_province | string, required |
postal_code | string, required |
country_code | string, required |
string, required | |
phone | string, required |
agree_to_eula | bool, required |
Connect a FedEx account
POST /v1/connections/carriers/fedex
Disconnect a FedEx account
DELETE /v1/connections/carriers/fedex/:ID
When FedEx has been successfully disconnected, you will receive a HTTP 204, No Content status.
Modify FedEx Settings
ShipEngine takes advantage of some of FedEx's advanced functionality but does not enable it by default. You can update these settings in the Dashboard or via the API.
Pickup Type
Parameter | Type | Description |
---|---|---|
pickup_type | enumerated string | Determines how FedEx will pickup your packages.none - Not specifiedregular_pickup - You already have a daily pickup scheduled with FedEx. request_courier - You will call FedEx to request a courier. drop_box - You will drop-off packages in a FedEx drop box. business_service_center - You will drop-off packages at an authorized FedEx business service center. station - You will drop-off the package at a FedEx Station. |
FedEx Ground Economy™ (formerly SmartPost™)
FedEx makes documentation available here for Ground Economy™ (formerly SmartPost™).
Parameter | Description |
---|---|
smart_post_hub | enumerated string none , allentown_pa , atlanta_ga , charlotte_nc , chino_ca , dallas_tx , denver_co , detroit_mi , edison_nj , grove_city_oh , groveport_oh , houston_tx , indianapolis_in , kansas_city_ks , los_angeles_ca , martinsburg_wv , memphis_tn , minneapolis_mn , new_berlin_wi , northborough_ma , orlando_fl , phoneix_az , pittsburgh_pa , reno_nv , sacramento_ca , salt_lake_city_ut , seattle_wa , st_louis_mo |
smart_post_endorsement | enumerated string none , return_service_requested , forwarding_service_requested , address_service_requested , change_service_requested , leave_if_no_response |
Common Settings
Parameter | Description |
---|---|
nickname | string Nickname for the account that will appear on carrier calls and in the UI. |
is_primary_account | bool Whether or not the account is set to primary, this currently has no function inside of ShipEngine. |
signature_image | string A Base 64 encoded image of the signature to be used for this account. |
letterhead_image | string A Base 64 encoded image of the letterhead to be used for this account. |
PUT /v1/connections/carriers/fedex/:carrier_id/settings
On a successful response, you will receive an HTTP status 204.
GET /v1/connections/carriers/fedex/:carrier_id/settings
Service | Transit Time | Combined Length and Girth (L+2W+2H) | Max Weight | Service Codes |
---|---|---|---|---|
FedEx Ground® | 1-5 days (May vary depending on location) | 165” (419cm) | 150 lbs | fedex_ground |
FedEx Home Delivery® | 1-5 Business Days | 165” (419cm) | 70 lbs | fedex_home_delivery |
FedEx Express Saver® | 3 Business Days | 165” (419cm) | 150 lbs | fedex_express_saver |
FedEx 2Day® | 2 Business Days | 165” (419cm) | 150 lbs | fedex_2day |
FedEx 2Day AM® | 2 Business Days (before noon) | 165” (419cm) | 150 lbs | fedex_2day_am |
FedEx Standard Overnight® | 1 Business Day | 165” (419cm) | 150 lbs | fedex_standard_overnight |
FedEx Priority Overnight® | 1 Business Day (2 Business Days when shipping to HI & AK) | 165” (419cm) | 150 lbs | fedex_priority_overnight |
FedEx First Overnight | 1 Business Day (AM Delivery) | 165” (419cm) | 150 lbs | fedex_first_overnight |
FedEx International Ground® | Delivery times can vary depending on location | 165” (419cm) | 150 lbs | fedex_ground_international |
FedEx International Economy® | Delivery times can vary depending on location | 165” (419cm) | 150 lbs | fedex_international_economy |
FedEx International Priority | 1-3 Business Days | 165” (419cm) | 150 lbs | fedex_international_priority |
FedEx International First® | 1-3 Business Days | 165” (419cm) | 150 lbs | fedex_international_first |
FedEx International Priority Express® | 1-3 Business Days | 165” (419cm) | 150 lbs | fedex_international_priority_express |
FedEx Europe First® | 1 Business Day (AM Delivery) | 130" (330cm) | 150 lbs | fedex_europe_first |
FedEx International Connect Plus® | Delivery times can vary depending on location | 130" (330cm) | 150 lbs | fedex_international_connect_plus |
FedEx Freight Service Levels
Service | Transit Time | Min Weight | Max Weight (skid) | Max LxWxH | Service Codes |
---|---|---|---|---|---|
FedEx First Overnight® Freight | 1 Business Day (AM Delivery) | 151 lbs | 2,200 lbs | 119"x70"x80" | fedex_first_overnight_freight |
FedEx 1Day® Freight | 1 Business Day | 151 lbs | 2,200 lbs | 119"x70"x80" | fedex_1_day_freight |
FedEx 2Day® Freight | 2 Business Days | 151 lbs | 2,200 lbs | 119"x70"x80" | fedex_2_day_freight |
FedEx 3Day® Freight | 3 Business Days | 151 lbs | 2,200 lbs | 119"x70"x80" | fedex_3_day_freight |
FedEx Freight® Priority | 1-3 Business Days | Unlimited | 3,150 lbs | 20'x100"x93" | fedex_freight_priority |
FedEx International Economy® Freight | Delivery times can vary depending on location | 151 lbs | 2,200 lbs | 119"x70"x80" | fedex_international_economy_freight |
FedEx International Priority® Freight | 1-3 Business Days | 151 lbs | 2,200 lbs | 119"x70"x80" | fedex_international_priority_freight |
FedEx Advanced Options
Advanced Options are a property of the shipment that are used to communicate carrier add-ons used to get rates and create labels, such as "Saturday Delivery". Carrier Options are available dynamically at the List Carriers endpoint.
Option | Name | Default Value | Description |
---|---|---|---|
Bill To Party | bill_to_party | null | Determines which party is paying for shipping costs. If null , shipping costs will be billed to the connected FedEx account. recipient - Required for FedEx Ground Collect. third_party - Bill to an account that is not connected to ShipEngine. When billing to a third party, you may not see rates returned from ShipEngine API. This field must be used in conjunction with the bill_to_country_code , bill_to_postal_code , and bill_to_account fields. |
Bill To Account | bill_to_account | null | The account number that will be charged shipping costs when bill_to_party is third_party |
Bill To Postal Code | bill_to_postal_code | null | The Postal Code associated with the bill_to_account . This will be validated by FedEx. |
Bill To Country Code | bill_to_country_code | null | The two letter country code associated with the bill_to_account as it corresponds to ISO 3166-1 alpha-2. |
Collect on Delivery | collect_on_delivery | null | Object used to indcate that the shipping cost should be collected by FedEx on delivery of the package. For more information, check our Collect on Delivery Guide. |
Contains Alcohol | contains_alcohol | false | Indicates that the shipment contains alcohol. |
Delivered Duty Paid | delivered_duty_paid | false | Indicates that the shipper is paying the international delivery duties for this shipment. |
Dry Ice | dry_ice | false | Indicates if the shipment contains dry ice |
Dry Ice Weight | dry_ice_weight | 0 | Object used to identify the weight of the dry ice in the shipment.value - Numeric value for weight unit - Unit of measurement for weight. Accepts ounce , pound , gram and kilogram . |
FedEx Freight | fedex_freight | null | Object to provide details for FedEx Freight services. shipper_load_and_count - String required by FedEx for Freight shipments.booking_confirmation - String required by FedEx for Freight shipments. |
Non Machinable | non_machinable | false | Indicates that the package cannot be processed through FedEx sorting machines. |
Saturday Delivery | saturday_delivery | false | Add On to deliver on Saturday for services that do not otherwise include Saturday Delivery |
Third Party Consignee | third-party-consignee | null | Hides Consignee-specific information on the commercial invoice for international shipments. |
FedEx Ground Collect
FedEx Ground Collect is a program that allows a recipient to use their own FedEx account when receiving shipments. Note that this is different from Collect on Delivery (COD) where the shipping charges are collected directly from the recipient when the package is delivered.
With FedEx Ground Collect, the recipient displays a placard for the FedEx courier to scan when they deliver the package. Once it is scanned, the recipient's FedEx account is invoiced for the shipping charges.
To use this option, you must set your service_code
to fedex_ground
and supply a bill_to_party
in the advanced_options
when you create a
shipping label, as indicated in the example below.
You'll notice that bill_to_party
is set to recipient
and there is no bill_to_account
set in the payload. This
differs from billing a third party, which also uses the bill_to_party
property.
Example Request
This is an example of a label using FedEx Ground Collect. You'll notice that COLLECT
is printed to the right
of the tracking number.
Example Label

Now you are ready to create shipments using FedEx via ShipEngine! FedEx service marks are owned by Federal Express Corporation and used with permission.