Integrating Shipping Into Your Web Site or Application

Ever thought about adding shipping tools to your web site or software application? This is a great way to make your e-commerce web site more usable, by including shipping rates up front, and then providing automated package tracking notifications.

I’ve known for a while that there were “shipping APIs” out there, but haven’t really known the details of how they work. I had several questions:

  • What services do they offer? Are they all the same?
  • What’s involved in integrating them?
  • What programming language(s) can we use to integrate them?
  • Are some easier to integrate than others?

I’ve been investigating shipping application programming interfaces (APIs) and the programs that the major shipping carriers offer and this is what I’ve found so far.


FedEx offers a Ship Manager API that allows developers to integrate FedEx pricing, shipping, tracking, and reporting services into their web site or online application. The Ship Manager API enables developers to create custom applications to:

  • Determine service availability and estimate the cost of delivery
  • Request a courier for pickup
  • Print FedEx shipping labels
  • E-mail the customer when a package has been shipped and include the tracking number
  • Integrate tracking data into your own order management system
  • Create custom shipping reports

Language options are HTML, C++, Java, or Visual Basic. FedEx requires developers to register before they can download the API software, and once they’ve integrated it, you must contact FedEx and provide your code to allow them to test your application before going live. FedEx also provides test scripts for you to test your integration. Any third-party developer who is integrating the FedEx Shipping Manager into their own application must apply to be a compatible solutions provider, get approved, integrate, and then submit their code to Client Server Labs (CSL) for verification.


UPS offers several services that developers can integrate, most in XML, but a couple are also offered in an HTML version:

  • Tracking Tool (offered via HTML and XML): tracks the delivery status of a package. There are actually two tools: a traditional tracking tool and a signature tracking tool that includes delivery confirmation with electronic signature and address delivered to.
  • Address Validation Tool (XML only): allows you to verify a shipping address at the time of order.
  • UPS Rates & Service Selection (XML): provides rates and allows end users to select the most appropriate service for their needs. They have a separate tool for International shipment pricing that generates cost estimates for duties, taxes, and transportation, locate compliance and licensing information, and identify restricted trading parties.
  • UPS Shipping (XML): Integrates UPS web-based shipping into your corporate environment.

Independent software vendors and application service providers who want to integrate the UPS tools into their own software must apply to the UPS Ready program.


DHL offers several tools that allow developers to integrate DHL shipping into their web sites or software applications via XML APIs, including:

  • ShipIT: for domestic and International shipping from US addresses. Your web site or software can transmit shipment information to DHL in a standardized format and receive a real-time response that includes all the data required to format and print a return shipment label, including the assigned tracking number, and label image (If desired)
  • ReturnIT: for domestic and international returns. Similarly to ShipIT, you transmit return shipment information to DHL with similar response.
  • RateIT: get pricing for domestic or international DHL shipping. Send a request to DHL and receive estimates for all DHL services (Express 10:30 AM, Express, Next afternoon, Second day and Ground).
  • TrackIT: track DHL packages via your own web site or software. Request and receive the:
    • Detailed status and tracking history of a DHL shipment
    • Delivery signature (JPEG image) and the date and time of delivery
  • DHL also has an Electronic Data Interchange that allows you to get shipment status updated up to 18 times per day.

Corporate developers must have their application certified by DHL support. Independent software vendors must have their software certified by DHL in order to be recognized as a DHL third-party provider. 

 US Postal Service

The USPS offers several web tools for integrating shipping options into your web site or application (and somehow it was easier to find and understand than all the corporate hoo-haa–way to go, USPS!) Here’s what they offer:

  • Address information: You have to request permission to use these APIs, but once granted, you can use address standardization to correct errors in customer or staff-entered addresses, do a zip code lookup or conversely, a city/state lookup based on the zip code. 
  • Delivery information: track packages shipped via Express Mail, Global Express Guaranteed, or Global Express Mail®, check the delivery status of packages shipped with Delivery Confirmation™ service, Signature Confirmation™ service, Certified Mail or Registered Mail, or check the expected delivery time between two zip codes for other USPS mail services.
  • Rate calculators: for both domestic and international shipping.
  • Print shipping labels: for delivery or signature confirmation, priority or express mail, and international shipping (including customs forms). Allow customers to print a return shipping label from their own computer.

Service providers can register to become a USPS Web Tool Service Provider. Once USPS has verified your solution, you can be listed on the USPS site as a service provider.

ProgrammableWeb lists several more shipping APIs and the mashups that have resulted from each, complete with user ratings (in some cases).


23 Responses to “Integrating Shipping Into Your Web Site or Application”

  1. 1 Anton Stoyanov October 26, 2008 at 8:15 pm

    We are doing quite a lot of work with DHL, Citylink, Parcelforce and others in the UK – one thing to have in mind that there are different systems available (or not available!) depending on where you are. DHL in the UK (for domestic and UK to Europe orders) don’t actually have an XML interface but a rather complicated combination of files which ends up being more complicated than just “querying” an XML…

  2. 2 S.N. Jha November 21, 2008 at 12:45 am

    I want to know how can I integrate the fedex API as I have no information how to do so in php environment. Pls help me in this regards.

  3. 3 Rajesh December 20, 2008 at 9:30 am

    I integrated Fedex and USPS into my web application.

    But Iam not sure about the USPS integration.

    In fedex it is straight forward. When we apply for shipping a package using their web service the fedex web service will return a tracking number along with a package label to print on the package.

    But in USPS there is no such service where we can apply for the package and get tracking number and shipping label just as in fedex.
    I used Carrier pick up service but no idea how to track the package.

    Can you please help me as how can i move forward

  4. 4 Abhishek December 25, 2008 at 5:00 am

    I want to know how can I integrate the fedex API into my 2003 web application.I have made account on Fedex as well. Pls help me !!

  5. 5 krauseann December 28, 2008 at 4:19 pm

    Hi guys,

    Sorry, I’m not an expert on integrating shipping APIs–I just wrote up what I learned when I investigated the web sites for the big shipping carriers. The first commentor on this blog entry has pretty extensive experience–try contacting Anton at

    Good luck!


  6. 6 Avi January 7, 2009 at 5:42 am

    I would like to implement Apis for fedex and dhl both, can anyone help me sort out everything here.

  7. 7 Scott January 16, 2009 at 11:40 pm

    Our company is an independent software vendor which provides customized software solutions for various industries. We have spent the last several months perfecting a shipping service API for use with our applications. Currently it works with UPS, FEDEX, and USPS.

    If anyone is interested, we are planning to market the product in the next couple of months. We have also written a larger application (as part of the project) to interface with several Warehouse and Order Management programs and assist with the packing/shipping step of the process.

  8. 9 Lars January 18, 2009 at 7:21 am


    please contact us as well. Interested in the USPS Api integration.

  9. 10 Dennis February 4, 2009 at 8:08 am

    We’ve written shipping apis for DHL, UPS and USPS.

    DHL – We wrote this api first. It gets us a tracking number, cost, and makes the printer spit out a label. We were very happy with our api until. DHL announced they were pulling out of the domestic USA shipments.

    USPS – This is the 2nd API we wrote. It is obvious that the USPS does not have as much technology as DHL, FedEx and UPS. When we called the USPS support the employees were always ignorant and did not know what was going on. They would sigh on the phone and their attitude was obvious that they wish we would not call them. We had to figure this one out by ourselves, but we eventually finished it. The api can get a tracking number and spit out a shipping label. You still have to take the packages to the post office and pay for them though. That sucks.

    UPS – This is the 3rd API we wrote, and we only wrote it because we were forced to switch from DHL to UPS. As much as we hate that UPS has become a monopoly as a shipping company, we must admit that their support was unmatched. When we registered for the API the support staff was knowledgeable of the product and seemed flattered that we were willing to spend our time writing the API. They even called us on the phone several times during the course of the project to check in and see how we were doing and if they could help with anything. The api can get a tracking number, cost, and spit out a shipping label.

    All three of the apis above were written in php using the curl add-on to send/receive the xml packets.

    You guys are welcome to email me with questions at sales (at) Please note that just because I’ve written 3 apis does not make me an expert though, and there is a high possibility that I may not know the answers to your questions.

  10. 11 Dennis February 4, 2009 at 8:09 am

    Now for my question:

    Has anybody used the DHL, USPS, or UPS apis for international shipping? We are looking to integrate international shipping into our apis.

  11. 12 krauseann February 4, 2009 at 12:27 pm

    Thanks to you all for your comments–it looks like the shipping companies have a ways to go to make their APIs usable! Kudos to those of you who have figured them out! I may need your help myself one of these days …

  12. 13 SIM February 16, 2009 at 1:31 pm

    Scott can you please provide your contact info.


  13. 14 Scott February 25, 2009 at 9:52 am

    For those of you who are looking for our contact info, here it is. As I mentioned before, we don’t yet have the APIs ready for re-distribution, but hope to soon.


    Scott McClannahan
    Eastbay Enterprises
    404.993.9438 office

  14. 15 Anton Stoyanov March 4, 2009 at 6:41 pm

    Hi guys,

    What an interesting conversation. I didn’t come back and visit until I actually saw the traffic to our website coming from here!

    @dennis: Yes, we have extensive experience in international. Our main project so far has been , where we have just implemented UK import services for our clients (anywhere to UK) as well as UK export.

    If anybody is interested in using DHL’s (and others) APIs – we are happy to chat about your projects. do get in touch anton at


  15. 16 Anton Stoyanov March 4, 2009 at 6:47 pm

    Scott, perhaps we can work together on the warehouse system integration? What do you think? Let’s talk.
    We have 3 developers that have been eating drinking and sleeping DHL, CityLink, ParcelForce and TNT for the last 2 years 🙂

  16. 17 Ship Freight September 20, 2010 at 6:43 am

    If you are a provider of shipping services as a profession, you can connect with Shipping companies and negotiate a good price for all moving services with

  17. 18 John Wilson November 14, 2010 at 6:45 pm

    I am using shipping company called NEX Worldwide Express, they use have integrated DHL, FedEx and UPS API. And offer 60% discount from these carriers list price.

  18. 19 iram December 8, 2013 at 7:04 am

    I want to get rates by using DHL web service with php…anyone can help?

  19. 20 Fedex Refunds April 1, 2014 at 5:58 am

    Just want some more details regarding the integration of the API on my website..

  20. 21 Narayan June 30, 2016 at 1:33 am

    I want to know how to integrate bluedart API. I want to integrate in my website.

  1. 1 Trackthis integrates package tracking into social networking « World of Usability Trackback on February 4, 2009 at 12:47 pm
  2. 2 Fedex Shipping Labels Trackback on March 25, 2011 at 12:15 am

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: