DOL enforcement data - OSHA inspections + WHD wage cases (CSV) avatar

DOL enforcement data - OSHA inspections + WHD wage cases (CSV)

Pricing

from $5.00 / 1,000 records

Go to Apify Store
DOL enforcement data - OSHA inspections + WHD wage cases (CSV)

DOL enforcement data - OSHA inspections + WHD wage cases (CSV)

OSHA inspections and Wage and Hour Division (WHISARD) cases from the U.S. Department of Labor's open-data portal bulk files, no API key. Filter by state, city, employer name and open date; one normalised row per inspection or case: dates, NAICS, type, violations, back wages, penalties.

Pricing

from $5.00 / 1,000 records

Rating

0.0

(0)

Developer

RetrainMap Team

RetrainMap Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

DOL enforcement data — OSHA inspections + WHD wage cases (CSV)

One row per OSHA inspection or Wage and Hour Division (WHISARD) compliance case from the U.S. Department of Labor's Open Data Portal, filtered by state, city, employer name and open date: id, employer, address, NAICS/SIC, open and close dates, inspection type and scope (OSHA), violations, employees affected, back wages and civil penalties (WHD), plus a link to the OSHA inspection page — normalised to one flat layout for both datasets, ready for CSV or JSON. No API key needed.

The default input (OSHA inspections, North Carolina, last 90 days, up to 300 rows) succeeds within 5 minutes and returns rows — Apify auto-tests it daily.

Data source and status

PublisherU.S. Department of Labor — Occupational Safety and Health Administration (OSHA) and Wage and Hour Division (WHD), via the DOL Open Data Portal (https://data.dol.gov/)
FilesThe portal's public "Download Complete Dataset" files: https://data.dol.gov/data-catalog/OSHA/inspection/OSHA_inspection.zip (1.44 GB, 104 CSV parts, ~5.2 million inspections since the 1970s) and https://data.dol.gov/data-catalog/WHD/enforcement/WHD_enforcement.zip (200 MB, 8 parts, ~368,000 concluded cases since FY 2005). Dataset pages: https://data.dol.gov/datasets/10334 (OSHA inspection) and https://data.dol.gov/datasets/10362 (WHD enforcement); key-free catalogue: https://apiprod.dol.gov/v4/datasets
What this Actor readsThe ZIP central directory, then every CSV part through HTTP Range requests, up to 6 (at most 8) in parallel; the whole file is scanned on every run because the rows are in database order, not by date. The portal catalogue is read once to confirm the dataset is still listed
Refresh cadenceOSHA inspection: the portal file is regenerated about weekly (the 2026-09-03 file's newest open date was 2026-08-31 — a lag of days for opened inspections; closed dates fill in later). WHD enforcement: concluded cases only, regenerated about weekly, with a lag of months to years between a case's start date and its appearance (the 2026-08-31 file had 69 cases started in 2026). load_date on each row and the portal's updated_at in RUN_SUMMARY say how fresh a row is
CopyrightWorks of the United States Government are not subject to copyright in the U.S. (17 U.S.C. §105). The data are public; please cite the Department of Labor as the source
Known caveatsNot an API read: the former Enforcement Data API (enforcedata.dol.gov, /api/v1/…) now redirects to the portal, and the portal's row API (apiprod.dol.gov/v4/get/…) requires a registered key — so this Actor reads the public bulk files instead, which costs ~1.4 GB of transfer and 1–3 minutes per OSHA run (~200 MB, under a minute for WHD); every run scans the full file, so a wider filter costs nothing extra; the newest max_records matches by open date are written; rows without a parseable open date never match; OSHA type/scope/owner_type/safety_or_health labels are null for codes outside the OSHA data dictionary lists (the raw code is kept); WHD rows carry no per-case web page, so source_url is the bulk file; the WHD file contains a handful of impossible dates (e.g. year 3590) exactly as published

Honesty note: the rows are the bulk files' own columns renamed to one common layout — OSHA code letters are translated with the OSHA data dictionary's code lists (and kept raw next to the label), WHD statute columns with non-zero values are kept under details.nonzero_statute_columns, numbers are parsed only when they are plain numerals. Nothing is inferred, summarised or classified by this Actor, and a run stops with an error rather than guess when a file's layout changes.

Identification: the requests carry a product-token User-Agent and the operator's contact address in the standard From: header (RFC 9110 §10.1.2).

Input

FieldTypeMeaning
datasetstringosha_inspection (default) or whd_whisard
statestringOptional 2-letter USPS code of the site / employer, e.g. NC
citystringOptional city, exact match, case-insensitive
employer_containsstringOptional case-insensitive substring of the establishment name (OSHA) or trade / legal name (WHD)
date_from / date_toYYYY-MM-DDOptional, inclusive, on the OSHA OPEN_DATE / WHD FINDINGS_START_DATE. Both empty = the last 90 days
max_recordsintegerDefault 300, at most 50,000 — the newest matches by open date
parallel_downloadsintegerDefault 6, at most 8
contact_emailstringSent in the From: header

Example — concluded WHD cases since 2024 whose employer name contains "restaurant":

{ "dataset": "whd_whisard", "employer_contains": "restaurant", "date_from": "2024-01-01", "max_records": 100 }

Output (dataset row)

dataset, agency, activity_id (OSHA ACTIVITY_NR / WHD CASE_ID), employer_name (OSHA ESTAB_NAME / WHD TRADE_NM), legal_name (WHD), address, city, state, zip, naics, naics_description (WHD), sic (OSHA), open_date, close_date, type_code / type (OSHA inspection type: Accident, Complaint, Referral, Planned, Fatality/Catastrophe, …), scope_code / scope (Complete, Partial, No Inspection, Records Only), safety_or_health, owner_type (Private / Local / State / Federal Government), violations_count, employees_affected, back_wages_amount, employees_paid_back_wages, civil_penalty_amount (WHD; null for OSHA rows), details (OSHA: close-conference and case-modified dates, owner code, advance notice, union status, employees in establishment, reporting id, state-plan flag, mailing address, industry flags; WHD: FLSA repeat-violator flag and the non-zero statute columns), load_date, source_url, source_file, fetched_at.

A run summary (filters, file size and parts, the file's column list, rows scanned, rows without an open date, the file's oldest and newest open dates, matches, requests, bytes, seconds, the portal's catalogue entry) is stored as RUN_SUMMARY in the run's key-value store.

Pricing (pay per event)

EventPrice
run-start — once per run$0.10
record — per row written$0.005

The default pull (≤ 300 rows) costs at most $1.60; 1,000 rows cost $5.10. Rows stop when your run's maximum charge is reached; the run summary says so.

Operator

Steelyard Ventures LLC (RetrainMap) — info@steelyardclinical.com. Not affiliated with the Department of Labor, OSHA or WHD. The Actor writes only to its own dataset and key-value store; it stores no credentials and sends nothing else.