Carrier Tracking Search API Details

Track your organization's shipments using a single API.

About the Carrier Tracking Search API

Use the Shipium Carrier Tracking Search Application Programming Interface (API) to track your organization's shipments in transit.

You can use this API to search for single or bulk registered tracking events. By default, all tracking events are included for single and bulk searches.

Registered trackings, or tracking events, are considered equivalent if they were shipped less than 30 days apart.

To exclude tracking events, you'll need to update your search parameters. On this page, you'll find information on how to do this.

🚧

Bulk Search Limitation

With a bulk search, in the trackingSearchRequests and shipiumTrackingId arrays, you can provide up to 100 tracking requests at a time, but no more than 100.

Useful resources

See:

Tracking shipments using the API

This guide provides support for conducting single and bulk searches using two methods:

  • via the carrier, using both the carrier ID and the carrier tracking ID, and
  • via Shipium, using the Shipium tracking ID.

You can choose to search in two ways:

  • including all tracking events (default method), or
  • excluding selected tracking events.

The following table provides quick links to documentation supporting each search type within this guide.

If your desired search doesn't seem to fit the parameters defined for these two search types, see the Edge cases section of this guide for additional support.

Search by carrier (carrierId and carrierTrackingId)

You can conduct a single or bulk search by carrier for your organization using the carrier ID and carrier tracking ID in conjunction. This is described in the table below, which includes each applicable API call.

Search TypeCarrier FieldsAPI Call
SinglecarrierId and carrierTrackingIdGET: api/v1/tracking/carrier/{carrierId}/{carrierTrackingId}
BulkcarrierId and carrierTrackingIdPOST: api/v1/tracking/bulkCarrierTrackingSearch

Example cURL requests for search by carrier (carrierId and carrierTrackingId)

This section includes example client uniform resource locator (cURL) requests and JavaScript Object Notation (JSON) responses for both single and bulk searches by carrier.

Single search by carrier (carrierId and carrierTrackingId) default

This example shows the cURL request for single searching by carrier. By default, all tracking events will be visible.

curl --request GET \
  --url 'https://api.shipium.com/api/v1/tracking/carrier/{carrierId}/{carrierTrackingId}' \  
  --header 'accept: application/json'  \ 
  --header $AUTHSTRING    \
  --header 'content-type: application/json' 

Example JSON response:

{

   "shipiumTrackingId": "7df8264e-6b4a-4af0-8d3f-f5246f3075e2",
   "carrierId": "fedex",
   "carrierTrackingId": "274204633522",
   "carrierServiceMethodId": "fedex-2day-service-method",
   "shipmentStatus": "Delivered",
   "shippedDateTime": "2022-06-13T16:30:00Z",
   "deliveredAtDateTime": "2022-06-15T11:00:00-04:00",
   "carrierEstimatedDeliveryDate": null,
   "trackingEvents": [
       {
           "carrierDescription": "Delivered",
           "shipmentStatus": "Delivered",
           "eventDate": "2022-06-15T15:00:00Z",
           "postalCode": "44102",
           "country": "US",
           "city": "CLEVELAND",
           "region": "OH"
       },
       {
           "carrierDescription": "On FedEx vehicle for delivery",
           "shipmentStatus": "Out For Delivery",
           "eventDate": "2022-06-15T11:20:00Z",
           "postalCode": "44130",
           "country": "US",
           "city": "MIDDLEBURG HEIGHTS",
           "region": "OH"
       },
       {
           "carrierDescription": "At local FedEx facility",
           "shipmentStatus": "In Transit",
           "eventDate": "2022-06-15T11:17:00Z",
           "postalCode": "44130",
           "country": "US",
           "city": "MIDDLEBURG HEIGHTS",
           "region": "OH"
       },
       {
           "carrierDescription": "At destination sort facility",
           "shipmentStatus": "In Transit",
           "eventDate": "2022-06-15T08:56:00Z",
           "postalCode": "44135",
           "country": "US",
           "city": "CLEVELAND",
           "region": "OH"
       },
       {
           "carrierDescription": "Departed FedEx hub",
           "shipmentStatus": "In Transit",
           "eventDate": "2022-06-15T00:17:00Z",
           "postalCode": "27410",
           "country": "US",
           "city": "GREENSBORO",
           "region": "NC"
       },
       {
           "carrierDescription": "Left FedEx origin facility",
           "shipmentStatus": "In Transit",
           "eventDate": "2022-06-14T01:50:00Z",
           "postalCode": "75038",
           "country": "US",
           "city": "IRVING",
           "region": "TX"
       },
       {
           "carrierDescription": "Shipment arriving On-Time",
           "shipmentStatus": "Label Printed",
           "eventDate": "2022-06-13T18:08:00Z",
           "postalCode": "75038",
           "country": "US",
           "city": "IRVING",
           "region": "TX"
       },
       {
           "carrierDescription": "Picked up",
           "shipmentStatus": "In Transit",
           "eventDate": "2022-06-13T16:30:00Z",
           "postalCode": "75038",
           "country": "US",
           "city": "IRVING",
           "region": "TX"
       },
       {
           "carrierDescription": "Shipment information sent to FedEx",
           "shipmentStatus": "Label Printed",
           "eventDate": "2022-06-10T23:46:35Z",
           "postalCode": null,
           "country": null,
           "city": null,
           "region": null
       }
   ]
}

Single search by carrier (carrierId and carrierTrackingId) events excluded

You have the option to exclude tracking events for single searching. This example shows the cURL request for single searching by carrier, including the option to exclude tracking events.

curl --location --request GET 'https://api.shipium.com/api/v1/tracking/carrier/{carrierId}/{carrierTrackingId}?excludeEvents=true' \
--header $AUTHSTRING  

Example JSON response:

{
    "shipiumTrackingId": "b3d5f0f7-a49b-475f-b70e-727c0cc5b530",
    "carrierId": "ups",
    "carrierTrackingId": "1Z074E600396493771",
    "carrierServiceMethodId": "ups-ground-service-method",
    "shipmentStatus": "Delivered",
    "shippedDateTime": "2022-11-08T18:45:45Z",
    "deliveredAtDateTime": "2022-11-10T11:35:54-05:00",
    "carrierEstimatedDeliveryDate": "2022-11-10T11:35:54-05:00",
    "trackingEvents": []
}

Bulk search by carrier (carrierId and carrierTrackingId) default

This example shows the cURL request for bulk searching by carrier. By default, all tracking events will be visible.

curl --location --request POST 'https://api.shipium.com/api/v1/tracking/bulkCarrierTrackingSearch' \
--header 'Content-Type: application/json' \
--header $AUTHSTRING  \
--data-raw '{
    "trackingSearchRequests": [
    {
      "carrierId": "OnTrac",
      "carrierTrackingId": "d10013441676680"
    }
  ]
  "excludeEvents": false
}'

Example JSON response:

{
    "trackings": [
        {
            "shipiumTrackingId": "cbecd7cf-6f5e-4bf4-a3ce-75f08ba34579",
            "carrierId": "ontrac",
            "carrierTrackingId": "D10013441676680",
            "carrierServiceMethodId": "ontrac-ground-service-method",
            "shipmentStatus": "Delivered",
            "shippedDateTime": "2022-11-01T21:23:00Z",
            "deliveredAtDateTime": "2022-11-02T12:30:00-07:00",
            "carrierEstimatedDeliveryDate": "2022-11-01T17:00:00-07:00",
            "trackingEvents": [
                {
                    "carrierDescription": "Delivered - Consignment left",
                    "shipmentStatus": "Delivered",
                    "eventDate": "2022-11-02T19:30:00Z",
                    "postalCode": "94901",
                    "country": "US",
                    "city": "SAN RAFAEL",
                    "region": "CA"
                },
                {
                    "carrierDescription": "Out for delivery",
                    "shipmentStatus": "Out For Delivery",
                    "eventDate": "2022-11-02T15:14:00Z",
                    "postalCode": "94901",
                    "country": "US",
                    "city": "SAN RAFAEL",
                    "region": "CA"
                },
                {
                    "carrierDescription": "Package arrived at destination facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-02T12:44:00Z",
                    "postalCode": "94954",
                    "country": "US",
                    "city": "PETALUMA",
                    "region": "CA"
                },
                {
                    "carrierDescription": "Origination scan - Package scanned at facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-01T21:23:00Z",
                    "postalCode": "89506",
                    "country": "US",
                    "city": "Reno",
                    "region": "NV"
                },
                {
                    "carrierDescription": "Shipping label created; data received",
                    "shipmentStatus": "Label Printed",
                    "eventDate": "2022-11-01T17:16:00Z",
                    "postalCode": "89506",
                    "country": "US",
                    "city": "Reno",
                    "region": "NV"
                }
            ]
        }
    ]
}

Bulk search by carrier (carrierId and carrierTrackingId) events excluded

You have the option to exclude tracking events for bulk searching. This example shows the cURL request for bulk searching by carrier, including the option to exclude tracking events.

curl --location --request POST 'https://api.shipium.com/api/v1/tracking/bulkCarrierTrackingSearch' \
--header 'Content-Type: application/json' \
--header $AUTHSTRING  \
--data-raw '{
    "trackingSearchRequests": [
    {
      "carrierId": "OnTrac",
      "carrierTrackingId": "d10013441676680"
    }
  ],
  "excludeEvents": true
}'

Example JSON response:

{
    "trackings": [
        {
            "shipiumTrackingId": "cbecd7cf-6f5e-4bf4-a3ce-75f08ba34579",
            "carrierId": "ontrac",
            "carrierTrackingId": "D10013441676680",
            "carrierServiceMethodId": "ontrac-ground-service-method",
            "shipmentStatus": "Delivered",
            "shippedDateTime": "2022-11-01T21:23:00Z",
            "deliveredAtDateTime": "2022-11-02T12:30:00-07:00",
            "carrierEstimatedDeliveryDate": "2022-11-01T17:00:00-07:00",
            "trackingEvents": []
        }
    ]
}

Search by Shipium (shipiumTrackingId)

You can conduct a single or bulk search by Shipium using the Shipium tracking ID, as noted in the following table, which includes each applicable API call.

Search TypeShipium FieldAPI Call
SingleshipiumTrackingIdGET: api/v1/tracking/{shipiumTrackingId}
BulkshipiumTrackingIdPOST: api/v1/tracking/bulkTrackingSearch

Example cURL requests for search by Shipium (shipiumTrackingId)

This section includes example cURL requests and JSON responses for both single and bulk searches by Shipium.

Single search by Shipium (shipiumTrackingId) default

This example shows the cURL request for single searching by Shipium. By default, all tracking events will be visible.

curl --location --request GET 'https://api.shipium.com/api/v1/tracking/b3d5f0f7-a49b-475f-b70e-727c0cc5b530' \
--header $AUTHSTRING   

Example JSON response:

{
    "shipiumTrackingId": "b3d5f0f7-a49b-475f-b70e-727c0cc5b530",
    "carrierId": "ups",
    "carrierTrackingId": "1Z074E600396493771",
    "carrierServiceMethodId": "ups-ground-service-method",
    "shipmentStatus": "Delivered",
    "shippedDateTime": "2022-11-08T18:45:45Z",
    "deliveredAtDateTime": "2022-11-10T11:35:54-05:00",
    "carrierEstimatedDeliveryDate": "2022-11-10T11:35:54-05:00",
    "trackingEvents": [
        {
            "carrierDescription": "DELIVERED ",
            "shipmentStatus": "Delivered",
            "eventDate": "2022-11-10T16:35:54Z",
            "postalCode": null,
            "country": "US",
            "city": "SNELLVILLE",
            "region": "GA"
        },
        {
            "carrierDescription": "Out For Delivery Today",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-10T14:25:08Z",
            "postalCode": null,
            "country": "US",
            "city": "Doraville",
            "region": "GA"
        },
        {
            "carrierDescription": "Processing at UPS Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-10T12:53:55Z",
            "postalCode": null,
            "country": "US",
            "city": "Doraville",
            "region": "GA"
        },
        {
            "carrierDescription": "Arrived at Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-10T05:46:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Doraville",
            "region": "GA"
        },
        {
            "carrierDescription": "Departed from Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-10T04:54:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Atlanta",
            "region": "GA"
        },
        {
            "carrierDescription": "Arrived at Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T20:20:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Atlanta",
            "region": "GA"
        },
        {
            "carrierDescription": "Departed from Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T20:09:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Atlanta",
            "region": "GA"
        },
        {
            "carrierDescription": "Arrived at Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T17:23:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Atlanta",
            "region": "GA"
        },
        {
            "carrierDescription": "Departed from Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T13:49:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Knoxville",
            "region": "TN"
        },
        {
            "carrierDescription": "Arrived at Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T11:18:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Knoxville",
            "region": "TN"
        },
        {
            "carrierDescription": "Departed from Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T06:39:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Roanoke",
            "region": "VA"
        },
        {
            "carrierDescription": "Arrived at Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-09T05:10:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Roanoke",
            "region": "VA"
        },
        {
            "carrierDescription": "Departed from Facility",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-08T23:59:00Z",
            "postalCode": null,
            "country": "US",
            "city": "Middletown",
            "region": "PA"
        },
        {
            "carrierDescription": "Origin Scan",
            "shipmentStatus": "In Transit",
            "eventDate": "2022-11-08T18:45:45Z",
            "postalCode": null,
            "country": "US",
            "city": "Middletown",
            "region": "PA"
        },
        {
            "carrierDescription": "Shipper created a label, UPS has not received the package yet. ",
            "shipmentStatus": "Label Printed",
            "eventDate": "2022-11-01T00:00:08Z",
            "postalCode": null,
            "country": "US",
            "city": null,
            "region": null
        }
    ]
}

Single search by Shipium (shipiumTrackingId) events excluded

You have the option to exclude tracking events for single searching. This example shows the cURL request for single searching by Shipium, including the option to exclude tracking events.

curl --location --request GET 'https://api.shipium.com/api/v1/tracking/b3d5f0f7-a49b-475f-b70e-727c0cc5b530?excludeEvents=true' \
--header $AUTHSTRING

Example JSON response:

{
    "shipiumTrackingId": "b3d5f0f7-a49b-475f-b70e-727c0cc5b530",
    "carrierId": "ups",
    "carrierTrackingId": "1Z074E600396493771",
    "carrierServiceMethodId": "ups-ground-service-method",
    "shipmentStatus": "Delivered",
    "shippedDateTime": "2022-11-08T18:45:45Z",
    "deliveredAtDateTime": "2022-11-10T11:35:54-05:00",
    "carrierEstimatedDeliveryDate": "2022-11-10T11:35:54-05:00",
    "trackingEvents": []
}

Bulk search by Shipium (shipiumTrackingId) default

This example shows the cURL request for bulk searching by Shipium. By default, all tracking events will be visible.

curl --location --request POST 'https://api.shipium.com/api/v1/tracking/bulkTrackingSearch' \
--header 'Content-Type: application/json' \
--header $AUTHSTRING   \
--data-raw '{ 
    "shipiumTrackingIds": [
        "e528f7fa-c046-4689-b514-a13ed6da5e87"
    ]
}'

Example JSON response:

{
    "trackings": [
        {
            "shipiumTrackingId": "e528f7fa-c046-4689-b514-a13ed6da5e87",
            "carrierId": "ups",
            "carrierTrackingId": "1Z074E600395261166",
            "carrierServiceMethodId": "ups-ground-service-method",
            "shipmentStatus": "Delivered",
            "shippedDateTime": "2022-11-08T18:43:51Z",
            "deliveredAtDateTime": "2022-11-10T11:35:54-05:00",
            "carrierEstimatedDeliveryDate": "2022-11-10T11:35:54-05:00",
            "trackingEvents": [
                {
                    "carrierDescription": "DELIVERED ",
                    "shipmentStatus": "Delivered",
                    "eventDate": "2022-11-10T16:35:54Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "SNELLVILLE",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Out For Delivery Today",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-10T14:25:08Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Doraville",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Processing at UPS Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-10T12:54:03Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Doraville",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Arrived at Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-10T05:46:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Doraville",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Departed from Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-10T04:54:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Atlanta",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Arrived at Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T20:20:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Atlanta",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Departed from Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T20:09:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Atlanta",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Arrived at Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T17:23:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Atlanta",
                    "region": "GA"
                },
                {
                    "carrierDescription": "Departed from Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T13:49:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Knoxville",
                    "region": "TN"
                },
                {
                    "carrierDescription": "Arrived at Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T11:18:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Knoxville",
                    "region": "TN"
                },
                {
                    "carrierDescription": "Departed from Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T06:39:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Roanoke",
                    "region": "VA"
                },
                {
                    "carrierDescription": "Arrived at Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-09T05:10:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Roanoke",
                    "region": "VA"
                },
                {
                    "carrierDescription": "Departed from Facility",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-08T23:59:00Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Middletown",
                    "region": "PA"
                },
                {
                    "carrierDescription": "Origin Scan",
                    "shipmentStatus": "In Transit",
                    "eventDate": "2022-11-08T18:43:51Z",
                    "postalCode": null,
                    "country": "US",
                    "city": "Middletown",
                    "region": "PA"
                },
                {
                    "carrierDescription": "Shipper created a label, UPS has not received the package yet. ",
                    "shipmentStatus": "Label Printed",
                    "eventDate": "2022-11-01T00:00:07Z",
                    "postalCode": null,
                    "country": "US",
                    "city": null,
                    "region": null
                }
            ]
        }
    ]
}

Bulk search by Shipium (shipiumTrackingId) events excluded

You have the option to exclude tracking events for bulk searching. This example shows the cURL request for bulk searching by Shipium, including the option to exclude tracking events.

curl --location --request POST 'https://api.shipium.com/api/v1/tracking/bulkTrackingSearch' \
--header 'Content-Type: application/json' \
--header $AUTHSTRING   \
--data-raw '{ 
    "shipiumTrackingIds": [
        "e528f7fa-c046-4689-b514-a13ed6da5e87"
    ],
    "excludeEvents": true
}'

Example JSON response:

{
    "trackings": [
        {
            "shipiumTrackingId": "e528f7fa-c046-4689-b514-a13ed6da5e87",
            "carrierId": "ups",
            "carrierTrackingId": "1Z074E600395261166",
            "carrierServiceMethodId": "ups-ground-service-method",
            "shipmentStatus": "Delivered",
            "shippedDateTime": "2022-11-08T18:43:51Z",
            "deliveredAtDateTime": "2022-11-10T11:35:54-05:00",
            "carrierEstimatedDeliveryDate": "2022-11-10T11:35:54-05:00",
            "trackingEvents": []
        }
    ]

Timezone specifications

  • carrierEstimatedDeliveryDate uses the timezone zone offset of the delivery address.
  • deliveredAtDateTime uses the timezone zone offset of the delivery address.
  • eventDate uses Coordinated Universal Time (UTC) time.

Edge cases

If we're unable to find the delivery address or timezone of the delivery address

If we're unable to find the delivery address or timezone of the delivery address, the date/time returned is still implied at the delivery address zone.

The API defaults to UTC time ('Z') as the zone offset.

If you search for a tracking ID that we didn’t register

If you search for a tracking ID that we didn’t register (when calling the single GET endpoints), the API returns a 404 not found error message.

Example cURL request:

curl --request GET \
  --url '<<api_url>>/api/v1/tracking/carrier/ups/abc123' \
  --header 'accept: application/json' \
  --header $AUTHSTRING \
  --header 'content-type: application/json' 

Example JSON response for Status 404

{
   "timestamp": "2022-07-14T19:36:09.096+00:00",
   "status": 404,
   "error": "Not Found",
   "message": "404 NOT_FOUND",
   "path": "/api/v1/tracking/carrier/ups/abc123"
}

If you're searching for partner trackings

A partner can’t search other partner trackings using this API.

📘

More Information on the API Responses

As with all Shipium API responses, this API follows the API Response Codes standards unless otherwise specified.