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.
You can call Shipium for tracking details for 60 days from the first carrier tracking event. However, there are a few carrier exceptions where shipment tracking details are not available for the full 60 days.
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
andshipiumTrackingId
arrays, you can provide up to 100 tracking requests at a time, but no more than 100.
Useful resources
See:
- Important usage notes for timezone specifications
- The list of canonical carrier ID values, with carrier service method ID values
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.
Shipments using multiple carriers
For a shipment that uses multiple carriers, Shipium retrieves all tracking events as if they were associated with the initial carrier regardless of multiple tracking IDs across various carriers.
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 Type | Single Default (All Events Included) | Single with Tracking Events Excluded | Bulk Default (All Events Included) | Bulk with Tracking Events Excluded |
---|---|---|---|---|
Carrier | Single search by carrier - default | Single search by carrier - events excluded | Bulk search by carrier - default | Bulk search by carrier - events excluded |
Shipium | Single search by Shipium - default | Single search by Shipium - events excluded | Bulk search by Shipium - default | Bulk search by Shipium - events excluded |
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 Type | Carrier Fields | API Call |
---|---|---|
Single | carrierId and carrierTrackingId | GET: api/v1/tracking/carrier/{carrierId}/{carrierTrackingId} |
Bulk | carrierId and carrierTrackingId | POST: 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 Type | Shipium Field | API Call |
---|---|---|
Single | shipiumTrackingId | GET: api/v1/tracking/{shipiumTrackingId} |
Bulk | shipiumTrackingId | POST: 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.
Updated 10 days ago