Skip to content

🚗 transport

U.S. transportation data spanning motor-vehicle safety (NHTSA recalls, consumer complaints, FARS fatal crashes), aviation (BTS airline on-time performance, FAA airport master, BTS T-100 air-carrier traffic), public transit (FTA National Transit Database monthly ridership), and highways (FHWA state motor-vehicle registrations). Each row is a discrete event or a place-and-period observation joinable to geo (states/counties), econ (fuel prices, employment), sec (airline / automaker filings), and weather. Together they describe how people and goods move, how safely, and at what capacity.

19 datasets · 258 columns

vehicle_recalls · table

NHTSA vehicle safety recall campaigns — one row per recall (NHTSA campaign id). All-history to current (~30K campaigns), served as a single Socrata JSON export, so this is a snapshot table: the whole set is re-fetched and the partition overwritten each run. The affected make / model / year set is rolled into the description text (not exploded). Source: data.transportation.gov/resource/6axg-epim.json.

Column Type Null Description
nhtsa_id string no NHTSA recall campaign id (e.g. 26V434000) — PK
report_received_date date yes Date NHTSA received the recall report
manufacturer string yes Recalling manufacturer
subject string yes Recall subject line
component string yes Affected component category
mfr_campaign_number string yes Manufacturer's own campaign number
recall_type string yes Vehicle / Equipment / Tire / Child Seat
potentially_affected long yes Estimated number of units potentially affected
recall_description string yes Description of the defect (SODA defect_summary)
consequence_summary string yes Consequence of the defect
corrective_action string yes Manufacturer's remedy
park_outside_advisory string yes Fire-risk-when-parked advisory (Yes/No)
do_not_drive_advisory string yes Do-not-drive advisory (Yes/No)
recall_url string yes NHTSA recall detail page URL (from recall_link.url)

safety_complaints · table

NHTSA consumer safety-defect complaints — one row per complaint component record since 1995 (all-history bulk flat file, refreshed daily). No header row; the fixed 51-field TAB layout (CMPL.txt spec) is declared via columnNames. Snapshot: the whole file is re-fetched and the partition overwritten each run. In DQ mode dqRowLimit caps the sample. Source: static.nhtsa.gov/odi/ffdd/cmpl/FLAT_CMPL.zip.

Column Type Null Description
cmplid string no NHTSA internal unique sequence number — PK
odino string yes NHTSA internal reference number (may repeat across components)
manufacturer string yes Manufacturer name
make string yes Vehicle/equipment make
model string yes Vehicle/equipment model
model_year string yes Model year (9999 = unknown/NA)
crash string yes Was vehicle involved in a crash (Y/N)
fail_date date yes Date of incident
fire string yes Was vehicle involved in a fire (Y/N)
injured integer yes Number of persons injured
deaths integer yes Number of fatalities
component_desc string yes Specific component description
city string yes Consumer's city
state_abbr string yes Consumer's state code (USPS abbr; FK component to geo.states)
vin string yes Partial VIN
date_added date yes Date added to file
date_complaint_received date yes Date complaint received by NHTSA
miles integer yes Vehicle mileage at failure
complaint_description string yes Free-text description of the complaint
complaint_type string yes Source-of-complaint code (IVOQ, EWR, VOQ, ...)
product_type string yes Product type (V=vehicle, T=tires, E=equipment, C=child restraint)
state_of_incident string yes Incident state code (USPS abbr)

fatal_crashes · table

NHTSA Fatality Analysis Reporting System — one row per fatal traffic crash (accident.csv, grain ST_CASE) for the given data year. FARS coded columns each have a decoded *NAME sibling; a curated subset is projected here. Delta by year: past years immutable, newest complete year (effective_year = year - 2) re-fetched. Joins to geo.counties via county_fips. Source: static.nhtsa.gov/nhtsa/downloads/FARS/{year}/National/FARS{year}NationalCSV.zip.

Column Type Null Description
st_case integer no FARS crash case number (unique within data year) — PK
state_fips string yes 2-digit state FIPS code (FK to geo.states)
state_name string yes State name
county_fips string yes 5-digit county FIPS code (FK to geo.counties)
county_name string yes County name
city_name string yes City name
crash_date date yes Crash date (from YEAR/MONTH/DAY)
day_of_week string yes Day of week
hour integer yes Hour of crash (0-23; 99=unknown mapped to null)
latitude double yes Crash latitude (77.7777+ sentinel mapped to null)
longitude double yes Crash longitude (-999.x sentinel mapped to null)
harmful_event string yes First harmful event (decoded)
manner_of_collision string yes Manner of collision (decoded)
light_condition string yes Light condition (decoded)
weather string yes Atmospheric conditions (decoded)
roadway_function string yes Roadway functional classification (decoded)
persons_count integer yes Number of persons in the crash
vehicles_count integer yes Number of vehicles (contact + non-contact)
fatalities integer yes Number of fatalities in the crash
pedestrians integer yes Number of pedestrians/non-motorists involved

airline_ontime · table

BTS Reporting Carrier On-Time Performance — one row per scheduled domestic flight for the (year, month) with departure/arrival delays, cancellations, diversions, and delay-cause minutes. A curated subset of the 110-column source is projected. Delta by (year, month); dataLag 1 keeps to complete prior years so no unpublished month is requested. In DQ mode dqRowLimit caps each month. Source: transtats.bts.gov/PREZIP/On_Time_Reporting_Carrier_On_Time_Performance_1987_present_{year}_{month}.zip.

Column Type Null Description
flight_date date yes Flight date
reporting_airline string yes Reporting carrier IATA-style code
dot_id_reporting_airline integer yes DOT-assigned carrier id
tail_number string yes Aircraft tail number
flight_number string yes Flight number
origin string yes Origin airport code (FK to airports.arpt_id)
origin_city_name string yes Origin city name
origin_state string yes Origin state (USPS abbr)
dest string yes Destination airport code (FK to airports.arpt_id)
dest_city_name string yes Destination city name
dest_state string yes Destination state (USPS abbr)
crs_dep_time string yes Scheduled departure time (local hhmm)
dep_delay double yes Departure delay in minutes (negative = early)
dep_del15 double yes Departure delayed >= 15 min (1/0)
crs_arr_time string yes Scheduled arrival time (local hhmm)
arr_delay double yes Arrival delay in minutes (negative = early)
arr_del15 double yes Arrival delayed >= 15 min (1/0)
cancelled double yes Flight cancelled (1/0)
cancellation_code string yes Cancellation reason (A=carrier, B=weather, C=NAS, D=security)
diverted double yes Flight diverted (1/0)
air_time double yes Flight time in the air (minutes)
distance double yes Distance between airports (miles)
carrier_delay double yes Delay minutes attributed to the carrier
weather_delay double yes Delay minutes attributed to weather
nas_delay double yes Delay minutes attributed to the National Airspace System
security_delay double yes Delay minutes attributed to security
late_aircraft_delay double yes Delay minutes attributed to a late inbound aircraft

airports · table

FAA airport / aviation-facility master (NTAD, NASR-derived) — one row per facility (~19,445), keyed by FAA location id. The ArcGIS FeatureServer paginates 2000 features/page, so a self-paginating ResponseTransformer fetches all pages and flattens features[].attributes. Snapshot, refreshed on the FAA 56-day NASR cycle. arpt_id joins airline_ontime.origin/dest. Source: services.arcgis.com/.../NTAD_Aviation_Facilities/FeatureServer/0.

Column Type Null Description
arpt_id string no FAA location identifier (e.g. ATL) — PK
arpt_name string yes Airport/facility name
city string yes Associated city
state_code string yes State (USPS abbr; FK component to geo.states)
state_name string yes State name
county_name string yes County name
latitude double yes Latitude (decimal degrees, WGS84)
longitude double yes Longitude (decimal degrees, WGS84)
elevation_ft double yes Field elevation (feet)
site_type_code string yes Facility type (A=airport, H=heliport, S=seaplane base, ...)
facility_use_code string yes PU=public, PR=private
ownership_type_code string yes Ownership (PU=public, PR=private, MA/MN/MR=military)
arpt_status string yes Operational status (O=operational)
region_code string yes FAA region code
eff_date string yes NASR effective date (56-day cycle) — freshness marker

transit_ridership · table

FTA National Transit Database — Complete Monthly Ridership (with adjustments and estimates). Long format: one row per transit agency × mode × type-of-service × month with unlinked passenger trips (upt), vehicles operated in max service (voms), and vehicle revenue hours/miles (vrh/vrm). Delta by (year, month) sliced from the Socrata date field. Source: data.transportation.gov/resource/8bui-9xvu.json.

Column Type Null Description
ntd_id string yes NTD agency id
agency string yes Transit agency name
uza_name string yes Urbanized area name
mode string yes NTD mode code (e.g. DR, MB, HR, LR)
mode_name string yes Grouped mode label (e.g. Bus, Heavy Rail)
tos string yes Type of service (DO=directly operated, PT=purchased transportation)
reporter_type string yes Reporter type (Full Reporter, ...)
state_abbr string yes State (USPS abbr; FK component to geo.states)
fta_region string yes FTA region number
ride_date date yes Observation month (first of month)
upt double yes Unlinked passenger trips
voms double yes Vehicles operated in maximum service
vrh double yes Vehicle revenue hours
vrm double yes Vehicle revenue miles
agency_mode_tos_date string no Composite natural key (agency_mode_tos_reporter_uace_date) — PK

t100_segments · table

BTS T-100 Domestic Segment (All Carriers) — monthly air-carrier traffic and capacity per (carrier, origin, dest, aircraft type): passengers, freight, mail, seats, and departures performed/scheduled. Complements airline_ontime (which has punctuality but no volumes). One fetch per year returns all months. T-100 has no stable download URL, so a DataProvider reproduces the TranStats ASP.NET postback (gnoyr_VQ=GEE). Delta by year; dataLag 1 keeps to complete prior years. Source: transtats.bts.gov DL_SelectFields.aspx.

Column Type Null Description
month integer yes Calendar month (1-12)
carrier string yes Unique carrier code
carrier_name string yes Unique carrier name
origin string yes Origin airport code (FK to airports.arpt_id)
origin_city_name string yes Origin city name
origin_state string yes Origin state (USPS abbr)
dest string yes Destination airport code (FK to airports.arpt_id)
dest_city_name string yes Destination city name
dest_state string yes Destination state (USPS abbr)
aircraft_type string yes BTS aircraft type code
service_class string yes Service class (F=scheduled passenger/cargo, ...)
departures_scheduled double yes Departures scheduled on the segment for the month
departures_performed double yes Departures performed on the segment for the month
seats double yes Available seats
passengers double yes Passengers transported
freight double yes Freight transported (pounds)
mail double yes Mail transported (pounds)
distance double yes Segment distance (miles)

vehicle_registrations · table

FHWA Highway Statistics table MV-1 — state motor-vehicle registrations by vehicle class (automobiles, buses, trucks, motorcycles, and the all-vehicle total) for the data year. FHWA publishes MV-1 only as a merged multi-header Excel workbook, so a ResponseTransformer parses the fixed MV-1 layout and derives state_fips. Delta by year; dataLag 2 targets the newest available data year. Joins to geo.states via state_fips. Source: fhwa.dot.gov/policyinformation/statistics/{year}/xls/mv1.xlsx.

Column Type Null Description
state_fips string no 2-digit state FIPS code (FK to geo.states)
state_name string yes State name (footnote markers stripped)
automobiles long yes Registered automobiles (total, public + private)
buses long yes Registered buses (total)
trucks long yes Registered trucks (total)
motorcycles long yes Registered motorcycles (total)
all_motor_vehicles long yes All registered motor vehicles (total)

fmcsa_carriers · table

FMCSA Company Census File — one row per USDOT-registered motor carrier (~4.47M rows), carrying registration, fleet size, operation type, and (for carriers that received a compliance review) the assigned safety rating. Bulk CSV export of DOT Socrata dataset az4n-8mr2 — the whole set is downloaded in one unpaginated request and the partition overwritten each run, so this is a snapshot. Crash/inspection/out-of-service metrics are NOT on this file (only ~54K carriers are ever rated); they publish as separate per-event SMS datasets (SMS Input - Crash 4wxs-vbns / aayw-vxb3, SMS Input - Inspection rbkj-cgst) and would be their own raw tables + a rollup view, per the one-source-per-table rule. In DQ mode dqRowLimit caps the sample. Source: data.transportation.gov/api/views/az4n-8mr2/rows.csv?accessType=DOWNLOAD.

Column Type Null Description
dot_number string no USDOT number — PK
carrier_name string yes Legal carrier name (fuzzy-join to sec.filing_metadata)
dba_name string yes Doing-business-as name (often blank)
phy_city string yes Principal place of business — city
state_abbr string yes Principal office state (USPS abbr; FK component to geo.state_ref)
phy_zip string yes Principal place of business — ZIP
business_org string yes Business organization (CORPORATION / LLC / SOLE PROPRIETOR / ...)
classdef string yes Carrier classification (semicolon multi-value, e.g. PRIVATE PROPERTY;AUTHORIZED FOR HIRE)
operation_type string yes Operation classification (A=Interstate, B=Intrastate Hazmat, C=Intrastate Non-Hazmat)
safety_rating string yes Safety rating (S=Satisfactory, C=Conditional, U=Unsatisfactory; blank unless a compliance review occurred)
safety_rating_date date yes Date of the most recent safety rating
review_date date yes Date of the most recent compliance review
total_drivers integer yes Number of drivers
total_cdl integer yes Number of CDL drivers
power_units integer yes Power units (trucks and tractors)
truck_units integer yes Truck units
bus_units integer yes Bus units
hazmat_flag string yes Authorized to transport hazardous materials (Y/N)
recordable_crash_rate double yes FMCSA recordable crash rate (per the carrier census, when computed)
mcs150_mileage long yes Annual vehicle miles traveled reported on the MCS-150
mcs150_mileage_year integer yes Year of the reported MCS-150 mileage
status_code string yes Carrier record status code (A=Active, I=Inactive, ...)

faa_aircraft_master · table

FAA MASTER.txt — one row per registered aircraft (~314K), keyed by N-number. Faithful recreation of the master file: registration, address, airworthiness/certificate dates, Mode-S transponder codes, fractional ownership, kit build, and the reference/engine join codes. Snapshot. Source: registry.faa.gov/database/ReleasableAircraft.zip (MASTER.txt).

Column Type Null Description
n_number string no FAA N-number / tail number, canonical N-prefixed form (e.g. N100) — PK; join target for airline_ontime.tail_number and ntsb_aviation_accidents.aircraft_n_number
serial_number string yes Manufacturer serial number
mfr_mdl_code string yes 7-char Aircraft Mfr/Model/Series code (FK to faa_aircraft_reference.code)
eng_mfr_mdl string yes 5-char engine Mfr/Model code (FK to faa_engine_reference.code)
year_mfr integer yes Year of manufacture
type_registrant string yes Registrant type code (1=Individual, 3=Corporation, 5=Government, 7=LLC, ...)
registrant_name string yes Registered owner name
street string yes Registrant street address
street2 string yes Registrant street address line 2
city string yes Registrant city
state_abbr string yes Registrant state (USPS abbr; FK to geo.state_ref)
zip_code string yes Registrant ZIP code
region string yes FAA region code (internal, not census)
county_code string yes County code (3-digit FIPS county within state, US records)
country string yes Country code (US = domestic)
last_action_date date yes Date of last registration action
cert_issue_date date yes Certificate issue date
certification string yes Airworthiness classification + approved operations (packed code)
type_aircraft string yes Aircraft type code (denormalized; see faa_aircraft_reference.type_acft)
type_engine string yes Engine type code (denormalized; see faa_aircraft_reference.type_eng)
status_code string yes Registration status code (V=Valid, R=pending, ...)
mode_s_code string yes Mode-S transponder code (octal)
fract_owner string yes Fractional ownership indicator (Y/blank)
airworthiness_date date yes Date of original airworthiness certificate
other_names_1 string yes Additional registrant name 1
other_names_2 string yes Additional registrant name 2
other_names_3 string yes Additional registrant name 3
other_names_4 string yes Additional registrant name 4
other_names_5 string yes Additional registrant name 5
expiration_date date yes Registration expiration date
unique_id string yes FAA stable unique aircraft id
kit_mfr string yes Kit manufacturer (amateur-built)
kit_model string yes Kit model (amateur-built)
mode_s_code_hex string yes Mode-S / ICAO 24-bit address (hex; ADS-B flight-tracking join key)

faa_aircraft_reference · table

FAA ACFTREF.txt — aircraft reference file, one row per Mfr/Model/Series code (~94K): manufacturer, model, aircraft/engine type, category, engine and seat counts, weight class, cruising speed, type-certificate holder. Faithful recreation; joined from faa_aircraft_master on mfr_mdl_code. Source: registry.faa.gov/database/ReleasableAircraft.zip (ACFTREF.txt).

Column Type Null Description
code string no 7-char Aircraft Mfr/Model/Series code — PK
mfr string yes Manufacturer name
model string yes Model / series name
type_acft string yes Aircraft type code (4=Fixed wing single, 5=Fixed wing multi, 6=Rotorcraft, ...)
type_eng string yes Engine type code (1=Reciprocating, 4=Turbo-jet, 5=Turbo-fan, 10=Electric, ...)
ac_cat string yes Aircraft category code (1=Land, 2=Sea, 3=Amphibian)
build_cert_ind string yes Builder certification (0=Type Certificated, 1=Not TC, 2=Light Sport)
no_eng integer yes Number of engines
no_seats integer yes Maximum number of seats
ac_weight string yes Weight class (CLASS 1 <=12499 lb, CLASS 2, CLASS 3 20000+, CLASS 4 UAV)
speed integer yes Average cruising speed (mph)
tc_data_sheet string yes Type Certificate data sheet
tc_data_holder string yes Type Certificate data holder

faa_engine_reference · table

FAA ENGINE.txt — engine reference file, one row per engine Mfr/Model code (~5K): manufacturer, model, engine type, horsepower, thrust. Faithful recreation; joined from faa_aircraft_master on eng_mfr_mdl. Source: registry.faa.gov/database/ReleasableAircraft.zip (ENGINE.txt).

Column Type Null Description
code string no 5-char engine Mfr/Model code — PK
mfr string yes Engine manufacturer name
model string yes Engine model name
engine_type_code string yes Engine type code (1=Reciprocating, 4=Turbo-jet, 5=Turbo-fan, 10=Electric, ...)
horsepower integer yes Rated horsepower (piston/turboprop)
thrust integer yes Rated thrust in pounds (jet)

ntsb_aviation_accidents · table

NTSB aviation accident & incident database — one row per aircraft involved in an event (all events 1982-present). The download (avall.zip, ~95MB) is a single Microsoft Access database (avall.mdb, ~553MB) read in-JVM with Jackcess by NtsbAviationTransformer: the aircraft table (grain ev_id + Aircraft_Key) is streamed and joined to events (ev_id) and the narratives.narr_cause probable-cause text. The MDB has no county column, so only state_fips is derived (from USPS ev_state). Snapshot: the whole MDB is re-ingested and the partition overwritten each run. event_year is a column (not a partition) since one file carries all years. Source: data.ntsb.gov/avdata/avall.zip.

Column Type Null Description
event_id string no NTSB event id (ev_id) — PK component
aircraft_key integer no Aircraft sequence within the event (Aircraft_Key) — PK component
event_year integer yes Year of the event
event_date date yes Date of the accident/incident
event_type string yes Accident / Incident (decoded from ev_type)
aircraft_n_number string yes Aircraft tail number, canonical N-prefixed (regis_no; FK to faa_aircraft_master.n_number)
aircraft_make string yes Aircraft manufacturer (acft_make)
aircraft_model string yes Aircraft model (acft_model)
aircraft_category string yes Aircraft category code (acft_category; e.g. AIR, HELI)
far_part string yes FAR operating part (091, 121, 135, ...) — operation type
carrier_name string yes Operator/carrier name (oper_name)
city string yes Event city (ev_city)
state_abbr string yes Event state (USPS abbr; FK component to geo.state_ref)
state_fips string yes 2-digit state FIPS code (FK to geo.states)
country string yes Event country code (ev_country)
airport_id string yes Nearest airport id (ev_nr_apt_id; null for en-route)
airport_name string yes Nearest airport name (apt_name)
injury_severity string yes Highest injury level (Fatal / Serious / Minor / None; decoded)
fatal_injuries integer yes Total fatalities (inj_tot_f)
serious_injuries integer yes Total serious injuries (inj_tot_s)
minor_injuries integer yes Total minor injuries (inj_tot_m)
aircraft_damage string yes Aircraft damage (Destroyed / Substantial / Minor / None; decoded)
phase_flt_code integer yes NTSB phase-of-flight code (phase_flt_spec; raw code, not decoded)
latitude double yes Event latitude (dec_latitude, WGS84)
longitude double yes Event longitude (dec_longitude, WGS84)
probable_cause string yes NTSB probable-cause narrative (narr_cause, truncated to 4000 chars)

cfs_shipments · table

Census/BTS Commodity Flow Survey 2017 Public Use File (PUF) — one row per sampled shipment (~5.98M), the shipment-level microdata behind every CFS cross-tab. Origin/destination state + CFS area, SCTG commodity, mode, shipper NAICS, value ($), weight (lb), great-circle + routed distance (miles), and WGT_FACTOR (the tabulation weight: SUM(measure * wgt_factor) estimates the population total). All published cross-tabs (origin x dest x commodity x mode, by-NAICS, by-distance, ...) are SQL views over this one table (never Java) — e.g. the bts_freight_flows view. Aggregates are sample-weighted estimates and approximate the official CFS tables. Bulk CSV export of BTS Socrata y9wr-xk52; snapshot, partition overwritten each run. Source: data.bts.gov/api/views/y9wr-xk52/rows.csv.

Column Type Null Description
shipmt_id string no Shipment identifier — PK
survey_year integer no CFS survey year (this PUF file is 2017)
orig_state_fips string yes Origin state FIPS (FK to geo.state_ref)
orig_cfs_area string yes Origin CFS area code (state-MA)
dest_state_fips string yes Destination state FIPS (FK to geo.state_ref)
dest_cfs_area string yes Destination CFS area code (state-MA)
naics string yes Shipper NAICS code
quarter integer yes Quarter of shipment (1-4)
sctg_code string yes SCTG commodity code
mode_code string yes CFS transport mode code (raw; some recoded for confidentiality)
shipmt_value double yes Shipment value (USD)
shipmt_weight_lb double yes Shipment weight (pounds)
dist_gc_miles double yes Great-circle distance origin->destination (miles)
dist_routed_miles double yes Routed distance origin->destination (miles)
temp_controlled string yes Temperature-controlled shipment (true/false)
export_yn string yes Export shipment (true/false)
export_country string yes Export final destination country indicator
hazmat string yes Hazardous material code (N = not hazmat)
wgt_factor double yes Shipment tabulation weighting factor (multiply measures by this for population estimates)

airline_ontime_by_carrier_month · view

Monthly on-time summary by reporting carrier: flight counts, average arrival delay, and cancellation rate. The headline punctuality rollup.

View — columns are resolved by the query engine at runtime.

fatal_crashes_by_state_year · view

Fatal crashes and total fatalities by state and year — the core FARS rollup, joinable to geo.states and census population for per-capita rates.

View — columns are resolved by the query engine at runtime.

transit_ridership_by_agency_year · view

Annual transit ridership (unlinked passenger trips) by agency and mode, summed from the monthly series.

View — columns are resolved by the query engine at runtime.

bts_freight_flows · view

Commodity Flow Survey freight flows — the origin-state x destination-state x SCTG commodity x mode estimate, aggregated from the cfs_shipments Public Use File by the tabulation weight (WGT_FACTOR). value_million = USD millions, tons_thousands = thousands of short tons (weight_lb / 2000), ton_miles_million = millions of ton-miles (tons x routed miles). These are sample-weighted estimates and approximate — not identical to — the official published CFS tables. Every other CFS cross-tab (by NAICS, by distance band, ...) is a sibling view over cfs_shipments; add as needed.

View — columns are resolved by the query engine at runtime.

faa_aircraft_registry · view

Friendly denormalized view of the FAA aircraft registry: faa_aircraft_master joined to faa_aircraft_reference (manufacturer / model / category / seats) and faa_engine_reference (engine make / model / horsepower / thrust), with the registrant-type, aircraft-type, engine-type, category and status codes decoded. n_number is surfaced as the full tail number (N-prefixed). Raw per-file detail (addresses, Mode-S codes, dates, kit build, other names) stays on faa_aircraft_master; other cross-tabs are sibling views.

View — columns are resolved by the query engine at runtime.