Datasets · v2026.05
OSHA Citations — Q1 2026 (Citation-Level)
Every OSHA citation issued in the first quarter of 2026, joined to inspection and resolved-employer context. Per-citation granularity: one row per cite, not per inspection.
Published May 2026 · Refreshed May 2026 · Covers 2026 · 28,828 citations · CC-BY-4.0
Also available on: Hugging Face · Zenodo
Methodology
Overview
This dataset contains every OSHA citation issued during the first quarter of 2026 (January 1 through March 31), joined to inspection-level and employer-level context. The unit of observation is the individual citation — not the inspection or the employer — so each row represents exactly one cite. An inspection that produced six citations contributes six rows; an employer cited at five separate inspections during the quarter contributes one row per citation across them.
OSHA issues citations after an inspection finds a workplace safety
violation. Each citation references a specific OSHA standard (the
"standard cited" field is not in this release; see Known limitations).
The four most consequential fields for downstream analysis are
viol_type (the severity class — Serious, Willful, Repeat, Other),
gravity (1–10 inspector-assessed severity), current_penalty (the
post-settlement penalty), and agencies_alltime (the cross-agency
footprint of the cited employer).
Data sources
- U.S. Department of Labor, OSHA — Inspection and Violation Records (public OIS extracts published via the DOL v4 enforcement API). Refreshed daily at FastDOL.
- FastDOL employer-resolution pipeline. Each OSHA inspection's
establishment-name + state + zip5 tuple resolves to a deterministic
UUID (
employer_id), making citations joinable to other federal datasets keyed on the same identity. - SEC EDGAR Exhibit 21 + curated parent overrides — populates the
parent_namecolumn when an OSHA-cited establishment is owned by a publicly-disclosed parent.
All source data is public-records information released by the Department of Labor under FOIA and posted by the agency in machine-readable form.
Methodology
Citations are pulled from FastDOL's violation_detail table, which
mirrors OSHA's IMIS violation feed at the citation grain. Each violation
is joined to its parent inspection (inspection_detail, on
activity_nr), and the inspection is joined to the resolved employer
(employer_profile, on employer_id). The Q1 2026 filter is applied
on vd.issuance_date >= 2026-01-01 AND vd.issuance_date < 2026-04-01.
The employer_name column is lightly cleaned with REGEXP_REPLACE to
strip OSHA's legacy case-prefix patterns (e.g. "CPX2026XJW184X0206 - B & F CONTRACTING" → "B & F CONTRACTING"). The agencies_alltime
column is an in-database aggregation: the full set of federal agencies
with any recorded activity against the same employer_id across the
entire FastDOL history, joined as a pipe-delimited string for CSV
compatibility.
Refresh cadence
This release is a fixed Q1 2026 snapshot. The upstream OSHA bronze feed
refreshes daily; future releases will issue quarterly snapshots
(osha-citations-2026-q2, osha-citations-2026-q3, etc.) following the
same methodology so quarter-over-quarter comparisons are point-in-time
clean.
Known limitations
- Federal-OSHA jurisdiction only. OSHA shares enforcement with 22 state-plan states (California, Oregon, Washington, North Carolina, and others). State-plan citations are reported separately by each state agency and are not included here. Coverage gaps are largest in those state-plan states.
standard_citedandcontest_dateare not included in this release. Both are spec'd in the OSHA feed schema but not currently bound by the FastDOL loader. A follow-up release will add them.- Penalty amounts reflect assessment, not collection. OSHA's
collection records are not part of the public extract; the
current_penaltyfield is post-settlement but pre-collection. - Inspection-level context is duplicated across citation rows. When
an inspection produced multiple citations, the inspection-level
columns (
inspection_open_date,inspection_type,state,zip5, employer columns) repeat across each row. Sum or count carefully — joining at the inspection level can multiply counts. agencies_alltimeis all-time, not Q1-specific. Use it as a cross-agency footprint signal, not as a Q1-period filter.- Employer resolution is high-confidence but not perfect. False positives (two distinct employers folded into one cluster) and false negatives (one employer split across two clusters) both occur and are most common for generic LLC names and DBAs.
Use cases
- Journalism and policy research on Q1 2026 OSHA enforcement patterns — which industries, geographies, employer sizes saw the most serious / willful / repeat citations.
- Industry benchmarking — pair
agencies_alltimewithviol_typeto surface multi-agency repeat offenders. - Compliance and risk — underwriting or procurement diligence
workflows can filter on
current_penalty > Xorviol_type IN ('W', 'R')for high-signal employer flagging. - Academic study of OSHA enforcement gravity scoring, penalty-to-violation patterns, or post-settlement adjustment behavior across NAICS sectors.
- Cross-walk with the WHD wage-theft dataset (linked under Related
datasets) — the
employer_idcolumn is the same across both, so employers appearing in both feeds in the same quarter are a particularly high-signal cohort.
Schema
18 columns. Types as serialized in the Parquet file.
| Column | Type | Description |
|---|---|---|
| citation_id | string | OSHA citation identifier (unique within an inspection). |
| inspection_id | string | OSHA activity number (FK to the inspection that produced the citation). |
| issuance_date | date | Date the citation was issued by the inspecting officer. |
| viol_type | string | OSHA violation type code. S=Serious, W=Willful, R=Repeat, O=Other-than-serious, U=Unclassified. |
| gravity | integer | Inspector-assessed gravity score (1–10). |
| initial_penalty | number | Penalty as initially assessed by OSHA, in U.S. dollars. |
| current_penalty | number | Penalty after any informal-conference reduction or formal-contest settlement. May equal initial_penalty when no adjustment occurred. |
| inspection_open_date | date | Open date of the inspection that produced this citation. |
| inspection_close_date | date | Close date of the inspection; null when the inspection is still open. |
| inspection_type | string | Inspection trigger code. A=Accident, C=Complaint, P=Planned, R=Referral, etc. See OSHA's inspection-type reference. |
| state | string | USPS two-letter state code of the inspected establishment. |
| zip5 | string | Five-digit ZIP code of the inspected establishment. |
| employer_id | string | FastDOL deterministic employer identifier (UUID derived from normalized name + state + zip5). Stable across releases. |
| employer_name | string | Establishment name as recorded by OSHA, lightly cleaned. |
| naics_code | string | 6-digit NAICS industry classification code. |
| naics_description | string | Human-readable NAICS industry description. |
| parent_name | string | Resolved corporate parent (FastDOL entity resolution via SEC EDGAR Exhibit 21 + curated overrides); null when no parent is identified. |
| agencies_alltime | string | Pipe-delimited list of federal agencies with any recorded activity against this employer across the full FastDOL window (not just Q1). Example: "OSHA|WHD|EPA". Useful for cross-agency filtering. |
Cite this dataset
Plain text
Turner, Ben (2026). OSHA Citations — Q1 2026 (Citation-Level) (Version 2026.05) [Data set]. FastDOL. https://doi.org/10.5281/zenodo.20138442
BibTeX
@dataset{turner_federalenforcement_2026,
author = {Turner, Ben},
title = {OSHA Citations — Q1 2026 (Citation-Level)},
year = {2026},
version = {2026.05},
publisher = {FastDOL},
doi = {10.5281/zenodo.20138442},
url = {https://www.fastdol.com/datasets/osha-citations-2026-q1}
}Changelog
2026.05 — 2026-05-12
- Initial public release on FastDOL.
- Source: OSHA IMIS violation feed, Q1 2026 issuance window (2026-01-01 through 2026-03-31).
- 28,828 citations covering 11,000+ inspections at ~9,500 distinct resolved employers.
- Joined to FastDOL employer resolution and SEC EDGAR Exhibit 21 parent disclosures.
- Mirrored to Hugging Face at FastDOLz/OSHA_Citations_Q1_2026.
- Archived on Zenodo with DOI 10.5281/zenodo.20138442 (latest) and concept DOI 10.5281/zenodo.20138441.
- Kaggle and data.world mirrors pending.
Related datasets
- WHD Wage Theft Enforcement Actions by Employer
Employer-level wage theft enforcement records from the U.S. Department of Labor's Wage and Hour Division — back-wages assessed, employees affected, and case counts joined to OSHA enforcement context.
- Cross-Agency Federal Violations
U.S. employers cited by two or more federal agencies — OSHA, WHD, MSHA, EPA, and NLRB joined into a single per-employer view of multi-agency workplace, wage, environmental, and labor-relations violations.
- Public Company Federal Compliance
U.S. workplace enforcement records joined to SEC parent-company financials for 42,302 establishments operated by 714 publicly traded companies — OSHA, WHD, NLRB, and EPA activity rolled up to the registrant entity with revenue, net income, and total assets attached.