Shipping Carrier APIs: UPS, FedEx, USPS, DHL and More

RocketShipIt is one API in front of every major shipping carrier. You send one request shape for rating, labels, tracking or address validation; RocketShipIt translates it into whatever UPS, FedEx, USPS, DHL or a regional carrier actually wants, calls that carrier directly, and translates the answer back into one response shape.

The rest of this page is a reference for the underlying carrier APIs — their endpoints, quirks and support contacts — for when you need to know what is happening beneath that translation.

Is there a REST API for tracking packages on FedEx and UPS?#

Yes, and you do not need two of them.

Both carriers now offer OAuth-secured REST APIs of their own: FedEx has replaced its SOAP web services, and UPS has replaced the XML Developer Kit. RocketShipIt speaks both (fedex-rest and ups-rest), plus the legacy SOAP/XML versions still in service on older accounts. It also speaks USPS, DHL, Canada Post, Purolator, OnTrac, Amazon and 30+ others.

The point is that they all look the same from your side. Tracking a FedEx package and tracking a UPS package is the same request with a different carrier value:

{
  "carrier": "FedEx-REST",
  "action": "Track",
  "params": {
    "key": "YOUR_KEY",
    "tracking_number": "794657326789"
  }
}
{
  "carrier": "UPS-REST",
  "action": "Track",
  "params": {
    "key": "YOUR_KEY",
    "tracking_number": "1Z9A556W0301224626"
  }
}

Both come back with the same fields: a normalized status, a delivery date, the full scan history, and the carrier's own raw codes when you need them. See Tracking for the response format and status codes for the per-carrier code tables.

The same holds for the rest of the operations. One rating request shape across carriers, one label request shape, one address validation request shape.

One API for many carriers, without an aggregator#

There are two ways to reach a dozen carriers from one integration, and they are not the same thing.

A tracking or shipping aggregator sits between you and the carrier. You send requests to the aggregator's servers; it holds the carrier relationships, or resells rates off its own accounts, and returns you its own view of the data. It is quick to start with. It also means every shipment, address and customer record passes through a third party, your rates are whatever that party negotiated, pricing scales per shipment or per tracking event, and when the aggregator is down you are down.

RocketShipIt is not an aggregator. It is a library and a server that you point at your own carrier accounts, using your own credentials and your own negotiated rates. You self-host it — a single binary, no dependencies, running inside your infrastructure — or let us host it for you if you would rather not. Either way the carrier relationship stays yours.

Aggregator RocketShipIt
Carrier account Theirs, or yours via them Yours, directly
Rates Their negotiated rates, or yours passed through Your own negotiated rates
Where the data goes Through their servers Your server, straight to the carrier
Pricing Typically per shipment or per tracking event Flat subscription, unmetered
If they have an outage You stop shipping Self-hosted: unaffected
New carrier coverage Whatever they support 30+ carriers, plus the carrier's own API underneath

The trade-off is real and worth naming: an aggregator will also do the carrier onboarding for you, and if you have no carrier accounts at all and no intention of getting any, that is a genuine advantage. If you already ship — if you have a UPS account number and a FedEx meter and rates you negotiated — then routing all of it through someone else's servers costs you money, speed and control for nothing.

What you can do with it#

Rating Compare services and prices across carriers in one call
Shipping labels Create labels, including return labels and thermal formats
Tracking Normalized status and scan history for every carrier
Address validation Correct and verify addresses before you print
Pickups and locations Schedule pickups, find drop-off points
Customs International documents, paperless customs upload

New to it? Start with Getting Started. For credentials, see carrier authentication.


Carrier API reference#

Below is reference information on the carrier APIs RocketShipIt talks to underneath.

UPS#

Developer site: https://www.ups.com/upsdeveloperkit

Tips#

  • The UPS Developer Kit APIs are updated in January and July each year.
  • Changelog - https://www.ups.com/us/en/help-center/technology-integration/olt/anc.page
  • UPS no longer requires certification to create production shipping labels.
  • Your UPS Access Key is the same for dev/test and production
  • [email protected] is the UPS developer support email
  • Although UPS supports JSON, it is an afterthought and not a first-class citizen. We (unfortunately) recommend integrating with XML/SOAP.

Endpoints#

(All API URIs are case sensitive)

XML/SOAP

Base URL

Services:

  • /Rate
  • /Ship
  • /Track
  • /FreightRate
  • /Void
  • /TimeInTransit
  • /LBRecovery Label Recovery
  • /Pickup
  • /XAV Address Validation
  • /DangerousGoodsUtility
  • /PreNotification
  • /PaperlessDocumentAPI (production: https://filexfer.ups.com/webservices/PaperlessDocumentAPI)
  • /DeniedParty (TradeAbility)
  • /FreightShip

Quantum View and Locator have a different base URL:

Services:

  • /QVEvents
  • /Locator

JSON:

APIs#

Shipping/Rating

  • Address Validation - City, State, ZIP Verify the city, state, and ZIP or postal code information is valid.
  • Address Validation - Street Level Verify the street address, city, state, and ZIP or postal code information is valid.
  • Dangerous Goods - Validate Air, Ground, and International Dangerous Goods (hazardous materials) shipments are acceptable to UPS.
  • Locator - Global - Find a UPS location or The UPS Store nearest to you.
  • Pickup - Request a pickup for you or for one of your customers.
  • Pre-Notification - Notify UPS of Dangerous Goods shipments after shipment processing.
  • Rating - Compare delivery services and shipping rates to determine the best option for your customers.
  • Shipping - Validate addresses, compare rates, and print labels for your internal business processes.
  • Time in Transit - Compare shipping transit times of UPS services.

Visibility#

  • Quantum View - Stream Quantum View Data via XML over the Web and into internal applications.
  • Tracking - Provide accurate package status information to your customers.
  • Tracking - UPS Signature Tracking Automate Proof of Delivery for your shipments.

International Trade#

  • Paperless Documents - Upload document images and link to your international shipments.
  • UPS TradeAbility - Generate cost estimates for duties, taxes, and transportation for international shipments; locate compliance and licensing information, and identify restricted trading parties.

FedEx#

Developer site: http://www.fedex.com/us/developer/

Tips#

  • Changelog - http://www.fedex.com/us/developer/announcements.html
  • Support email: [email protected]
  • "Can I ship multiple packages with a single request?" No. Each package requires a ship transaction. However you are able to tie packages together with a master tracking number
  • Phone support: 1.877.339.2774 (When prompted, please say "FedEx Web Services.")

Endpoints#

Base URL:

Services:

  • /locs
  • /close
  • /pickup
  • /rate
  • /ship
  • /ValidationAvailabilityAndCommitment
  • /ship (void)
  • /async
  • /cnty CountryService
  • /dgds Dangerous Goods
  • /dgld Dangerous Goods
  • /ifss InFlightShipmentService
  • /addressvalidation
  • /locs LocationsService
  • /openship OpenShip
  • /uploaddocument UploadDocumentService

APIs#

  • Rate
  • Service Availability
  • Validate Postal Codes
  • Track
  • Signature Proof of Delivery
  • Notification
  • Search Locations
  • Create Shipment
  • Shipment Validation
  • Return Tag
  • Cancel Return Tag
  • ETD/Upload Service
  • Pickup
  • Cancel Pickup
  • Pickup Availability
  • Express Tag Availability
  • SmartPost Close
  • Close Shipment (Ground Only)
  • Reprint Close Report
  • Create Email Label
  • Cancel Email Label
  • Add Packages
  • Delete Packages
  • Create Open Shipment
  • Delete Open Shipment
  • Modify Open Shipment
  • Validate Open Shipment
  • Confirm Open Shipment
  • Retrieve Open Shipment
  • Upload Dangerous Goods Commodity Data (DGDS)
  • Retrieve Dangerous Goods Shipments (DGLD)
  • Address Validation
  • In-Flight Shipment Service

FedEx Freight#

Developer site: https://developer.fedexfreight.com/

FedEx Freight became an independent LTL carrier on June 1, 2026 and publishes its own REST APIs (LTL Rates, Ship, Pickup and Track) on its own portal, with its own OAuth server and credentials. The RocketShipIt carrier is fedex-freight; see FedEx Freight.

Tips#

  • Create an integration on the portal to get a Client ID and Client Secret; the portal also lists sandbox test accounts (shipper and bill-to).
  • Every API is limited to 5 calls per second per integration.
  • OAuth tokens live 60 minutes and cannot be refreshed; a 401 means request a new one.
  • Technical support: 1.800.435.7949

Endpoints#

OAuth token (POST /am/oauth2/access_token, scope fxf-api):

API base URL:

Services (production paths):

  • /fxf-external-rate-auth0/fxfgw/rate/getRateQuote
  • /fxf-external-rate-auth0/fxfgw/rate/specialServiceOptions
  • /fxf-external-ship-auth0/fxfgw/route/freight/shipment
  • /fxf-external-pickup-auth0/fxfgw/pickup/availability
  • /fxf-external-pickup-auth0/fxfgw/pickup/create
  • /fxf-external-pickup-auth0/fxfgw/pickup/cancel
  • /fxf-external-tracking-auth0/fxfgw/route/track/v1/trackingnumbers
  • /fxf-external-tracking-auth0/fxfgw/route/track/v1/referencenumbers
  • /fxf-external-tracking-auth0/fxfgw/route/track/v1/trackingdocument

USPS#

RocketShipIt supports both the legacy USPS webtools API and newer REST base API: https://developer.usps.com

Developer site: https://www.usps.com/business/web-tools-apis/welcome.htm

Tips#

  • "We do not currently offer the ability to pay for postage directly to USPS through Web Tools APIs." You must use Stamps.com or other provider to create postage paid labels.
  • USPS does offer postage paid labels through eVS and ePostage which RocketShipIt fully supports but there are volume requirements.
  • Permissions for creating shipping labels without postage are added separately. To get permission, contact [email protected] and include "Web Tools API Access" in the subject line.
  • Changelog: https://www.usps.com/business/web-tools-apis/welcome.htm

APIs#

Address APIs

  • Address Validation/Standardization
  • City and State Lookup
  • Zip Code Lookup

Tracking & Delivery Information APIs

  • Tracking
  • Tracking by Email
  • Proof of Delivery
  • Restore Archived Tracking
  • Return Receipt Electronic

Price Calculator APIs

  • Domestic Price Calculator
  • International Price Calculator

Shipping Label APIs: Domestic

  • Domestic Shipping Labels (Priority Mail, Standard Post, First Class Package Service)
  • Priority Mail Express Labels
  • eVS Labels
  • Hold For Pickup Labels
  • Merchandise Return Service Labels
  • Merchandise Return Service Bulk Labels
  • Open and Distribute™ Labels
  • Scan Form

Shipping Label APIs: International

  • Priority Mail Express International
  • Priority Mail International
  • First-Class Mail International and First-Class Package International Service
  • eVS International Labels API

Package Pickup APIs

  • Check pickup availability
  • Schedule a pickup
  • Cancel a pickup request
  • Update a pickup request

Service Standards & Commitments APIs

  • Domestic Mail Service Standards
  • Service Delivery Calculator

DHL#

Developer site: https://xmlportal.dhl.com/login

OnTrac#

Legacy XML API (ontrac) developer site: https://www.ontrac.com/onlineShipAPI.asp

WS V3 JSON API (ontrac-rest) documentation: https://ws.ontrac.com/. OnTrac issues the WSID and WSKey by email; see OnTrac REST.

FlavorCloud#

Developer site: https://docs.flavorcloud.com/. FlavorCloud issues the AppID and RestApiKey in its admin console; see FlavorCloud.

Veho#

Developer site: https://docs.api.shipveho.com/. Veho issues one API key for its sandbox and one for production; see Veho.

Estes Express Lines#

Developer portal: https://developer.estes-express.com/. Estes issues a client id and secret per environment by email from [email protected]; you generate the API key from them, and every call also takes a MyEstes login. See Estes.

Amazon Buy Shipping#

Developer site: https://developer-docs.shipping.amazon.com/. Register an SP-API application with the Amazon Shipping role in Seller Central (Apps & Services, Develop Apps) and self-authorize it for the refresh token; see Amazon Buy Shipping.

Purolator#

Developer site: https://eship.purolator.com/site/en/default.aspx

Stamps.com#

Developer site: https://developer.stamps.com/

Golden State Overnight#

Developer site: https://www.gls-us.com/solutions/technology