DOL enforcement data - OSHA inspections + WHD wage cases (CSV)
Pricing
from $5.00 / 1,000 records
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
Maintained by CommunityActor 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
| Publisher | U.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/) |
| Files | The 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 reads | The 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 cadence | OSHA 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 |
| Copyright | Works 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 caveats | Not 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
| Field | Type | Meaning |
|---|---|---|
dataset | string | osha_inspection (default) or whd_whisard |
state | string | Optional 2-letter USPS code of the site / employer, e.g. NC |
city | string | Optional city, exact match, case-insensitive |
employer_contains | string | Optional case-insensitive substring of the establishment name (OSHA) or trade / legal name (WHD) |
date_from / date_to | YYYY-MM-DD | Optional, inclusive, on the OSHA OPEN_DATE / WHD FINDINGS_START_DATE. Both empty = the last 90 days |
max_records | integer | Default 300, at most 50,000 — the newest matches by open date |
parallel_downloads | integer | Default 6, at most 8 |
contact_email | string | Sent 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)
| Event | Price |
|---|---|
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.