Transportation Services Index and Air, Rail and Freight Indicators, Monthly (BTS)
btsdata/transportation-services-index
Monthly U.S. Transportation Services Index data from the Bureau of Transportation Statistics, one row per month from January 2000: the freight, passenger and total index, airline available seat miles, revenue passenger miles, load factor and enplanements, rail freight carloads and intermodal units, transit, petroleum, natural gas, waterborne, truck and vehicle-miles measures. You choose how many months to return (1 to 100), which end of the series to start from and where to begin. Values arrive as text exactly as the BTS publishes them. U.S. Bureau of Transportation Statistics data, served by Eden Engine; not an official BTS product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Bureau of Transportation Statistics
Source: US DOT Bureau of Transportation Statistics (courtesy credit; U.S. government work, no copyright under 17 USC 105). Served by Eden Engine; not an official BTS product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "btsdata/transportation-services-index" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "btsdata/transportation-services-index" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "btsdata/transportation-services-index", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "btsdata/transportation-services-index", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many monthly rows to return, 1 to 100. With no order, rows come back oldest first, starting at January 2000. Pair a small limit with order 'obs_date DESC' for the latest months."
},
"order": {
"enum": [
"obs_date DESC",
"obs_date ASC"
],
"type": "string",
"description": "Sort by observation month: 'obs_date DESC' puts the newest month first, 'obs_date ASC' the oldest first. Leave out for the dataset's stored order, which is oldest first."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Number of rows to skip before the first one returned, to page through the series. Leave out to start at the first row in the chosen order."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Row id, for example SATD200001 for January 2000."
},
"asm": {
"type": "string",
"description": "Airline available seat miles, as text."
},
"rpm": {
"type": "string",
"description": "Airline revenue passenger miles, as text."
},
"enplane": {
"type": "string",
"description": "Airline enplanements, as text."
},
"obs_date": {
"type": "string",
"description": "Observation month as a timestamp with no zone, always the first of the month at midnight, for example 2000-01-01T00:00:00.000."
},
"tsi_total": {
"type": "string",
"description": "Total Transportation Services Index, as text."
},
"load_factor": {
"type": "string",
"description": "Airline load factor, as text."
},
"tsi_freight": {
"type": "string",
"description": "Freight index, as text."
},
"tsi_passenger": {
"type": "string",
"description": "Passenger index, as text."
}
},
"additionalProperties": true
},
"description": "One object per month. Every value is a string. Some columns are absent from the earliest rows, so a missing key is not an error. An empty list means the offset was past the end of the series."
}
},
"description": "The monthly rows the BTS returned, in the order requested.",
"additionalProperties": true
}