---
title: "Search for carrier performance"
method: POST
path: "/api/v4/tl/connected-capacity/carriers/search"
tags: ["TL: Connected Capacity"]
---

# Search for carrier performance

`POST /api/v4/tl/connected-capacity/carriers/search`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/tl/connected-capacity/carriers/search`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/tl/connected-capacity/carriers/search/post.ts> (a function with typed inputs; its response is checked against the schema)

Returns tracking statistics for carriers across all lanes served by that carrier

## Request body

- CarrierPerformanceQuery
  - `carrierIdentifier` ConnectedCarrierIdentifier: A capacity provider identifier object.
    - `type` 'SCAC' | 'DOT_NUMBER' | 'MC_NUMBER' | 'P44_EU' | 'P44_GLOBAL' | 'VAT_NUMBER': ${CapacityProviderIdentifier.apiModel.type.value}
    - `value` string: ${CapacityProviderIdentifier.apiModel.value.value}
  - `minimumDeliveryScheduleReliability` integer: Return only results where the percentage of tracked shipments in the past 365 days that were delivered within 2 hours of the scheduled time is above the given value
  - `minimumPickupScheduleReliability` integer: Return only results where the percentage of tracked shipments in the past 365 days that were picked up within 2 hours of the scheduled time is above the given value
  - `minimumTrackingPercentage` integer: Return only results where the percentage of tracked shipments in the past 365 days which received at least one tracking update is above the given value
  - `minimumVolume` 'VOLUME_0_TO_10_SHIPMENTS' | 'VOLUME_11_TO_50_SHIPMENTS' | 'VOLUME_51_TO_100_SHIPMENTS' | 'VOLUME_101_OR_MORE_SHIPMENTS': Return only results where the number of shipments tracked in the past 365 days is above the given value
  - `sortBy` 'SHIPMENT_VOLUME' | 'RECENT_SHIPMENT_VOLUME' | 'DELIVERY_SCHEDULE_RELIABILITY' | 'PICKUP_SCHEDULE_RELIABILITY' | 'PERCENT_TRACKED' | 'RECENT_PERCENT_TRACKED': Use the following metric to sort results. Defaults to <code>SHIPMENT_VOLUME</code>
  - `sortDirection` 'ASC' | 'DESC': Sort results by ascending or descending values of the selected metric. Defaults to <code>DESC</code> (descending).

## Response `200`

OK

- CarrierPerformanceCollection
  - `carrierPerformances` CarrierPerformance[]: List of responses
    - `carrier` ConnectedCarrierContact
      - `address` Address: A postal address.
        - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
        - `city` string: Name of city, town, etc.
        - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
        - `postalCode` string: The ZIP or postal code.
        - `state` string: Abbreviation of state, province, district, etc.
      - `contact` Contact: Contact information.
        - `companyName` string: Company name.
        - `contactName` string: Contact name. May be required for shipments.
        - `email` string: Email address. May be required for shipments.
        - `faxNumber` string: Fax number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
        - `faxNumberCountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
        - `phoneNumber` string: Phone number. May be required for shipments. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
        - `phoneNumber2` string: Alternate phone number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
        - `phoneNumber2CountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
        - `phoneNumberCountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
      - `identifiers` ConnectedCarrierIdentifier[]: Codes used to identify carrier
        - `type` 'SCAC' | 'DOT_NUMBER' | 'MC_NUMBER' | 'P44_EU' | 'P44_GLOBAL' | 'VAT_NUMBER': ${CapacityProviderIdentifier.apiModel.type.value}
        - `value` string: ${CapacityProviderIdentifier.apiModel.value.value}
      - `name` string: Name of carrier
    - `last30DaysDeliveryScheduleReliability` integer: Percentage of tracked shipments in the past 30 days that were delivered within 2 hours of the scheduled time
    - `last30DaysPercentTracked` integer: Percentage of shipments in the past 30 days where tracking was initiated which received at least one tracking update
    - `last30DaysPickupScheduleReliability` integer: Percentage of tracked shipments in the past 30 days that were picked up within 2 hours of the scheduled time
    - `last30DaysShipmentVolume` 'VOLUME_0_TO_10_SHIPMENTS' | 'VOLUME_11_TO_50_SHIPMENTS' | 'VOLUME_51_TO_100_SHIPMENTS' | 'VOLUME_101_OR_MORE_SHIPMENTS': Number of shipments tracked in the past 30 days
    - `last365DaysDeliveryScheduleReliability` integer: Percentage of tracked shipments in the past 365 days that were delivered within 2 hours of the scheduled time
    - `last365DaysPercentTracked` integer: Percentage of shipments in the past 365 days where tracking was initiated which received at least one tracking update
    - `last365DaysPickupScheduleReliability` integer: Percentage of tracked shipments in the past 365 days that were picked up within 2 hours of the scheduled time
    - `last365DaysShipmentVolume` 'VOLUME_0_TO_10_SHIPMENTS' | 'VOLUME_11_TO_50_SHIPMENTS' | 'VOLUME_51_TO_100_SHIPMENTS' | 'VOLUME_101_OR_MORE_SHIPMENTS': Number of shipments tracked in the past 365 days
    - `performanceByMonth` MonthlyCarrierPerformance[]: Average monthly performance for the past 12 months
      - `deliveryScheduleReliability` integer: Percentage of tracked shipments in the month that were delivered within 2 hours of the scheduled time
      - `month` integer: The month (1-12) the enclosed performance data was collected
      - `percentTracked` integer: Percentage of shipments in the month where tracking was initiated which received at least one tracking update
      - `pickupScheduleReliability` integer: Percentage of tracked shipments in the month that were picked up within 2 hours of the scheduled time
      - `shipmentVolume` 'VOLUME_0_TO_10_SHIPMENTS' | 'VOLUME_11_TO_50_SHIPMENTS' | 'VOLUME_51_TO_100_SHIPMENTS' | 'VOLUME_101_OR_MORE_SHIPMENTS': Number of shipments tracked in the month
      - `year` integer: The year of the month the performance data was collected

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
