---
title: "List carrier slugs accepted by carrier_hint"
method: GET
path: "/tracking-carriers"
tags: ["Tracking"]
---

# List carrier slugs accepted by carrier_hint

`GET /tracking-carriers`

## Request

- Base URL: `https://parcelsapp.com/api-docs/mock/v4`
- URL: `https://parcelsapp.com/api-docs/mock/v4/tracking-carriers`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/parcelsapp/apis/parcels-api-v4/docs/tracking-carriers/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the versioned catalog of runtime carrier slugs that can be selected explicitly with `shipments[].carrier_hint` in `POST /trackings`. Verified carrier input rules appear as `input_requirements`: `required` fields are needed for every lookup, `any_of` means provide at least one listed field in addition to required fields, and `conditional` fields may be requested for some shipments. For SEUR, send destination `postal_code` plus the recipient `email` or `phone` registered with SEUR. These names are exact paths in a `POST /trackings` shipment item, such as `postal_code` or `additional_fields.house_number`. A pair of conditional fields may need to be supplied together for a particular lookup, such as Dole container tracking with vessel and voyage. When `input_requirements` is absent, no complete input rule has been published for that carrier; do not infer that it never needs additional fields. Tracking results and webhooks omit interactive required-field prompt events. This catalog is independent of delivery-estimate transport modes: a carrier can be available here without being eligible for `POST /delivery-estimates`. Results are localized, searchable, and cursor-paginated.

## Query parameters

- `query` string
- `language` 'en' | 'ru'
- `cursor` string
- `limit` integer

## Response `200`

A page of manually selectable tracking carriers.

- TrackingCarrierCatalogResponse
  - `query` string, required
  - `language` 'en' | 'ru', required
  - `carriers` TrackingCarrier[], required
    - `slug` string, required: Canonical runtime slug accepted by `shipments[].carrier_hint`.
    - `name` string, required: Localized carrier display name.
    - `input_requirements` TrackingInputRequirements: Published input rule for a carrier. Absent when a complete rule has not been verified; absence does not promise that no recipient fields are needed. Required fields must be supplied together with at least one any_of field when both lists are present.
      - `required` TrackingInputFieldName[]: Fields to provide for every lookup.
      - `any_of` TrackingInputFieldName[]: Provide at least one of these fields in addition to required fields.
      - `conditional` TrackingInputFieldName[]: The carrier may require these fields for some shipments. Check the carrier-specific instructions for fields that must be supplied together.
  - `total_matches` integer, required
  - `next_cursor` string, nullable, required: Opaque cursor for the next page, or null on the final page.
  - `has_more` boolean, required
  - `catalog_version` string, required: Content-derived version of the complete selectable tracking-carrier catalog.

## Other responses

- `304`: Catalog page has not changed for the supplied If-None-Match value.
- `400`: Cursor is malformed, stale, or belongs to another catalog version.
- `401`: Missing or invalid API key.
- `402`: Subscription is inactive.
- `403`: Account or subscription cannot use the endpoint.
- `429`: Too many requests.

## Changes

- **2026-11-06** `dd6315a8bc4e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/parcelsapp/apis/parcels-api-v4/changes/tracking-carriers/get.md)

---

[API](https://skmtc.dev/parcelsapp/apis/parcels-api-v4.md) - [All operations](https://skmtc.dev/parcelsapp/apis/parcels-api-v4/llms.txt) - [OpenAPI document](https://skmtc.dev/parcelsapp/apis/parcels-api-v4/revisions/dd6315a8bc4e?raw)
