Learn how to integrate logistics into your application with our APIs.

The Terminal Shipping API (TShip) provides a single interface for integrating shipping carriers such as Aramex, DHL Express, Fedex and so much more within your applications. The API allows anyone to programatically get shipping rates and arrange pickup and delivery for a parcel. To interact with this API, you need to create an account on the Terminal Africa platform and retrieve your API keys.


TShip is an aggregation of multiple Shipment carriers operating around the globe. We've abstracted integration of the aforementioned carriers into a single interface, to make it easy for anyone to build logistics services into their products.

Core Concepts

This section describes the core concepts in the API.

Address An address records information about a pickup or delivery location.

Carriers A carrier is any shipping entity responsible for providing rates and executing shipments on the Terminal Shipping API. e.g. DHL Express, UPS, Gokada, etc.

Claims A claim is created when a user makes a formal request for compensation on a lost or damaged package.

HS Codes HS Codes are used to classify the products / items that are shipped through the API.

Insurance Insurance provides cover against loss or damage for your packages.

Packaging Packaging is the container or wrapper used to wrap the parcel in a shipment.

Parcels Parcels provide information about the items to be shipped.

Rates Rates contain information about the cost, pickup date and estimated delivery time to move a parcel between 2 addresses.

Shipment A shipment contains information about a pickup and delivery task.

Transaction A transaction represents a payment for a shipment or addition of funds to a wallet.

User A user represents an account on Terminal.

Webhooks Webhooks allow Terminal to provide status updates on shipments to your applications.

How it works

This section describes how the API works in simple terms, so you can get a general sense of the different concepts in the API reference. To illustrate this, we'll use a hypothetical example of someone trying to ship a parcel from a pickup address to a delivery address.

Arranging a delivery on the API goes through the following process:

  1. Create a Shipment.

  2. Use shipment information to get Rate from available Carriers.

  3. Arrange delivery by using your chosen Rate and Shipment.

  4. Listen for shipment updates via Webhook.

It's really that simple!

The flow of events may differ depending on how your application works e.g. an eCommerce platform may need to display rates from carriers before they have the full details of the customer's address. In this scenario, you can create a quick shipment using items added to a shopping cart and use the draft shipment to retrieve Rates.

Once you get the hang of the basic flow, you can understand how certain processes can be adapted for your application.


This section describes the core features available via the API.

  • Get Live Shipping Rates: Get live shipping rates from any of the carrier partners. The rates will also provide information about pickup dates and delivery times.

  • Arrange Pickup & Delivery: Arrange pickup and delivery for your parcels with a single API call. The API call also allows you to specify the type of vehicle needed for the shipment as well as indicate how much assistance you might need to load a large parcel.

  • Track Shipments: The API provides an endpoint for tracking any shipment arranged. We also include links to specific carrier tracking pages with each request via the Shipment Extras object.

  • Manage Packaging: You can create and maintain information about the different types of packaging you use in wrapping your parcels. In the future, the API will allow you to access packaging information directly from our carrier partners.

  • Receive Live Updates on Shipments: Through webhooks, the API ensures that your applications are constantly updated on any changes to the status of your shipment.

  • Streamlined Billing: The API provides a single wallet for payments on all your shipments, irrespective of the carrier that you arrange your shipments with. You can also topup your wallet via a range of payment channels such as Credit / Debit Card, Pay with Bank or Offline Bank Transfer on the Terminal dashboard.

Last updated