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

# Freight Index

> Look up monthly US freight volume and its seasonally adjusted mode components.

Returns the Freight Transportation Services Index of the US Bureau of Transportation Statistics by month, newest first, with seasonally adjusted truck, rail, air, water and pipeline components. It measures volume, not prices, with 2000 = 100. The series refreshes monthly about six weeks after the month, and recent months are revised.

## Authentication

Requires x402 payment in the `payment-signature` header.

## Request Body

**months** `integer`

Maximum number of most recent months with a freight index, 1 to 60. From 1 to 60. Defaults to `12`.

**start\_month** `string`

Include months from YYYY-MM onward; cannot be later than the current UTC month. YYYY-MM.

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

**data.request\_id** `string`

Durable job ID for audit and lookup

**data.status** `string`

Job status: `completed`

**data.tool** `string`

Always `market_freight_index`

**data.result** `object`

The answer, described under Result below

**data.evidence** `object`

Where the answer came from and when

**data.evidence.source** `string`

The public body the data comes from. Always `US Bureau of Transportation Statistics`.

**data.evidence.source\_kind** `string`

`public` when the data comes from a public body, `commercial` otherwise

**data.evidence.retrieved\_at** `string`

When the lookup was made, as an ISO 8601 UTC time

**data.evidence.as\_of** `string`

When the source says the fact was last updated, or `null` when the source gives no date

## Result

Nested under `data.result`.

**data.result.months** `object[]`

Most recent months with a freight index, newest first.

**data.result.months\[].month** `string`

Observation month, YYYY-MM.

**data.result.months\[].freight\_index** `number`

Seasonally adjusted Freight Transportation Services Index, average 2000 = 100.

**data.result.months\[].freight\_index\_change\_pct** `number`

Percent change in the freight index from the previous month.

**data.result.months\[].truck\_tonnage\_index** `number`

Seasonally adjusted truck tonnage index, 2015 = 100. `null` when the source gives no value.

**data.result.months\[].rail\_carloads** `number`

Seasonally adjusted rail freight carloads, number of carloads. `null` when the source gives no value.

**data.result.months\[].rail\_intermodal\_units** `number`

Seasonally adjusted rail intermodal traffic, number of containers and trailers. `null` when the source gives no value.

**data.result.months\[].air\_freight\_ton\_miles** `number`

Seasonally adjusted air revenue freight and mail, ton miles as reported by BTS. `null` when the source gives no value.

**data.result.months\[].waterborne\_tons\_millions** `number`

Seasonally adjusted internal US waterway tonnage, millions of short tons. `null` when the source gives no value.

**data.result.months\[].pipeline\_petroleum** `number`

Seasonally adjusted petroleum pipeline movement, thousands of barrels. `null` when the source gives no value.

**data.result.months\[].pipeline\_natural\_gas** `number`

Seasonally adjusted natural gas consumption, billion cubic feet. `null` when the source gives no value.

```bash cURL theme={null}
curl -X POST https://win.oneshotagent.com/v1/tools/lookup/market-freight-index \
  -H "Content-Type: application/json" \
  -H "payment-signature: <base64 x402 payment>" \
  -d '{
    "months": 1
  }'
```

```javascript JavaScript theme={null}
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/market-freight-index", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "payment-signature": paymentProof,
  },
  body: JSON.stringify({
    "months": 1
  }),
});
```

```typescript SDK theme={null}
const result = await agent.tool('lookup/market-freight-index', {
  months: 1
});
console.log(result.result);
console.log(result.evidence);
```

```json Response (200) theme={null}
{
  "success": true,
  "data": {
    "request_id": "uuid",
    "receipt_id": "rcpt_...",
    "status": "completed",
    "tool": "market_freight_index",
    "result": {
      "months": [
        {
          "month": "2026-08",
          "freight_index": 134.4,
          "freight_index_change_pct": -0.4,
          "truck_tonnage_index": 112.8,
          "rail_carloads": 990805,
          "rail_intermodal_units": 1244306,
          "air_freight_ton_miles": null,
          "waterborne_tons_millions": 30,
          "pipeline_petroleum": null,
          "pipeline_natural_gas": 2854.7
        }
      ]
    },
    "evidence": {
      "source": "US Bureau of Transportation Statistics",
      "source_kind": "public",
      "retrieved_at": "2026-10-24T00:00:00.000Z",
      "calls": [
        {
          "retrieved_at": "2026-10-24T00:00:00.000Z"
        }
      ],
      "as_of": "2026-08-01"
    }
  }
}
```

> [!NOTE]
>
> See [Pricing](https://docs.oneshotagent.com/pricing.md) for this tool's price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers `200`.

## Notes

* `start_month` returns the months from that month onward.
* Missing modes are null. Each row carries its observation month.
* No matching months returns an empty list.
* Results return inline. The finished job stays available at `/v1/requests/{request_id}`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.