FMCSA Truck Safety Records — Inspections, Violations & Crashes
Pricing
from $33.50 / 1,000 inspection or crash records
FMCSA Truck Safety Records — Inspections, Violations & Crashes
FMCSA roadside inspection and crash records for US trucks and buses: violations, out-of-service orders, fatalities and injuries, by USDOT number, state and date. Official MCMIS files, updated daily. No API key, no driver data. Part of NexGen Signal — official-source data products
Pricing
from $33.50 / 1,000 inspection or crash records
Rating
0.0
(0)
Developer
NexGen Signal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🚚 FMCSA Truck Safety Records — Inspections, Violations & Crashes
Get FMCSA's roadside inspection and crash records for US trucks and buses as clean JSON — every inspection with its violations and out-of-service orders, and every reported crash with fatalities, injuries, tow-away, road, weather and light conditions — straight from the Motor Carrier Management Information System (MCMIS) files FMCSA publishes and updates daily on data.transportation.gov.
Filter by USDOT number, reporting state, date, inspection level, out-of-service, hazmat and crash severity. Records come newest first. Carriers are identified by USDOT number only: no driver data exists in these public files, and this actor never delivers carrier names, addresses, VINs or licence plates.
The unit of output is one safety record: one roadside inspection (its violations attached) or one commercial vehicle in a reported crash. You pay per record delivered; a run that finds nothing costs nothing.
Who buys this and for what job
- Freight brokers, shippers and 3PLs vetting a carrier's recent inspections, violations and out-of-service orders before tendering a load.
- Commercial auto insurers and underwriters pricing a fleet on its crash and inspection history by USDOT number.
- Safety, compliance and fleet teams tracking their own carrier's roadside results and the violations that drive out-of-service orders.
- Analysts and journalists studying fatal truck and bus crashes by state, date, road and weather conditions.
Buyers usually search for this as "FMCSA inspection data" or "truck crash data".
📊 Sample Output

| inspection_date | dot_number | inspection_level | violations_total | out_of_service_total | facility |
|---|---|---|---|---|---|
| 2026-10-09 | 2632632 | Walk-Around | 6 | 1 | Roadside |
| 2026-10-09 | 4556676 | Walk-Around | 5 | 1 | Roadside |
| 2026-10-09 | 3781181 | Walk-Around | 3 | 1 | Roadside |
| 2026-10-09 | 4515349 | Walk-Around | 3 | 1 | Roadside |
| 2026-10-09 | 3346939 | Walk-Around | 2 | 1 | Fixed |
| 2026-10-09 | 3819283 | Walk-Around | 1 | 1 | Roadside |
Rows from live run DCwdAyIbmlxbh8muw on Apify (the Store example: inspections reported by Texas with an out-of-service violation, 10 records). Notice the newest inspections first and the out-of-service count on every row; each record also carries its violations list (shown in the JSON sample below).
✅ What you get
Every field of each record:
record_id—FMCSA-INSP:<inspection_id>orFMCSA-CRASH:<crash_id>, stable for upserts.record_type—inspectionorcrash.dot_number— USDOT number of the carrier (for crashes FMCSA has not yet matched, the uploaded number;dot_number_sourcesays which).report_state,report_number— state that reported the inspection or crash, and its report number.inspection_id,inspection_date,inspection_start_time,inspection_end_time— inspection ID, date and local times.inspection_level_id,inspection_level— 1 Full, 2 Walk-Around, 3 Driver-Only, 4 Special Study, 5 Terminal (FMCSA's codes).facility,location_description,county_state,county_fips_code— Fixed or Roadside, and where it took place.violations_total,out_of_service_total— violations and out-of-service violations, also split intodriver_…,vehicle_…andhazmat_…counts.post_crash_inspection,hazmat_placard_required,gross_combination_weight_lbs— inspection context.traffic_enforcement,size_weight_enforcement,local_enforcement— whether it was done with a traffic or size/weight stop, or by a local jurisdiction.violations— list per inspection:code(e.g.393.9A-LHLI),description,regulation_part/regulation_section,unit(driver, co-driver or vehicle n),category_id,out_of_service,out_of_service_driver,defect_verification.crash_id,crash_date,crash_time,report_sequence_number— crash ID, date, time and the vehicle's number within the crash.fatalities,injuries,tow_away,vehicles_in_crash— crash severity as reported.federal_recordable,state_recordable,hazmat_placard,hazmat_released— FMCSA flags.location,city,city_fips_code,state,county_code,reporting_agency— where the crash happened and who reported it.vehicle_type,vehicle_configuration,cargo_body_type,gross_vehicle_weight_rating— Truck or Bus, plus coded vehicle details as{code, label}.trafficway,road_access_control,road_surface,weather,light— conditions as{code, label}, labels from FMCSA's crash data dictionary.crash_events— sequence of events as FMCSA codes them, e.g.COLLISION INVOLVING MOTOR VEHICLE IN TRANSPORT.carrier_state,carrier_interstate— the carrier's state on file and whether it operates interstate.status_code,status,last_changed— MCMIS processing status and when FMCSA last changed the record.source,source_dataset,source_url,source_data_updated,licence,attribution,observed_at— provenance on every record: the FMCSA file, its dataset ID and page, when FMCSA last updated it, the public-domain notice, the attribution line and the UTC read time.
⚙️ Sample inputs
1. The Store example — Texas inspections with out-of-service violations
{"recordType": "inspections","reportStates": ["TX"],"outOfServiceOnly": true,"maxRecords": 10}
Returned the 10 records above in run DCwdAyIbmlxbh8muw; $0.50 on the Free plan.
2. One carrier's latest inspections
{"recordType": "inspections","dotNumbers": ["80806"],"maxRecords": 20}
Returned 20 inspections, newest first, in run cMBiXvd8vO2sx7hOh. Put several USDOT numbers in the list to vet a carrier panel in one run.
3. Fatal truck and bus crashes this year
{"recordType": "crashes","crashSeverity": "fatal","dateFrom": "2026-01-01","maxRecords": 40}
Returned 40 crash records, newest first, in run 9wf6sm0VgjX9pQGJV; add reportStates or vehicleType to narrow it.
Input fields:
| Field | Meaning |
|---|---|
recordType | inspections (default) or crashes. |
dotNumbers | USDOT numbers to keep; empty = all carriers. |
reportStates | two-letter codes of the reporting states. |
dateFrom, dateTo | inspection or crash date range, YYYY-MM-DD. |
outOfServiceOnly | inspections with at least one out-of-service violation. |
inspectionLevels | inspections only: 1-5. |
includeViolations | inspections only: attach violations (default on). |
crashSeverity | crashes only: all, injury_or_fatal, fatal. |
vehicleType | crashes only: all, truck, bus. |
hazmatOnly | hazmat-placarded vehicles only. |
order | newest_first (default) or oldest_first. |
maxRecords | stop after this many records (1-100,000; default 1,000). |
🧾 JSON sample record
{"record_id": "FMCSA-INSP:89225650","record_type": "inspection","inspection_id": 89225650,"report_number": "V262604753","report_state": "TX","dot_number": 2632632,"inspection_date": "2026-10-09","inspection_start_time": "06:34","inspection_end_time": "07:17","inspection_level_id": 2,"inspection_level": "Walk-Around","facility": "Roadside","location_description": "TX","county_state": "TX","county_fips_code": "405","post_crash_inspection": false,"hazmat_placard_required": null,"gross_combination_weight_lbs": 130320,"violations_total": 6,"out_of_service_total": 1,"driver_violations": 0,"driver_out_of_service": 0,"vehicle_violations": 6,"vehicle_out_of_service": 1,"hazmat_violations": 0,"hazmat_out_of_service": 0,"traffic_enforcement": false,"size_weight_enforcement": false,"local_enforcement": null,"carrier_state": "TX","carrier_interstate": true,"status_code": "C","status": "Complete","violations": [{"violation_id": 277389110,"sequence": 1,"code": "393.51C-BAPG","description": "Air Brake - Inoperative/defective primary or secondary pressure gauge","regulation_part": "393","regulation_section": "51C-BAPG","unit": "vehicle 1","category_id": 16,"out_of_service": true,"out_of_service_driver": false,"defect_verification": "Unknown/Unverified"},{"violation_id": 277389111,"sequence": 2,"code": "393.9A-LHLI","description": "Lighting - Headlamp(s) - Any inoperative","regulation_part": "393","regulation_section": "9A-LHLI","unit": "vehicle 1","category_id": 20,"out_of_service": false,"out_of_service_driver": false,"defect_verification": "Non-OOS/Driver Non-OOS"},{"violation_id": 277389112,"sequence": 3,"code": "396.17C-PI","description": "Operating a CMV without documentation of a periodic inspection","regulation_part": "396","regulation_section": "17C-PI","unit": "vehicle 1","category_id": 29,"out_of_service": false,"out_of_service_driver": false,"defect_verification": "Non-OOS/Driver Non-OOS"},{"violation_id": 277389113,"sequence": 4,"code": "396.17C-PI","description": "Operating a CMV without documentation of a periodic inspection","regulation_part": "396","regulation_section": "17C-PI","unit": "vehicle 2","category_id": 29,"out_of_service": false,"out_of_service_driver": false,"defect_verification": "Non-OOS/Driver Non-OOS"},{"violation_id": 277389115,"sequence": 5,"code": "392.2-SLLMF","description": "State/Local Laws - Wheel (mud) flaps missing or defective","regulation_part": "392","regulation_section": "2-SLLMF","unit": "vehicle 2","category_id": 30,"out_of_service": false,"out_of_service_driver": false,"defect_verification": "Non-OOS/Driver Non-OOS"},{"violation_id": 277389114,"sequence": 6,"code": "392.2-SLLSR","description": "State/Local Laws - State registration/tag violation","regulation_part": "392","regulation_section": "2-SLLSR","unit": "vehicle 1","category_id": 51,"out_of_service": false,"out_of_service_driver": false,"defect_verification": "Non-OOS/Driver Non-OOS"}],"violations_attached": true,"last_changed": "2026-10-09T21:43:00","source": "FMCSA MCMIS — Vehicle Inspection File","source_dataset": "fx4q-ay7w","source_url": "https://data.transportation.gov/d/fx4q-ay7w","source_data_updated": "2026-10-11T10:51:14Z","licence": "Public-domain U.S. Government work (17 U.S.C. 105): Federal Motor Carrier Safety Administration (FMCSA), U.S. Department of Transportation, Motor Carrier Management Information System (MCMIS) files published on data.transportation.gov. Free to reuse; no copyright restrictions.","attribution": "Source: FMCSA, U.S. Department of Transportation — MCMIS data on data.transportation.gov","observed_at": "2026-10-12T02:52:13Z"}
🔧 How it works
-
Robots check.
data.transportation.gov/robots.txtis read on every run. It allows the data endpoints used here and asks for one second between requests (Crawl-delay: 1); the actor waits that long between every request. A robots file that disallowed these paths would stop the run with nothing charged. -
Query the official files. The actor queries FMCSA's MCMIS Vehicle Inspection File (
fx4q-ay7w) or Crash File (aayw-vxb3) through the site's public data API with your filters, newest first, 1,000 rows at a time, selecting only the columns delivered — never driver, carrier name or address, shipper, VIN, licence plate or citation columns. -
Attach violations. For inspections, the violations of each page are fetched from FMCSA's Vehicle Inspections and Violations file (
876r-jsdb) and attached to their inspection. -
Deliver, then charge. Each page is pushed to the dataset, then charged, so records and charges always match. Reading stops at
maxRecordsor your maximum charge. -
Receipt.
RUN_RECEIPTrecords the robots result, each file's last update, requests made, rows read, and delivered and charged counts.
No login, API key, proxy or bot workaround — FMCSA's public files only.
💰 Pricing example
Per record delivered, no start fee, no monthly charge:
| Apify plan | Price per record |
|---|---|
| Free | $0.05 |
| Bronze | $0.045 |
| Silver | $0.04 |
| Gold, Platinum, Diamond | $0.0335 |
- 10 records (the Store example): $0.50 on the Free plan, $0.335 on Gold.
- 1,000 records (the default cap): $50 on Free, $45 on Bronze, $40 on Silver, $33.50 on Gold.
Coverage and size. On 11 Oct 2026 the inspection file held 8,286,724 inspections (2,291,937 dated 2026), the violations file 13,543,682 violations and the crash file 5,006,175 crash records (114,462 dated 2026). FMCSA updates the files daily; inspections and crashes reach MCMIS after the reporting state uploads them, so the latest few days fill in over time. Records are those reported to FMCSA by US states and federal inspectors.
⚖️ Legal & ToS
Data: Federal Motor Carrier Safety Administration (FMCSA), U.S. Department of Transportation — MCMIS Vehicle Inspection File, Vehicle Inspections and Violations, and Crash File, published on data.transportation.gov. These are works of a U.S. federal agency and are not subject to copyright in the United States (17 U.S.C. §105). The catalog entries name no other licence (data.transportation.gov lists them as "unknown license"). Every record carries the notice in licence and a source line in attribution.
Person data. FMCSA states that driver information is not included in any public inspection or crash file. This actor additionally never selects carrier names, street addresses, cities, ZIP codes, shipper names, shipping-paper numbers, VINs, licence plates, citation numbers or drug-interdiction fields; carriers are identified by USDOT number only. robots.txt is honoured, including its crawl delay. One public site, declared User-Agent, no login, key, proxy or form.
Not affiliated with or endorsed by FMCSA or the U.S. Department of Transportation; records are FMCSA's as published.
❓ FAQ
Do I need a Socrata app token or FMCSA account? No. The actor reads the public files with no token, key or login.
Where are the carrier names?
Left out on purpose. Some carriers are sole proprietors whose business name is a person's name, so records carry the USDOT number only. Join on dot_number with the FMCSA carrier census if you hold it.
Is this the SMS / CSA BASIC score? No. These are the underlying inspection, violation and crash records. FMCSA's SMS percentiles are a separate calculation.
How fresh is it?
FMCSA updates the files daily; source_data_updated on every record shows the file's last update.
Why can one crash appear more than once?
The Crash File has one record per commercial vehicle involved. report_number groups the vehicles of one crash; report_sequence_number numbers them.
🆘 Troubleshooting
- 0 records with
dotNumbers— that carrier has no records in the range — check the number, or widendateFrom/dateTo. - Recent days look thin — states upload inspections and crashes after the event; re-run later for the latest days.
violationsis empty on an inspection — the inspection recorded no violations (violations_totalis 0).- Run is slower with violations — violations are an extra lookup per page; turn off
includeViolationsfor inspection-level rows only. - SOURCE UNAVAILABLE message — the source did not answer after four tries; nothing was charged — run again later.
- CAPPED message — your maximum total charge was reached; raise it in the run options.
- Run failed with "Invalid input" — a filter value is malformed; the message names the field. Nothing was charged.
🔗 Related Actors
- UK Road Collision Records — DfT STATS19 — road collisions in Great Britain.
- Mine Operator & Safety Records — US MSHA — another US federal safety register, for mines.
- UK Vehicle Recalls — DVSA Car, Motorcycle & Parts Recall Data — vehicle and parts recalls.
- Road Freight Statistics Europe — Eurostat Road Haulage Data — road haulage volumes in Europe.
- UK Road Traffic Flow Records — DfT AADF — traffic counts by road and vehicle type.
🏢 About NexGen Signal — official-source data products from government and regulator publications. Browse the catalog: apify.com/nexgensignal
⭐ Found this useful?
If this actor saved you time, a rating on its Apify Store page helps other buyers find it.
Part of NexGen Signal — official-source data products.