> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goshippo.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Shippo is a multi-carrier shipping API. For agent integrations that execute shipping operations (rates, labels, tracking, address validation, customs), connect the hosted Shippo MCP server at https://mcp.shippo.com (per-user OAuth; setup at /guides/mcp-server). To search and read this documentation from an agent, a docs search MCP is available at https://docs.goshippo.com/mcp. Shipping workflow knowledge (agent skills and a knowledge pack) is published at https://github.com/goshippo/ai. For REST integrations start at /guides/api-quickstart; test mode uses shippo_test_ API keys.

# Tracking report

> Export the current tracking status and delivery milestones of labels purchased through Shippo with the tracking.v1 report type.

The `tracking.v1` report type exports the current tracking status of labels purchased through Shippo. Each row is one tracking number on one label. The row also contains the carrier status, the delivery milestones, and the shipment context of the label.

Call `GET /v2/reporting/reports/tracking.v1` to list all columns, the default set, and the available date range. See [Discover available reports](https://docs.goshippo.com/reporting-api/discover-reports.md).

## Included labels

* Labels purchased through Shippo with a `transaction_status` of `SUCCESS`, `REFUNDPENDING`, `REFUNDREJECTED`, or `REFUNDED`.
* Tracking numbers you registered with `POST /tracks` for labels purchased outside of Shippo are not included.

## Date interval

The `interval` selects labels by `transaction_created_at`. A label stays in the same interval even as its tracking status changes.

Each row shows the latest tracking status at the time the run is processed. To get newer statuses, create a new run for the same interval.

`tracking_status` uses the same values as the Tracking API. See [Event definitions](https://docs.goshippo.com/tracking/tracking.md#event-definitions).

Reporting API data is refreshed periodically throughout the day, so recent tracking events may not appear immediately.

## Row key

A label can have more than one tracking number, so `transaction_object_id` alone does not identify a row. Each row is unique by `transaction_object_id`, `carrier`, `tracking_number`, and `tracking_registered_at`.

Milestone columns, such as `first_delivered_at` and `transit_time_hours`, are empty until the carrier reports that event.

## Example

```shell title="cURL" theme={null}
curl https://api.goshippo.com/v2/reporting/runs \
  -H "Authorization: ShippoToken <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "report_type": "tracking.v1",
    "interval": { "start": 1761955200, "end": 1764547200 },
    "columns": ["transaction_object_id", "tracking_number", "carrier", "tracking_status", "first_delivered_at"],
    "output_format": "csv_gzip"
  }'
```

This run covers labels created in November 2025 (UTC).

You get `201 Created` with `status: QUEUED`.

## Next steps

* [Create and poll a run](https://docs.goshippo.com/reporting-api/create-and-poll.md): poll until the run is terminal
* [Download report files](https://docs.goshippo.com/reporting-api/download-artifacts.md): get the file from `result.download.url`
* [Errors and run failures](https://docs.goshippo.com/reporting-api/errors.md): handle error responses


## Related topics

- [Reporting API overview](https://docs.goshippo.com/reporting-api/overview.md)
- [Shippo API release notes](https://docs.goshippo.com/api-concepts/api-change-log.md)
- [Tracking](https://docs.goshippo.com/tracking/tracking.md)
