Passenger Ground Transportation Data Provider · Head-to-head
Mobility Database - Global GTFS & GTFS-Realtime Feed Catalog vs National Transit Database (NTD) Monthly & Annual Ridership Datasets
Which passenger ground transportation data provider data fits your job: Mobility Database - Global GTFS & GTFS-Realtime Feed Catalog, or National Transit Database Monthly & Annual Ridership Datasets. API, files, or your warehouse. Daily, weekly, or hourly.
Mobility Database - Global GTFS & GTFS-Realtime Feed Catalog
National Transit Database (NTD) Monthly & Annual Ridership Datasets
Where the fields line up
No shared field names. These two answer different questions.
| Field | Mobility Database - Global GTFS & GTFS-Realtime Feed Catalog | National Transit Database Monthly & Annual Ridership Datasets |
|---|---|---|
id | Stable unique identifier for the feed inside the catalog - the join key every downstream table hangs off. | not in this set |
data_type | Feed format: gtfs for schedule packages, gtfs_rt for realtime streams, gbfs for bikeshare and scooter feeds. | not in this set |
entity_type | For realtime feeds, the GTFS-Realtime entity types carried: vp (vehicle positions), tu (trip updates), sa (service alerts). | not in this set |
provider | Name of the transit operator or feed publisher, as the operator writes it. | not in this set |
name | Human-readable feed name, optionally describing aggregates or specific networks. | not in this set |
location.country_code | ISO country code where the feed operates; 94 distinct values in the current export. | not in this set |
location.subdivision_name | State, prefecture or other first-level subdivision served by the feed. | not in this set |
location.municipality | Municipality the feed serves - the field that turns a world list of feeds into a city-level coverage map. | not in this set |
location.bounding_box.minimum_latitude | Southern edge of the feed's service area, extracted from the feed contents rather than hand-drawn. | not in this set |
location.bounding_box.maximum_latitude | Northern edge of the feed's geographic bounding box. | not in this set |
location.bounding_box.minimum_longitude | Western edge of the feed's geographic bounding box. | not in this set |
location.bounding_box.maximum_longitude | Eastern edge of the feed's geographic bounding box. | not in this set |
What each contains
Pick by fit, not by loyalty.
| Mobility Database - Global GTFS & GTFS-Realtime Feed Catalog | National Transit Database Monthly & Annual Ridership Datasets | |
|---|---|---|
| Record identity | `id` - stable catalog identifier for one feed (e.g. `jbda-agematsutown-agematu`) | `ntd_id` - FTA-assigned number every reporting agency must hold (e.g. `90092`) |
| Named operator | `provider` plus `is_official`, separating agency-published feeds from third-party copies | `agency` - the transit property's legal name, e.g. City of Fairfield, California |
| Place stamp | `location.country_code`, `location.subdivision_name`, `location.municipality` plus four bounding-box corners | `state` and `uza_name` - headquarters state and Census-designated Urbanized Area |
| Time axis | None carried - the calendar lives inside each feed, with archived versions per feed | `date` - the reported month stamped on every row, January 2002 onward |
| Measured value | None - catalog rows describe, they do not quantify | `upt` trips, `vrm` and `vrh` revenue miles and hours, `voms` peak vehicles |
| Classification | `data_type` (`gtfs`, `gtfs_rt`, `gbfs`) and `entity_type` (vp, tu, sa) | Nineteen `mode` codes, `tos` direct-operation versus purchased transport, `_3_mode` rail-bus-other |
| Lifecycle and lineage | `status` enum (active, deprecated, inactive, development, future) plus `redirect.id` to any replacement | `reporter_type` - Full, Reduced Asset, Rural, Small Systems Reporter classes |
| Shared literal tokens | None - no column name appears in both dictionaries | None - joins ride on mapped concepts, never on column names |
Fair questions
Is the Mobility Database better than the National Transit Database?
Different instruments, tied at 10 out of 10. The catalog wins whenever the question names networks - which operators publish schedules or realtime feeds across 94 countries, and how sound each feed is. The census wins whenever the question counts riders - unlinked trips, revenue miles and hours for 834 US agencies back to January 2002. Map versus meter.
Do the two datasets overlap anywhere?
Only conceptually: both describe public transit operations. The catalog indexes published feeds and measures nothing; the census measures service and indexes nothing. No column name appears in both dictionaries, and no feed row ever contains a ridership figure. They complement far more than they compete, which is why many teams keep both.
Which dataset covers more geography?
The Mobility Database, by an order of magnitude: 94 country codes across six continents, drilled to subdivision, municipality and computed bounding box. The NTD stays inside the United States but trades breadth for uniform depth - every reporting agency keyed by urbanized area, state and FTA region under one methodology. Worldwide breadth against national consistency.
Which reaches further back in time?
Depends which axis you trust. The NTD holds a dated ledger - monthly observations from January 2002 through June 2026, plus annual tables for report years 2022-2024. The catalog is a living directory whose individual feeds keep archived versions of their own histories. For a continuous quantitative record, the census; for the evolution of who publishes what, the catalog.
Which should an app builder sample first?
The Mobility Database. Trip planners, arrival widgets and coverage maps need actual schedule and realtime feeds, and the catalog locates them across 94 countries with provider authenticity flags, bounding boxes and validation reports attached. Developers and builders score it relevance 3 versus the census's 2 - though any product that also reports usage will want the NTD beside it.
Can Datadory deliver both datasets together?
Yes. Either record arrives alone or merged onto one delivery calendar, normalized to its documented field dictionary with sample rows attached for validation, delivered daily, weekly, or hourly - your call. Name the countries, agencies, modes and months when you request the sample and it lands pre-cut. Or take both in one feed.