BTS Transportation Services Index
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.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load BTS transport indexes and rail inputs into Parquet. Checked against the provider's documentation on Nov 1, 2026.
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
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.
"""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
- https://data.bts.gov/api/views/bw6n-ddqk: “measures the movement of freight and passengers”
- https://data.bts.gov/api/views/bw6n-ddqk: “The Transportation Services Freight Index is a weighted average of monthly data for trucking, freight rail, waterborne, pipeline, and air freight.”
- https://data.bts.gov/api/views/bw6n-ddqk: “Observation Date ( Month and Year)”
- https://data.bts.gov/api/views/bw6n-ddqk: “Public Domain U.S. Government”
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