latestSwagger 2.02026-08-1274120326.8 KB

3a995f316cda

Intermodal V2

Intermodal Rates

This endpoint allows permissioned users to get our SONAR intermodal (rail) rates for KMA-to-KMA lanes. Our rate data is being updated weekly and OD pairs can be defined with KMA airport codes, Zip3 or Zip5 for USA, or Canadian postal codes for CAN, supporting any combination.

A comprehensive list of KMAs, their airport codes, and the zip3’s associated with those KMA’s can be found by calling the KMA Reference List endpoint located under the “Lookup” menu. Additionally, the Zip3 Specific endpoint (also located under the Lookup tab), will return the airport code associated with a zip3 under the “qualifier” header (along with the reference city and state).

You can click on the Body Sample to the right to populate the example in the test body below.

For more information about getting access to this endpoint or using this endpoint, please reach out to our Customer Success team (cs@gosonar.com).

This endpoint handles the following input fields:

  • start_date: the earliest date of the range over which the rate is being requested (YYYY-MM-DD), required
  • end_date: the most recent date of the range over which the rate is being requested (YYYY-MM-DD), required
  • lane_id: a unique identifier set by the client and will be returned with the response; optional field, not required
  • origin: the 3 character KMA airport code, Zip3 or Zip5 for USA, 3 or 6 character postal code for CAN, of the origin, required
  • origin_country_code: country code for the origin; at this time only lanes within the contiguous US markets and Canada are available, must be ‘USA’ or ‘CAN’, required
  • destination: the 3 character KMA airport code, Zip3 or Zip5 for USA, 3 or 6 character postal code for CAN, of the destination, required
  • destination_country_code: country code for the destination; at this time only lanes within the contiguous US markets and Canada are available, must be ‘USA’ or ‘CAN’, required

Here are the output fields returned in a successful call:

  • Lanes: A list object that contains the output information associated with the valid requested lanes
    • lane_id: the unique identifier sent in the corresponding call
    • miles: the lane distance reflected in the underlying rate data
    • origin: the Zip3/Zip5 or 3 character airport code for the lane origin, as provided in the request
    • origin_market: the 3 character airport code for the origin Key Market Area (KMA)
    • origin_country_code: the 3 character country code the for origin, 'USA' or 'CAN'
    • destination: the Zip3/Zip5 or 3 character airport code for the lane destination, as provided in the request
    • destination_market: the 3 character airport code for the destination Key Market Area (KMA)
    • destination_country_code: the 3 character country code the for destination, 'USA' or 'CAN'
    • data_timestamp: the date for which the data in the response was calculated (ie: the date to which the rates in the response were applicable)
    • request_date: the date the request was made
    • rpm: the median rate-per-mile
    • rpm_high: the high-end (67th percentile) rate-per-mile that corresponds to the origin, destination and data_timestamp provided in the API call by the client
    • rpm_low: the low-end (33rd percentile) rate-per-mile that corresponds to the origin, destination and data_timestamp provided in the API call by the client
    • rate: the median rate that corresponds to the origin, destination and data_timestamp provided in the API call by the client
    • rate_high: the high-end (67th percentile) rate that corresponds to the origin, destination and data_timestamp provided in the API call by the client
    • rate_low: the low-end (33rd percentile) rate that corresponds to the origin, destination and data_timestamp provided in the API call by the client
    • confidence_score: ranges from 1 to 5 with 1 indicating the lowest confidence level and 5 the highest. It is based on how similar the analyzed load set is to the specified time and origin/destination parameters
    • origin_radius_expansion: the number of miles away from the edge of the origin KMA we had to expand in order to gather the requisite data to produce the rate. Origin and destination expansion occurs at the same rate
    • destination_radius_expansion: the number of miles away from the edge of the destination KMA we had to expand in order to gather the requisite data to produce the rate. Origin and destination expansion occurs at the same rate
    • timeframe_expansion: the median lookback period, in days, used to gather the data that produced the rate
    • total_load_count: the total number of loads aggregated to calculate the rate; is not weighted
  • Errors: a list object that contains information on lanes that are not valid for the rate request
    • original_lane: the lane object exactly as provided in the request (lane_id, origin, origin_country_code, destination, destination_country_code)
    • error_found: a lane specific explanation of the issue with the lane information that caused an error

The response returns HTTP 200 when every requested lane returns data, HTTP 206 (Partial Content) when some lanes return data and others error, and HTTP 204 (No Content) when no lanes and no errors are produced.

post/v2/intermodal/rates

Headers

x-api-versionstring

Request body

start_datestring date-time required
end_datestring date-time required

Example request

{
  "start_date": "2026-01-01",
  "end_date": "2026-02-01",
  "lanes": [
    {
      "lane_id": "ATL-DAL",
      "origin": "ATL",
      "origin_country_code": "USA",
      "destination": "DAL",
      "destination_country_code": "USA"
    }
  ]
}

Response

OK

Example response

{
  "lanes": [
    {
      "lane_id": "ATL-MOB",
      "miles": 320,
      "origin": "ATL",
      "origin_market": "ATL",
      "origin_country_code": "USA",
      "destination": "MOB",
      "destination_market": "MOB",
      "destination_country_code": "USA",
      "data_timestamp": "2026-01-01",
      "request_date": "2026-01-02",
      "rpm": 3.47,
      "rpm_high": 3.64,
      "rpm_low": 3.27,
      "rate": 1111.85,
      "rate_high": 1164.27,
      "rate_low": 1047.79,
      "confidence_score": 5,
      "origin_radius_expansion": 7,
      "destination_radius_expansion": 9,
      "timeframe_expansion": 90,
      "total_load_count": 133
    }
  ],
  "errors": [
    {
      "original_lane": {
        "lane_id": "ATL-DAL",
        "origin": "ATL",
        "origin_country_code": "USA",
        "destination": "DAL",
        "destination_country_code": "USA"
      }
    }
  ]
}