---
title: "Get tracking results by tracking number"
method: POST
path: "/public/v1/tracking/search"
tags: ["➕ API for per-call plans"]
---

# Get tracking results by tracking number

`POST /public/v1/tracking/search`

This endpoint will return the `tracking` corresponding to the tracking number provided as a parameter. 

The `tracking` object is detailed in the [SCHEMAS](/schemas/tracking) section.

For better accuracy, we strongly advise to provide extra information such as the origin country, destination postcode & country, and the shipping date.

> 🛑 You need an active "Per-call" subscription to use this endpoint. Our standard "Per-shipment" product & plans remain the best choice as it offers more features, allow faster tracking information fetching with less dependency on courier's system availability at a lower cost overall.


> 🛑 As this endpoint is synchronously fetching tracking results from couriers, **response time may be up to 1 minute, and results depend on the courier's system availability** at the time of the call.

## Request body

- object
  - `trackingNumber` string — Tracking number of the shipment.
  - `originCountryCode` string, ISO 3166-1 alpha-2/alpha-3 — Sender country code - 📌 Recommended to improve tracking accuracy
  - `destinationCountryCode` string, ISO 3166-1 alpha-2/alpha-3 — Recipient country code - 📌 Recommended to improve tracking accuracy
  - `destinationPostCode` string — Recipient Post code (or ZIP code) - 📌 Recommended to improve tracking accuracy
  - `shippingDate` string, date-time — Date at which the shipment has been shipped - 📌 Recommended to improve tracking accuracy: providing the shipping date helps us accurately identify the shipment and improves our ability to retrieve the correct data. However, an inaccurate shipping date could cause our system to exclude the right shipment. Therefore, please ensure the provided shipping date aligns closely with the actual shipment date, give or take a few days. [Format](http://docs.ship24.com/data-format#logistics-date-and-time)
  - `courierCode` string — Code of the courier(s) handling the shipment (Up to 3 max) (see Couriers list section) - 📌 Recommended to improve tracking accuracy

## Response `201`

Created

- object
  - `data` object
    - `trackings` object[]
      - `shipment` Shipment
        - `shipmentId` string, nullable — Unique identifier of the parcel in Ship24 system.
        - `statusCode` string, nullable — [statusCode](https://docs.ship24.com/status/#statuscode-and-statuscategory) of the shipment.
        - `statusCategory` string, nullable — [statusCategory](https://docs.ship24.com/status/#statuscode-and-statuscategory) of the shipment.
        - `statusMilestone` string — [statusMilestone](https:docs.ship24.com/status/#statusmilestone) of the shipment.
        - `originCountryCode` string, nullable — Detected country code of origin.
        - `destinationCountryCode` string, nullable — Detected country code of destination.
        - `delivery` object
          - `estimatedDeliveryDate` string, date-time, nullable — Estimated delivery date of the shipment, if provided by the courier. Format: [Date and Time in UTC](http://docs.ship24.com/data-format#logistics-date-and-time)
          - `service` string, nullable — Name of logistics service or product for the shipment.
          - `signedBy` string, nullable — Name of the person who signed for the shipment.
        - `trackingNumbers` object[] — List of tracking numbers linked to the shipment.
          - `tn` string — Tracking number.
        - `recipient` object, nullable — Information on the recipient.
          - `name` string, nullable
          - `address` string, nullable
          - `postCode` string, nullable
          - `city` string, nullable
          - `subdivision` string, nullable
      - `events` Event[]
        - `eventId` string — Unique identifier of the event in Ship24 system.
        - `trackingNumber` string — The original tracking number used to create the Tracker.
        - `eventTrackingNumber` string — The tracking number associated with the event, on which the event has been found.
        - `status` string, nullable — Event raw text.
        - `occurrenceDatetime` string, logistic-date-time — [Date and time](http://docs.ship24.com/data-format#logistics-date-and-time) at which the event occurred.
        - `order` integer, nullable — Indicate the order of the events in case the occurrenceDatetime is the same between multiple events (lower is older).
        - `location` string, nullable — Location raw text of the event.
        - `sourceCode` string, nullable — Internal code of the source used to get this event. Please note that those codes may evolve at any point in time.
        - `courierCode` string, nullable — Code of the courier linked to this event, refers to our Couriers list. Please note that those codes may evolve at any point in time.
        - `statusCode` string, nullable — [statusCode](https://docs.ship24.com/status/#statuscode-and-statuscategory) of the event.
        - `statusCategory` string, nullable — [statusCategory](https://docs.ship24.com/status/#statuscode-and-statuscategory) of the event.
        - `statusMilestone` string — [statusMilestone](https://docs.ship24.com/status/#statusmilestone) of the shipment at the time of the event.
        - `datetime` string
        - `utcOffset` string
        - `hasNoTime` boolean
      - `statistics` Statistics
        - `timestamps` object — Date and time of the occurrence of each milestone of the shipment. [Date and time Format](https://docs.ship24.com/data-format#logistics-date-and-time) [List of Milestones](https://docs.ship24.com/status/#statusmilestone)
          - `infoReceivedDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `info_received` [milestone](https://docs.ship24.com/status/#statusmilestone).
          - `inTransitDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `in_transit` [milestone](https://docs.ship24.com/status/#statusmilestone).
          - `outForDeliveryDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `out_for_delivery` [milestone](https://docs.ship24.com/status/#statusmilestone).
          - `failedAttemptDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `failed_attempt` [milestone](https://docs.ship24.com/status/#statusmilestone).
          - `availableForPickupDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `available_for_pickup` [milestone](https://docs.ship24.com/status/#statusmilestone).
          - `exceptionDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `exception` [milestone](https://docs.ship24.com/status/#statusmilestone).
          - `deliveredDatetime` string, logistic-date-time, nullable — Occurrence [date and time](https://docs.ship24.com/data-format#logistics-date-and-time) of the first `delivered` [milestone](https://docs.ship24.com/status/#statusmilestone).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized - No valid API key provided.
- `403` — Forbidden - The API key provided does not have permissions to perform the request.
- `429` — Rate limit exceeded. The client has sent too many requests in a given amount of time.

---

[API](https://skmtc.net/botbrains-io/apis/ship24-tracking-api.md) · [All operations](https://skmtc.net/botbrains-io/apis/ship24-tracking-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/botbrains-io/ship24-tracking-api/revisions/9d68f8b1d086/schema)
