APTA Ridership by Mode - Quarterly Public Transit Trips

Quarterly national public transportation ridership by mode from APTA's ridership workbook. One row is a year and quarter with modal unlinked trip counts and a total; a verification query found 144 rows, four quarters, and coverage from 1990 through 2025.

american-public-transportation-association-ridership-by-mode-quarter·10 columns·12 KB·APTA statistical publication reuse terms / site copyright notice·updated 2mo ago

Schema

yearint32
quarterstring
total_unlinked_trips_000sdouble
heavy_rail_000sdouble
light_rail_000sdouble
commuter_rail_000sdouble
trolleybus_000sdouble
bus_000sdouble
demand_response_000sdouble
other_000sdouble

Get this dataset on your machine

subsets sync --bundle medium clones the mid-size tiers as queryable local tables — use --bundle large for the widest tier

pip install subsetsio
subsets sync --bundle small # or medium, or large
subsets serve # search + SQL at http://localhost:8080

Free and open — the data syncs straight from the public bucket, and search + SQL run entirely on your machine. See docs →

Query it locally

Full docs →
Bash
subsets serve   # local API on http://localhost:8080
curl -s -X POST "http://localhost:8080/query" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT * FROM \"american-public-transportation-association-ridership-by-mode-quarter\" LIMIT 5"}'

No account, no API key — the data syncs straight from bundles.subsets.io and every query runs on your machine. See the local API reference.