What the WHD enforcement dataset covers.
Every concluded WHD compliance action across more than twenty federal labor statutes is in this dataset, including FLSA (and its child labor and subminimum wage variants), SCA (Service Contract Act), MSPA (Migrant and Seasonal Agricultural Worker Protection Act), DBRA (Davis-Bacon and Related Acts), CWHSSA (Contract Work Hours and Safety Standards Act), PCA (Walsh-Healey), H-1A, H-1B, H-2A, H-2B, FMLA, EPPA, plus a handful of WHD-investigated OSHA cases (this is not the OSHA inspection dataset, for that see OSHA inspection records).
- A "case" = one concluded WHD investigation (case_id)
- Not one violation. A single case can carry many violations across multiple statutes.
- Open investigations are absent
- The dataset only contains concluded compliance actions. A subcontractor with a pending investigation will show nothing here.
- Statute coverage is broader than FLSA
- Federal contracting compliance officers should especially watch SCA, DBRA, and the H-visa statutes, these are the federal-contractor-specific labor regimes, distinct from FLSA which covers the private sector broadly.
Searching via data.dol.gov.
The legacy enforcedata.dol.gov URLs 301-redirect to data.dol.gov, the DOL Open Data Portal. If you have an old bookmark or an internal SOP that references enforcedata.dol.gov, the link still works but resolves to the new portal.
- Step 1
- Open data.dol.gov and select the WHD Compliance Action dataset.
- Step 2
- Search the company under both legal name and trade name. WHD records legal_name and trade_nm as separate fields.
- Step 3
- Narrow by st_cd, cty_nm, zip_cd, NAICS, and findings_end_date to scope the result set.
- Step 4
- Each result row is a closed case. Multiple rows for the same legal_name = pattern; cross-check by case_id to confirm distinct cases.
Querying the V4 endpoint.
For bulk lookups (sub portfolio screening, monitoring jobs, comparative analysis), the V4 API is the right tool. Endpoint: https://apiprod.dol.gov/v4/get/WHD/enforcement/json. Auth: X-API-KEY header, free, obtained via the DOL Open Data Portal account.
Filter grammar uses a JSON filter_object with operators eq, neq, lt, gt, in, not_in, like, plus boolean and / or. Output formats: json, xml, csv. Paging: limit (max 200) plus offset.
A working example query for repeat-violator FLSA cases in Virginia:
curl "https://apiprod.dol.gov/v4/get/WHD/enforcement/json?limit=50\
&fields=case_id,legal_name,trade_nm,cty_nm,st_cd,naic_cd,case_violtn_cnt,bw_atp_amt,cmp_assd,flsa_repeat_violator,findings_end_date\
&filter_object={\"and\":[{\"field\":\"st_cd\",\"operator\":\"eq\",\"value\":\"VA\"},{\"field\":\"flsa_repeat_violator\",\"operator\":\"eq\",\"value\":\"Y\"}]}" \
-H "X-API-KEY: $DOL_API_KEY"Without the X-API-KEY header, the endpoint returns HTTP 403 MissingAuthenticationTokenException. Get a key first.
Reading violation severity. There is no willful flag.
The single most important correction this page can make: the V4 schema does NOT expose a standalone flsa_willful_violator field. Some third-party explainers imply such a flag exists. It does not. Willfulness is inferred, not labeled.
- flsa_repeat_violator (Y / N)
- The employer was previously cited for the same FLSA provision. Repeat status drives elevated civil money penalties under 29 USC 216(e). This field IS exposed and IS sortable / filterable in V4.
- Willfulness (inferred, not labeled)
- No standalone field. Willfulness is signaled by (a) the presence and size of
flsa_cmp_assd_amt, civil money penalties are statutorily reserved for repeated or willful violations under 29 USC 216(e), and (b) court-recognized factors: an employer who "knew or showed reckless disregard" for whether its conduct violated FLSA. This is the McLaughlin v. Richland Shoestandard. Willfulness extends FLSA's statute of limitations from two years to three. - Ordinary violations
- Violation counter > 0 with no civil money penalty and no repeat flag. Often paperwork or recordkeeping deficiencies. Common in the dataset; rarely a procurement-disqualifying signal on their own.
Assessed vs collected, the distinction that ruins reports.
The penalty fields in V4 are easy to misread. The dataset reports what was assessed at case conclusion, not what was actually collected.
- bw_atp_amt
- Back wages AGREED TO PAY. Not back wages collected. Settlement and partial payment can change the actual figure substantially.
- cmp_assd
- Civil money penalties ASSESSED. Often reduced on informal review under the Field Operations Handbook.
- ee_atp_cnt
- Number of employees the back wages cover.
- Per-statute breakouts
- flsa_mw_bw_atp_amt (minimum wage), flsa_ot_bw_atp_amt (overtime), flsa_15a3_bw_atp_amt (retaliation under 29 USC 215(a)(3)), and parallel breakouts for SCA, MSPA, etc.
Worked example. A case showing $50,000 in bw_atp_amt covering 80 employees averages $625 per employee, modest individual exposure but a pattern indicator if the same employer shows multiple cases or a repeat-violator flag. Always pair the dollar figure with the violation count and the employee count.
Common interpretation mistakes.
- High
case_violtn_cnt≠ bad actor. A single recordkeeping case can carry dozens of violation rows. Always pair withcmp_assdandbw_atp_amt. - Small employer ≠ clean employer. WHD directs investigations into low-wage industries (agriculture, food service, construction) regardless of size. Presence in the dataset is not by itself disqualifying.
- Absence ≠ clean. Open or in-progress cases are NOT in the dataset. A subcontractor with a pending investigation will show nothing.
- Old findings need context. A
findings_end_datefrom eight years ago with no recurrence is materially different from one from last quarter. Always time-bucket. flsa_repeat_violator = Ndoesn't mean "first offense ever." It means no prior FLSA same-provision repeat status. SCA or H-2A history may still exist in other counters.- Don't equate
bw_atp_amtwith employer financial harm. Companies often settle for less; conversely, additional liquidated damages can double the figure in private litigation that follows.
How DiligenceDesk reads DOL Wage and Hour data.
DiligenceDesk pulls this dataset on every audit. We normalise legal-name aliases to anchor on the right entity, cross-reference SAM.gov registration and OSHA inspections to surface patterns rather than isolated events, surface repeat-violator status alongside SCA, H-1B, and MSPA counters, and time-bucket findings so a 2017 case does not get the same weight as a 2025 one.
For the broader picture, see the methodology page for the verdict ladder this evidence feeds into, the OSHA inspection record guide for the safety dataset (separate from WHD-investigated OSHA cases), and Step 3 of the contractor due-diligence checklist for where labor history fits in the workflow.
Pull DOL Wage and Hour history on any federal vendor in seconds.
Free. No account. DOL WHD enforcement reconciled with SAM.gov, OSHA, ITA sanctions, and five more federal sources.