FARS API Field Reference

Every field in the API response, where it comes from in the NHTSA data, what values to expect, and what's missing. Based on 254,877 crashes across 2017–2023.

Crash Record - /v1/crashes

FieldTypeNHTSA SourceCoverageNotes
case_idstringSTATE + ST_CASE + YEAR100%Formatted as "Texas-2023-480100". Unique per crash.
st_caseintACCIDENT.ST_CASE100%NHTSA's case number. Unique within a state+year.
yearintACCIDENT.YEAR100%2017–2023 in current dataset.
datedateMONTH + DAY100%ISO format. All dates fall within the expected year.
timestringHOUR + MINUTE99.2%"HH:MM" format. 1,171 crashes have unknown time (coded 99:99 by NHTSA).
day_of_weekstringDAY_WEEK100%"Monday" through "Sunday".
fatalitiesintACCIDENT.FATALS100%Always >= 1. Range: 1–13. Average: 1.09.
drunk_driversintComputed from VEHICLE.DR_DRINK100%Count of vehicles with impaired driver. 27% of crashes have >= 1.
number_of_vehiclesintACCIDENT.VE_TOTAL100%Includes parked vehicles if struck.
location.latitudefloatACCIDENT.LATITUDE99.6%WGS84. Range: 19.06–71.30. 635 nulls.
location.longitudefloatACCIDENT.LONGITUD99.6%WGS84. Range: -165.41 to -67.10.
location.statestringSTATENAME100%51 values: 50 states + District of Columbia.
location.countystringCOUNTYNAME100%NHTSA format: "HARRIS (201)". Includes county FIPS code.
location.citystringACCIDENT.CITYNAME~52%Decoded city name. 'NOT APPLICABLE' filtered to null.
conditions.weatherstringWEATHER / WEATHER1100%Clear (73%), Cloudy (13%), Rain (7%), Not Reported (4%), Fog (1%), Snow (1%).
conditions.lightstringLGT_COND100%Daylight (45%), Dark-Not Lighted (27%), Dark-Lighted (22%), Dusk (2.5%), Dawn (1.8%).
manner_of_collisionstringMAN_COLL100%Top: Not a Collision w/ MV (60%), Angle (18%), Front-to-Front (11%), Front-to-Rear (7%).
road.function_classstringFUNC_SYS~95%e.g., "Urban - Principal Arterial - Interstate". Rural/Urban + road hierarchy.
flags.hit_and_runboolComputed from VEHICLE.HIT_RUN7.2% trueTrue if any involved vehicle fled. Null means no vehicle flagged (treat as false).
flags.school_bus_relatedboolACCIDENT.SCH_BUS100%Rare - less than 0.3% of crashes.

Fields NOT in the crash response (and why)

Vehicle Record - nested in crash detail

FieldTypeNHTSA SourceCoverageNotes
makestringVEHICLE.MAKENAME100%Top: Chevrolet, Ford, Toyota, Honda, Dodge.
modelstringVEHICLE.VPICMODELNAME96.6%"Silverado", "F-150", "Camry". 3.4% fall back to numeric code when VPIC decode fails.
model_yearintVEHICLE.MOD_YEAR~98%Range: 1921–2024. Null for unknown. NHTSA codes 9998/9999 filtered to null.
body_typestringVEHICLE.BODY_TYPNAME100%NHTSA's verbose labels. Top: "4-door sedan" (26%), "Light Pickup" (16%), "Compact Utility" (14%).
speed_limitintVEHICLE.VSPD_LIM95%Posted speed limit in mph. Filtered: values >= 90 treated as unknown (NHTSA codes).
travel_speedintVEHICLE.TRAV_SPLowEstimated travel speed. Often null - this is hard for investigators to determine.
rolloverboolVEHICLE.ROLLOVER100%6.4% of vehicles. Higher for SUVs and pickups.
fireboolVEHICLE.FIRE_EXP100%Post-crash fire. Rare - about 3% of vehicles.
driver_drinkingboolVEHICLE.DR_DRINK100%17.5% of vehicles had a drinking driver.

Person Record - nested in crash detail

FieldTypeNHTSA SourceCoverageNotes
person_typestringPERSON.PER_TYP99.8%Driver (63%), Passenger (27%), Pedestrian (8%), Bicyclist (1%).
ageintPERSON.AGE96.9%Range: 1–119. Average: 39.9. Values >= 998 filtered to null (unknown).
sexstringPERSON.SEX97.7%Male (66%), Female (32%). "Unknown" and "Not Reported" are 2.3% combined.
injury_severitystringPERSON.INJ_SEV100%Fatal (45%), No Apparent Injury (26%), Serious (10%), Minor (10%), Possible (7%).
restraint_usestringPERSON.REST_USE~85%"Shoulder and Lap Belt", "None Used", "Child Safety Seat", etc.
alcohol_test_resultfloatPERSON.ALC_RES24%BAC as decimal (0.148 = BAC 0.148). Null when test not performed. NHTSA codes 995-999 filtered. Range: 0.000–0.940.

Understanding BAC coverage

Only 24% of persons have a BAC value. This is not a data quality issue - it reflects reality. BAC tests are typically only administered to drivers suspected of impairment, and to fatally injured persons during autopsy. Passengers with minor injuries are rarely tested. When alcohol_test_result is null, it means the test was not performed, refused, or the result is unknown - not that the BAC was zero.

Road Exposure - road_exposure on crash detail

Returned by GET /v1/crashes/{st_case}/{year} when the crash spatially matched a FHWA HPMS road segment within an 80-meter snap radius. About 80% of US fatal crashes match. Returns null when no segment was found nearby or the matched segment had AADT=0.

FieldTypeHPMS SourceCoverageNotes
aadtintAADT~80%Annual Average Daily Traffic on the matched segment, in vehicles per day. Range: 1 to 461,000.
aadt_truckint / nullAADT_Combi~80%Combination-truck AADT for the same segment. Useful for fleet/freight analysis.
f_systemintF_System~80%1=Interstate, 2=PA-Other-Freeway, 3=PA-Other, 4=Minor Arterial, 5=Major Collector, 6=Minor Collector, 7=Local.
f_system_labelstringF_System (decoded)~80%Human-readable functional class label.
lanesint / nullThrough_La~78%Number of through lanes on the matched segment.
segment_speed_limitint / nullSpeed_Limi~50%Posted speed limit for the segment. Often null - HPMS coverage of this field varies by state.
route_idstringRoute_ID~80%HPMS internal route identifier (opaque per-state code, not a human-readable route name).
snap_distance_mfloatcomputed~80%Haversine distance from the crash GPS point to the projected nearest point on the segment centerline. Median ~2.5m, p95 ~22m.
hpms_yearintcomputed~80%Source year of the HPMS shapefile. Currently always 2017 (most recent FHWA public release).

State-level match rate ranges from 64% (Delaware) to 94% (DC). See data coverage for the per-state table and methodology, or the FARS data guide for the spatial join details.

How to cross-reference with NHTSA source data

Every FARS API record can be traced back to the original NHTSA CSV using st_case + year. If you need to verify a data point or access a field we don't expose, download the relevant year's CSV from NHTSA's download page and join on ST_CASE.

Interactive API Docs