OSHA Enforcement & Injury Data
Datadory delivers osha enforcement injury data data covering the federal safety record of US workplaces: establishment-level Form 300A injury and illness summaries for roughly 383,000 establishments in the 2025 file, case detail from Forms 300 and 301 for 2024 onward, inspection and citation records, severe injury reports since 2015, fatality inspections back to 1972, and chemical exposure samples reaching to 1984 - resolved into typed tables and delivered daily, weekly, or hourly.
What is OSHA Enforcement & Injury Data?
OSHA Enforcement & Injury Data is the Diversified Support Services shelf's copy of the federal safety ledger - what America's workplaces reported about their own injuries, and what the safety regulator found when it walked in the door. Two halves make the whole. The injury half is the Injury Tracking Application (ITA): establishments with 250 or more employees - or 20 to 249 in designated high-hazard industries - must file Osha Form 300A summaries electronically each year, and since 2024 establishments with 100+ employees in designated industries also file case detail from Forms 300 and 301. The enforcement half carries inspection records with cited violations and penalties, Severe Injury Reports (amputations, in-patient hospitalizations, eye losses) since January 2015, a Fatality Inspection table covering federal inspections opened after April 2011, Chemical Exposure Health Data from the OSHA Technical Center with samples running back to 1984, and the archived Data Initiative establishment-specific injury rates for 1996-2011.
Scale, concretely: the 2025 Form 300A summary extract alone runs about 383,000 establishment rows across roughly 84 megabytes, with a multi-year archive stretching back to 2016. Janitorial (NAICS 561720), security (561621), landscaping (561730) and business support (5614xx) firms sit squarely inside the NAICS codes OSHA designates high-hazard, so support-services trades contribute tens of thousands of rows per year - hours worked, case counts, days away, restricted and transferred, and six illness categories included.
Get a sample of this dataset and we route rows scoped to your NAICS cut, state list or named accounts.
What do sample rows look like?
One row per establishment per filing year, exactly as it lands in a delivery:
establishment_name: Bellas Landscaping LLC company_name: Bellas Landscaping LLC
city: Bloomington state: IL naics_code: 561730
industry_description: Landscape care and maintenance services
size: 2 annual_average_employees: 30 total_hours_worked: 28364
no_injuries_illnesses: 1 total_dafw_cases: 1 total_injuries: 1
establishment_name: LCM Group LLC company_name: LCM Group LLC
city: Wayne state: OH naics_code: 561499
industry_description: All Other Business Support Services
size: 1 annual_average_employees: 5 total_hours_worked: 6000
no_injuries_illnesses: 2 total_injuries: 0
establishment_name: Red Timber Services company_name: Red Timber Services
city: wolcott state: NY naics_code: 561730
size: 1 annual_average_employees: 1 total_hours_worked: 1398
no_injuries_illnesses: 2 total_deaths: 0 total_injuries: 0
establishment_name: Serenus Johnson Construction company_name: Serenus Johnson Construction
city: Bay City state: MI naics_code: 236220
size: 21 annual_average_employees: 48 total_hours_worked: 89734
no_injuries_illnesses: 2 total_deaths: 0 year_filing_for: 2025The four rows span the range that matters for rate math: a 30-person landscape crew with one day-away case, a five-person business support office logging 6,000 hours with zero cases, a sole-operator firm, and a 48-employee shop at size band 21. Because total_hours_worked ships alongside the counts, an incidence rate per 100 full-time-equivalent workers is arithmetic on one row rather than a join against a headcount guess.
Get a sample of this dataset and we cut rows to your states, NAICS codes or account list the same day.
What fields does OSHA Enforcement & Injury Data include?
Thirty-one verified fields form the spine of the Form 300A summary panel - enough to identify any establishment, place it, size it and read its injury profile:
Where does coverage run, and at what grain?
- Geography: all fifty states plus DC - every covered establishment nationwide on the injury side, with street address, city, state and ZIP as submitted on each filing. Enforcement inspections and Severe Injury Reports cover federal OSHA jurisdiction only; State Plan states sit outside those two components.
- Temporal: Form 300A summaries run 2016 through 2025, with the 2025 file capturing submissions received January 1 through March 15, 2026. Case detail files start with the 2024 filing year. Severe Injury Reports begin January 2015, the fatality table reaches back to April 2011 (State Plan records from around October 2014), chemical exposure samples run to 1984, and the archived Data Initiative rates span 1996-2011.
- Granularity: three tiers that stack. One row per establishment per filing year for the summary data; one row per case for Forms 300/301 detail; one row per inspection or incident for enforcement, severe injury and fatality records.
Set against the wider Datadory catalog - where the average quality score across all cataloged datasets is 7.81 - this record scores 9/10, carried by verified field definitions, a durable EIN join key and coverage no commercial vendor re-sells with more authority than the agency that collected it.
How is the data delivered?
API, files, or your warehouse. Daily, weekly, or hourly.
Pick the channel your team already works in: REST endpoints for live lookups against single establishments or inspections, flat files sized for batch loads (the 2025 summary extract alone runs about 84 MB and 383,000 rows), or a direct pipe into Snowflake, BigQuery or Redshift. Cadence is yours to set - and to change when your models change.
Every delivery travels with the full field dictionary, decoded code labels, sample rows for validation and coverage notes mapped to the NAICS cuts, states or accounts you named - so the schema you see in the sample is the schema you ship against.
Who uses this data, and for what?
- Prospecting with a safety angle - janitorial, security and landscape services are repeat-purchase industries where safety record predicts contract risk; sales teams attach injury and citation histories to each account and turn a cold list into a ranked call sheet. The pattern is written up on our sales growth teams use cases page.
- Vendor and contractor screening - facilities managers and procurement teams check a cleaning or security vendor's days-away counts and citation history before handing them a badge and a master key.
- Injury-rate benchmarking by trade - workforce and ESG analysts compute sector-correct incidence rates using
total_hours_workedas the denominator instead of headcount guesses; NAICS 5617xx and 5614xx establishments number in the tens of thousands per filing year. - Safety-risk modeling - self-reported outcomes joined to independent inspection records form a labeled panel for predicting which establishments get hurt next; see our data scientists use cases.
- Insurance pricing and underwriting - carriers read hours worked, case mix and severity distribution by establishment before quoting workers' compensation lines.
- Accountability journalism and academic research - fatalities and injury trends investigated from primary federal records, the same tables behind most workplace-safety reporting.
Personas: Sales and growth teams get prospect lists where every account arrives pre-scored with its own safety history attached. Market researchers and consultants get benchmarkable rates by trade for workforce and ESG studies (market researchers use cases). Data scientists and ML engineers get a decade-deep, NAICS-keyed panel with verified definitions. Competitive intel product teams track how rivals' safety records move across filing years (competitive intel product teams use cases). Investors and quant researchers screen portfolio companies and service suppliers for safety-compliance risk during diligence. Developers building data products get typed fields that load into compliance and EHS tool backends without transformation gymnastics.
What should I know before requesting a sample?
Four things worth knowing upfront.
First, jurisdiction is not uniform. Form 300A submissions span covered establishments nationwide, but enforcement inspections and Severe Injury Reports stop at federal OSHA's border - State Plan states are excluded - so a citation-free record may mean no federal jurisdiction rather than no violations.
Second, figures are employer self-reported and OSHA says so plainly: the agency cautions that submitted counts are not validated and warns against ranking establishments as most or least dangerous from raw rates alone. Pairing the injury columns with independent inspection records is worth the join.
Third, the size code moved: band 2 split into 21 (20-99) and 22 (100-249) starting with 2023 data, so any multi-year series needs the recode applied before trendlines mean anything.
Fourth, the no_injuries_illnesses column is a flag pair, not a count - 1 means recordable cases were reported, 2 means none were - and the decoded label sheet shipping with your sample keeps that straight.
Field dictionary
Every field below is documented against real records. The full dictionary ships with the sample.
| field | type | definition | example |
|---|---|---|---|
id | integer | Unique number for each record in the ITA 300A summary file. | 2896135 |
establishment_name | string | Name of the establishment reporting data, exactly as submitted. | Bellas Landscaping LLC |
establishment_id | integer | Establishment identifier created under the filer's account; links summary data to case detail files. | 49921 |
ein | string | Employer Identification Number - the durable join key across years, files and companion datasets. | 382818293 |
company_name | string | Name of the company that owns the establishment. | Bellas Landscaping LLC |
street_address | string | Street address of the establishment as filed. | 5178 Kasemeyer Road |
city | string | City where the establishment is located. | Bay City |
state | string | Two-letter state code where the establishment is located. | MI |
zip_code | string | Full ZIP code of the establishment. | 48706 |
naics_code | string | North American Industry Classification System code; 2012 NAICS through 2022 data, mixed revisions for 2023 onward. | 561730 |
industry_description | string | Text description of the NAICS industry as filed. | Landscape care and maintenance services |
size | integer | Size band by maximum employees during the year: 1 = <20, 2 = 20-249, 21 = 20-99, 22 = 100-249, 3 = 250+. | 21 |
establishment_type | integer | Entity type: 1 = not a government entity, 2 = state government, 3 = local government. | 1 |
annual_average_employees | integer | Annual average number of employees at the establishment. | 48 |
total_hours_worked | number | Total hours worked by all employees - the denominator that makes incidence-rate math honest. | 89734 |
no_injuries_illnesses | integer | Flag: 1 = establishment had recordable injuries or illnesses, 2 = it did not. | 1 |
total_deaths | integer | Total deaths recorded on Form 300A field G. | 0 |
total_dafw_cases | integer | Cases with days away from work (Form 300A field H). | 1 |
total_djtr_cases | integer | Cases with job transfer or restriction (Form 300A field I). | 0 |
total_other_cases | integer | Other recordable cases (Form 300A field J). | 0 |
total_dafw_days | integer | Total days away from work (Form 300A field K). | 0 |
total_djtr_days | integer | Total days of job transfer or restriction (Form 300A field L). | 0 |
total_injuries | integer | Total injuries (Form 300A field M1). | 1 |
total_skin_disorders | integer | Skin disorder cases (Form 300A field M2). | 0 |
total_respiratory_conditions | integer | Respiratory condition cases (Form 300A field M3). | 0 |
total_poisonings | integer | Poisoning cases (Form 300A field M4). | 0 |
total_hearing_loss | integer | Hearing loss cases (Form 300A field M5). | 0 |
total_other_illnesses | integer | All other illness cases (Form 300A field M6). | 0 |
created_timestamp | datetime | Date and time the record was submitted to the ITA. | 2026-02-14T09:31:22 |
change_reason | string | Reason an establishment's summary was changed after submission, if applicable. | - |
year_filing_for | integer | Calendar year the submission covers. | 2025 |
Additional fields on request | - | Case detail columns from Forms 300 and 301 (2024 filing year onward), including OIICS-coded injury classifications; inspection-level activity numbers, violation items and penalty amounts; severe injury narrative and event fields; chemical exposure sample results; and the archived 1996-2011 Data Initiative rate fields ship with your sample on request. | - |
Questions buyers ask
What is OSHA Enforcement & Injury Data?
The federal workplace-safety ledger, delivered by Datadory in two linked halves: establishment-level Form 300A injury and illness summaries filed under the Injury Tracking Application, plus case detail from Forms 300/301 - and the enforcement side of inspections, citations, penalties, severe injuries, fatalities and chemical exposure samples.
How many establishments does the injury data cover?
Roughly 383,000 establishment rows in the 2025 Form 300A summary file alone, with yearly archives back to 2016. Support-services trades - janitorial, security, landscaping and business support NAICS codes - contribute tens of thousands of those rows because OSHA designates them high-hazard industries.
Does it include inspection and citation history, not just filings?
Yes. Inspection records carry activity numbers, cited violations item by item and penalty amounts; Severe Injury Reports cover amputations, hospitalizations and eye losses since January 2015; the fatality table covers federal inspections opened after April 2011; chemical exposure samples reach back to 1984.
Can I compute real injury rates from it?
That is what the hours-worked field is for. Each establishment row carries total_hours_worked, so an incidence rate per 100 full-time-equivalent workers is arithmetic on one row. OSHA itself cautions against ranking establishments on raw rates alone, and the same caution belongs in any model built here.
Which years does the data span?
Form 300A summaries run 2016-2025; case detail files start with the 2024 filing year; severe injury reports begin January 2015; the fatality table reaches to April 2011 for federal inspections; chemical exposure samples go back to 1984; and the archived Data Initiative rates cover 1996-2011.
What can I build from establishment-level safety data?
Vendor screening lists for facilities procurement, ranked prospect sheets for safety-equipment and compliance-software sales, sector-correct benchmarking for ESG reports, underwriting inputs for workers' compensation, and labeled panels for predicting where incidents happen next.
See the rows before you pay anything.
Name this dataset and we send real records from it — scoped to the fields you asked for.