Next free-source hunt
We check for new free data every weekday.
Datasets / Transport & Shipping
data.bts.gov/

BTS Transportation Services Index

Freeauth: noneCustom#transport-shipping#historical-data#time-series#macro-economic#flows✓ verified Nov 1, 2026

BTS Transportation Services Index

The Bureau of Transportation Statistics publishes a monthly U.S. Transportation Services Index plus seasonally adjusted modal inputs through a keyless JSON and CSV API. Fields include freight, passenger and combined indexes alongside air capacity and traffic, rail carloads, intermodal units and passenger-miles, transit trips, pipeline volumes, waterborne tonnage, truck tonnage and vehicle-miles.

Coverage

The checked table has 320 monthly U.S. observations from January 2000 through August 2026. It uses the 2000 annual average as the index base and covers for-hire freight and passenger transportation using available modal series.

Verdict

The freight, passenger and combined indexes provide a compact U.S. transport-output signal that can be compared with activity and inventory indicators. The component columns also let an agent separate rail, air, road, transit, pipeline and waterborne movement. This is a monthly national aggregate, not a route-level disruption feed, and the latest observation lagged verification by two months. Modal inputs use different units and the composite indexes are weighted measures, so do not sum raw columns or treat index levels as physical volume.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load BTS transport indexes and rail inputs into Parquet. Checked against the provider's documentation on Nov 1, 2026.

Raw skill file (/skills/bts-transportation-services-index.md)Also in our MCP server: call get_ingestion_skill with {"slug": "bts-transportation-services-index"}.

Access

  • No account or key. The DOT data portal exposes JSON and CSV endpoints.
  • The example selects the three headline indexes and seasonally adjusted rail inputs.

Request

bash
curl 'https://data.bts.gov/resource/bw6n-ddqk.json?$select=obs_date,tsi_freight,tsi_passenger,tsi_total,rail_frt_carloads_d11,rail_frt_intermodal_d11,rail_pm_d11&$order=obs_date&$limit=5000'

Format

JSON rows keyed by monthly observation date. Selected numeric fields are freight, passenger and total TSI plus seasonally adjusted rail freight carloads, intermodal traffic and passenger-miles.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""BTS Transportation Services Index -> pandas -> Parquet. No key."""
import requests
import pandas as pd

URL = "https://data.bts.gov/resource/bw6n-ddqk.json"
params = {
    "$select": "obs_date,tsi_freight,tsi_passenger,tsi_total,rail_frt_carloads_d11,rail_frt_intermodal_d11,rail_pm_d11",
    "$order": "obs_date",
    "$limit": 5000,
}
r = requests.get(URL, params=params, timeout=60)
r.raise_for_status()
df = pd.DataFrame(r.json())
df["obs_date"] = pd.to_datetime(df["obs_date"], utc=True)
for column in df.columns.drop("obs_date"):
    df[column] = pd.to_numeric(df[column], errors="coerce")
df.to_parquet("bts_transportation_services_index.parquet", index=False)
print(len(df), "monthly observations", df["obs_date"].min().date(), "to", df["obs_date"].max().date(),
      "latest freight TSI", df.iloc[-1]["tsi_freight"])

Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 320 monthly observations 2000-01-01 to 2026-08-01 latest freight TSI 134.4

Limits

  • Rate limit: Not stated.
  • The checked table contains one national row per month.
  • The latest checked observation was August 2026.

Quirks

  • The API returns numbers as JSON strings; convert selected measure columns explicitly.
  • Columns ending in _D11 are seasonally adjusted inputs; similarly named columns without that suffix can be unadjusted.
  • TSI levels are indexes based on the 2000 annual average, not tons, trips or monetary values.

Terms and attribution

  • The dataset metadata identifies the table as Public Domain U.S. Government.
  • No attribution requirement was stated in the checked metadata.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer