Methodology
Last updated: 2026-06-06T07:31:16.802Z
OSHA Violations Tracker aggregates 705,966 OSHA inspections covering 512,238employers. This page explains exactly how we collect, normalize, and present that data so you can judge each field’s reliability.
Data source
We ingest from the U.S. Department of Labor Open Data Portal — the official federal endpoint for OSHA enforcement records. The DOL API exposes daily-refreshed tables covering inspections, violations (citations), accidents, accident injuries, and code lookups.
Tables we ingest
- inspection — every OSHA inspection, keyed by
activity_nr - violation — citations issued during inspections (with type, gravity, penalty)
- accident + accident_injury + accident_abstract — workplace incident detail
Refresh cadence
Our ingest pipeline runs daily. New inspections and citations typically appear within 24-72 hours of being filed by OSHA. The “last updated” date in the footer reflects the most recent sync.
Data window
We index inspections opened on or after 2021-01-01(rolling 5-year window). This is a deliberate scoping choice — older inspections lose relevance for current employer safety assessment. Older history is available via OSHA’s own establishment search.
Employer matching
OSHA does not assign a stable employer ID across inspections — establishment identity is implicit in the estab_name, site_address, and site_state fields. We deduplicate by normalizing name + state into a slug. This means:
- An employer with multiple sites in the same state collapses into one record (with all inspections rolled up).
- An employer operating in multiple states appears as separate records per state.
- Name variants (LLC vs Inc., punctuation, spacing) may incorrectly split or merge entities — cross-check with OSHA’s own establishment search for legally significant decisions.
Severity classification
OSHA assigns a violation type code to each citation:
- Willful (W) — intentional disregard or plain indifference to the law
- Repeat (R) — same/similar violation cited within 5 years
- Serious (S) — substantial probability of death or serious physical harm
- Other-than-serious (O) — direct relationship to safety but unlikely to cause serious harm
- Unclassified (U)
Our display severity (critical / high / medium / standard) maps directly to those codes. For employer-level rollups (e.g. the “Worst Records” index), we use the worst violation code across the employer’s inspection history.
Penalty totals
Penalty figures shown are current penalty assessments after any reductions negotiated during the inspection process. They are not necessarily what the employer ultimately paid — appeals and settlements can further reduce the figure. For collection status, consult OSHA directly.
Limitations & caveats
- Absence of a record is not safety. Many employers have never been inspected. Don’t infer safety from missing data.
- Inspection ≠ violation. An inspection may close without citations. We display violations only when OSHA records them.
- State-plan vs Federal OSHA. Some states (e.g. California, Michigan) operate their own OSHA-approved programs. State-plan data is included in the DOL feed but reporting completeness varies.
- We don’t issue citations. We re-index public federal data. For official enforcement actions, contact OSHA.
Open data
All source data is public domain. For raw access, use the DOL Open Data Portal API at apiprod.dol.gov/v4.
Reporting corrections
Found a misattributed employer, duplicate, or stale entry? Email hello@oshaviolations.org with the activity number and what looks off.