Courier performance report

A report on the quality of couriers' work provides data on order completion over a certain period of time. You can use it to review time window precision, detect delivery sequence violations, and assess other courier performance parameters.

You can get a report:

Please note that the time zones of depots, logistics coordinators, couriers, and clients may be different. To account for this difference, use the timezone field returned in the API response for each object when analyzing time parameters. The time zone is specified in the tz database format, for example Europe/Berlin (for more information, see the List of time zones). By default, the object's time zone is calculated based on its coordinates.

Full report

Send a GET request to the courier-quality resource. In the request, specify the date or route_id.

Warning

The date and route_id parameters are mutually exclusive. Specify only one of them.

You may also specify the following parameters:

  • depot_id: The ID of the depot from which the route starts.
  • types: The list of point types for the report. Available types: order, depot, garage. The default is order.
  • with_deleted_couriers: Include removed couriers in the report. The default is false.

Request

cURL

curl -H "Authorization: OAuth <your-token>" \
     -X GET https://courier.yandex.ru/api/v1/companies/<your-company-id>/courier-quality?date=2026-06-01

Result

The method returns an array of objects. Each object corresponds to a route point and contains fields depending on the point type.

Response example for an order point:

[
  {
    "type": "order",
    "courier_name": "Ivan Ivanov",
    "courier_number": "12345",
    "order_number": "ABC-123",
    "order_address": "ul. Lenina, 10",
    "route_number": "R-67890",
    "route_date": "2026-06-01",
    "arrived_at": "2026-06-01T10:10:00+03:00",
    "left_at": "2026-06-01T10:20:00+03:00",
    "order_visited_at": "2026-06-01T10:15:00+03:00",
    "order_completed_at": "2026-06-01T10:15:00+03:00",
    "time_interval_error": 900.0,
    "segment_distance_m": 1500.0,
    "far_from_point": false,
    "no_call_before_delivery": false,
    "late_call_before_delivery": false,
    "delivery_not_in_interval": true,
    "not_in_order": false,
    "suggested_order_number": 1
  }
]

Paginated report

Send a GET request to the courier-quality resource. In the request, specify the date or route_id.

Warning

The date and route_id parameters are mutually exclusive. Specify only one of them.

You may also specify the following parameters:

  • depot_id: The ID of the depot from which the route starts.
  • types: The list of point types for the report. Available types: order, depot, garage. The default is order.
  • with_deleted_couriers: Include removed couriers in the report. The default is false.
  • max_results: Maximum number of objects to be returned. The default value is 100.
  • page_token: The page token. For subsequent requests, specify the next_page_token value from the previous response body.

Request

cURL

curl -H "Authorization: OAuth <your-token>" \
     -X GET https://courier.yandex.ru/api/v2/companies/<your-company-id>/courier-quality?date=2026-06-01&max_results=100

Result

The method returns an object with a results field (an array of route point objects) and, if there is a next page, a next_page_token field.

{
  "results": [
    {
      "type": "order",
      "courier_name": "Ivan Ivanov",
      "courier_number": "12345",
      "order_number": "ABC-123",
      "order_address": "ul. Lenina, 10",
      "route_number": "R-67890",
      "route_date": "2026-06-01",
      "arrived_at": "2026-06-01T10:10:00+03:00",
      "left_at": "2026-06-01T10:20:00+03:00",
      "order_visited_at": "2026-06-01T10:15:00+03:00",
      "order_completed_at": "2026-06-01T10:15:00+03:00",
      "time_interval_error": 900.0,
      "segment_distance_m": 1500.0,
      "far_from_point": false,
      "no_call_before_delivery": false,
      "late_call_before_delivery": false,
      "delivery_not_in_interval": true,
      "not_in_order": false,
      "suggested_order_number": 1
    }
  ],
  "next_page_token": "eyJvZmZzZXQiOiIxMDAifQ=="
}
Contact support