Technical writing
Wage theft by employer: using DOL Wage and Hour Division enforcement data to find labor violations
The Department of Labor's Wage and Hour Division has been running concluded-investigation records since 2005. Over 300,000 cases are in the public database. Each one contains the employer name and address, the law violated, how much in back wages was found, how much was actually collected, how many workers were affected, and whether civil money penalties were assessed. The data is free, bulk-downloadable, and almost entirely ignored outside of labor advocacy circles.
This article covers what the WHD enforcement database contains, the six federal statutes it enforces, the full data structure, where to get the bulk download and API access, three concrete research use cases, the gap between violations found and penalties collected, how to cross-reference with SAM.gov debarments and NLRB filings, the structural limits of the dataset, and how state labor agency data fills the gaps.
What the WHD enforcement database is
The Wage and Hour Division is the DOL bureau responsible for enforcing federal wage, hour, and labor standards laws. It employs roughly 1,000 investigators nationwide who conduct investigations — either in response to complaints or as planned directed enforcement in target industries. When an investigation concludes, WHD records the outcome in its internal case management system, WHISARD (Wage and Hour Investigative Support and Reporting Database). A subset of WHISARD data — concluded cases only — is published as the public enforcement database.
The public database covers concluded investigations from fiscal year 2005 onward. “Concluded” means the investigation is closed, whether by compliance agreement, litigation, referral to the Solicitor of Labor, or closure without action. Active investigations do not appear. As of mid-2026, the database contains over 300,000 case records across all WHD-enforced statutes. The unit of observation is the investigation, not the violation: a single employer investigation covering multiple employees and multiple legal violations is one record with aggregate back-wages and employee-count figures.
What WHD enforces
The WHD's statutory jurisdiction spans six major federal labor standards laws. Each appears as a distinct value in the enforcement database's act/statute fields.
The Fair Labor Standards Act (FLSA, 1938) is the foundational federal wage law. It establishes the federal minimum wage, the 40-hour overtime threshold requiring time-and-a-half pay, child labor restrictions on hours and hazardous occupations, and recordkeeping requirements for covered employers. FLSA violations are the most common category in the enforcement database by volume — minimum wage underpayment, overtime misclassification, and off-the-clock work account for the majority of back wages recovered. The FLSA covers most private-sector employers engaged in interstate commerce, with limited exemptions for agricultural employers, certain small businesses, and specific occupation categories.
The Migrant and Seasonal Agricultural Worker Protection Act (MSPA, 1983) governs labor contractors and agricultural employers who hire migrant and seasonal workers. It requires written work agreements, disclosure of working conditions, and transportation and housing safety standards. MSPA violations often co-occur with FLSA violations in agricultural investigations because the same employer relationship generates wage underpayment and labor contractor disclosure failures simultaneously.
The H-2A and H-2B temporary worker programs are administered jointly by DOL and DHS. H-2A covers temporary agricultural workers; H-2B covers temporary non-agricultural workers (landscaping, hospitality, seafood processing). WHD enforces the wage and working-condition obligations that employers must meet to legally employ these visa holders: the adverse effect wage rate for H-2A workers, the prevailing wage for H-2B workers, and housing and transportation requirements for H-2A employers. Violations of these program requirements are distinct from FLSA violations and appear in the database under their own act codes.
The Family and Medical Leave Act (FMLA, 1993) entitles eligible employees at covered employers to 12 weeks of unpaid, job-protected leave per year for qualifying family and medical reasons. WHD enforces FMLA by investigating complaints of interference (denying leave) and retaliation (terminating or demoting workers who take leave). FMLA cases in the enforcement database typically involve smaller back-pay amounts than wage cases because the remedy is reinstatement and compensation for lost wages during the relevant period, not recovery of the broader wage underpayment.
The Davis-Bacon Act (1931) and its related acts require contractors and subcontractors on federally funded construction projects to pay their workers the locally prevailing wages and fringe benefits for the type of work performed, as determined by DOL wage surveys. Davis-Bacon applies to federal and federally assisted construction contracts exceeding $2,000. WHD investigates whether contractors are paying the applicable prevailing wage rates. Violations typically involve misclassification of workers into lower-wage job categories, failure to pay fringe benefits, or failure to maintain required payroll records.
The Service Contract Act (SCA, 1965) extends prevailing-wage and fringe-benefit requirements to federal service contracts (custodial, food service, security, IT support) exceeding $2,500. SCA enforcement patterns closely parallel Davis-Bacon: the most common violations are wage-rate misclassification and fringe-benefit underpayment.
Data structure
Each record in the WHD enforcement database contains the following fields. The exact column names vary slightly between the bulk download CSV and the API JSON response, but the content is identical.
case_id # WHD internal case identifier trade_nm # employer trade name (doing-business-as) legal_name # employer legal entity name street_addr_1 # employer street address city_nm # city state_cd # state (two-letter) zip_cd # ZIP code naics_cd # NAICS industry code (6-digit) naics_desc # NAICS description naic_2_digit_cd # 2-digit NAICS sector code fips_cd # county FIPS code # Investigation timeline case_violtn_cnt # count of violation types found case_violtn_actns # concatenated act/section codes for violations flsa_violtn_cnt # count of FLSA-specific violations # Principal statute and violation section act # primary statute: FLSA, MSPA, H2A, H2B, FMLA, DBA, SCA section_violtn # specific section of the act violated # Compliance action type findings_start_dt # date investigation findings period began findings_end_dt # date investigation findings period ended flsa_ovrd_ee_cnt # employees with overtime violations (FLSA) flsa_mw_ee_cnt # employees with minimum wage violations (FLSA) flsa_mw_bw_atp_amt # FLSA minimum wage back wages agreed to pay flsa_ovrd_bw_atp_amt # FLSA overtime back wages agreed to pay flsa_cmp_assd_amt # FLSA civil money penalties assessed flsa_rep_cnt # repeat/willful violation indicator bw_atp_amt # total back wages agreed to pay (all statutes) ee_atp_cnt # employees agreed to pay (all statutes) cmp_assd_amt # total civil money penalties assessed
Two fields that analysts frequently misread: bw_atp_amt is the amount the employer agreed to pay, not the amount actually collected. A separate data pull from WHD's collections unit is required to determine how much was ultimately recovered versus written off. This gap — between back wages found, agreed to pay, and actually collected — is substantial and discussed below.
How to get the data
Three access paths exist, each with different coverage and freshness tradeoffs.
The primary public interface is enforcement.dol.gov, which provides a searchable web interface and bulk CSV downloads. From the site, navigate to Wage and Hour, then select the download option for the full enforcement dataset. The bulk download is updated quarterly and includes all concluded cases from fiscal year 2005 forward. The CSV is large (several hundred megabytes uncompressed) and requires preprocessing to handle encoding issues in employer name fields.
The DOL enforcement API at https://enforcedata.dol.gov/api/ provides programmatic access to the same data. The API supports filtering by state, NAICS code, act, date range, and employer name. Rate limiting is permissive for research use. The API returns JSON with the same field structure as the CSV download. For targeted queries — all FLSA violations in a specific NAICS code in a specific state over a date range — the API is faster than downloading and filtering the bulk CSV.
# Pull WHD enforcement data via the DOL API
import requests
import pandas as pd
BASE = "https://enforcedata.dol.gov/api/whd/v1"
def get_whd_cases(state: str, naics_2: str, start_year: int = 2019) -> pd.DataFrame:
"""Fetch WHD enforcement cases for a state and 2-digit NAICS sector."""
params = {
"state": state,
"naic_2_digit_cd": naics_2,
"case_status": "C", # concluded cases only
"start_date": f"{start_year}-10-01", # DOL fiscal year starts Oct 1
}
resp = requests.get(f"{BASE}/cases", params=params, timeout=30)
resp.raise_for_status()
data = resp.json()
return pd.DataFrame(data.get("data", []))
# Example: full-service restaurants (NAICS 72) in Florida
df = get_whd_cases("FL", "72", start_year=2019)
print(df[["trade_nm", "bw_atp_amt", "ee_atp_cnt", "cmp_assd_amt"]].head(20))For historical research, the Data.gov dataset (DOL Wage and Hour Division Compliance Action Data) provides an alternative download with consistent field naming across years. The Data.gov version is typically three to six months behind the enforcement.dol.gov quarterly update, but it is stable and well-documented for bulk analysis pipelines.
Research use case: restaurant and agricultural wage theft
The two industries that generate the highest volume of WHD back-wages findings, year over year, are food service (NAICS 72) and agriculture (NAICS 11). This is not an artifact of targeting: directed enforcement in these sectors is partly a response to high complaint volumes, which are themselves a reflection of structural conditions that generate wage violations at scale.
In food service, the most common FLSA violations are tip credit abuse (employers claiming the reduced minimum wage for tipped workers while requiring them to perform non-tipped work exceeding the 20-percent tolerance), off-the-clock work at the beginning and end of shifts, and overtime misclassification of assistant managers as exempt executives. The enforcement database shows these patterns by NAICS code and violation section: a filter on naics_2_digit_cd = '72' and section_violtn LIKE '%203(m)%' (the tip credit provision) isolates the tip credit cases.
# Identify tip-credit violation cases in food service
import pandas as pd
df = pd.read_csv("whd_whisard.csv", low_memory=False)
# 2-digit NAICS 72 = Accommodation and Food Services
food_service = df[df["naic_2_digit_cd"].astype(str).str.startswith("72")]
# FLSA Section 203(m) covers the tip credit
tip_credit = food_service[
food_service["case_violtn_actns"].str.contains("203(m)", na=False, regex=False)
]
print("Tip credit cases:", len(tip_credit))
print("Back wages agreed: $", tip_credit["bw_atp_amt"].sum())
print("Employees affected:", tip_credit["ee_atp_cnt"].sum())
# Top employers by back wages
top = (
tip_credit.groupby("trade_nm")[["bw_atp_amt", "ee_atp_cnt"]]
.sum()
.sort_values("bw_atp_amt", ascending=False)
.head(20)
)
print(top)In agriculture, H-2A and MSPA violations frequently accompany FLSA minimum-wage findings. The enforcement database lets you identify specific farm labor contractors — the intermediaries between growers and workers — who generate repeated violations. Labor contractor names appear in the trade_nm field when they are the investigation subject; the grower they are contracting for does not appear in the same record, which is a limitation discussed further below.
Research use case: repeat violator tracking
The WHD enforcement database has no built-in repeat-violator flag, but repeat violations are detectable through grouping. An employer cited in multiple concluded investigations for the same act and violation section, across different date ranges, is a repeat violator. The flsa_rep_cnt field flags individual cases where the FLSA violations were found to be repeat or willful (which doubles or triples the civil money penalty), but this field reflects the characterization of violations within a single investigation, not the employer's history across investigations.
# Find employers with multiple concluded investigations
employer_counts = (
df.groupby("trade_nm")
.agg(
investigation_count=("case_id", "count"),
total_bw=("bw_atp_amt", "sum"),
total_ee=("ee_atp_cnt", "sum"),
first_case=("findings_start_dt", "min"),
last_case=("findings_end_dt", "max"),
acts_cited=("act", lambda x: ", ".join(sorted(x.dropna().unique()))),
)
.reset_index()
.query("investigation_count >= 3")
.sort_values("total_bw", ascending=False)
)
print(f"Employers with 3+ concluded investigations: {len(employer_counts):,}")
print(employer_counts.head(30).to_string())Employer name matching across WHD investigations is imperfect: a chain restaurant with 50 locations may appear under the corporate name, the franchisee name, and the doing-business-as name in different records. Entity resolution using the address fields — same ZIP code, same or similar legal name — improves repeat-violator identification significantly over raw name matching alone.
Research use case: Davis-Bacon federal contractor compliance
Davis-Bacon cases in the enforcement database represent a distinct population from FLSA and agricultural cases: the violators are construction contractors and subcontractors working on federally funded projects. The presence of a federal contract means the employer is also in SAM.gov (System for Award Management), which enables cross-referencing the WHD violation record against the employer's active federal contracts and any debarment history.
Davis-Bacon violations can result in debarment from federal contracting for three years under 40 U.S.C. § 3144. The SAM.gov debarment list (the Excluded Parties List System, EPLS) is searchable via the SAM.gov API and bulk download. The cross-reference pipeline joins WHD enforcement records where act = 'DBA' or act = 'SCA' against SAM.gov active exclusions by employer name and state:
import pandas as pd
import requests
# Step 1: filter WHD data to Davis-Bacon and SCA cases
dba_sca = df[df["act"].isin(["DBA", "SCA"])].copy()
dba_sca["name_norm"] = (
dba_sca["trade_nm"]
.str.upper()
.str.replace(r"[^ws]", "", regex=True)
.str.strip()
)
# Step 2: pull SAM.gov active exclusions for construction sector
sam_url = "https://api.sam.gov/entity-information/v3/exclusions"
params = {
"api_key": "YOUR_API_KEY", # register at sam.gov for free key
"exclusionStatusCode": "A", # active exclusions only
"entityType": "Business",
"limit": 10000,
}
resp = requests.get(sam_url, params=params)
exclusions = pd.DataFrame(resp.json()["exclusionSummaries"])
exclusions["name_norm"] = (
exclusions["entityName"]
.str.upper()
.str.replace(r"[^ws]", "", regex=True)
.str.strip()
)
# Step 3: join on normalized name
overlap = dba_sca.merge(
exclusions[["name_norm", "exclusionType", "activeDate", "terminationDate"]],
on="name_norm",
how="inner",
)
print(f"DBA/SCA violators also on SAM.gov exclusions list: {len(overlap):,}")
print(overlap[["trade_nm", "bw_atp_amt", "exclusionType", "activeDate"]].head(20))In practice, the overlap between WHD Davis-Bacon violators and SAM.gov active exclusions is smaller than the WHD violation record would suggest. Most Davis-Bacon cases are resolved through back-wage agreements without formal debarment proceedings. WHD refers cases for debarment consideration through the DOL Solicitor; the Solicitor has discretion over which cases to pursue. The cross-reference reveals which contractors have progressed from violation to formal exclusion — a higher bar than mere investigation finding.
The gap between violations found and penalties collected
The most analytically significant limitation in the WHD enforcement database is the distinction between back wages found, back wages agreed to pay, and back wages actually collected. The bw_atp_amt field records the amount employers agreed in compliance agreements to pay back to workers. It does not record whether that payment was made.
WHD's own collections data — released periodically in response to congressional requests and FOIA filings — shows that collections rates vary significantly by employer size and violation type. Small employers in high-turnover industries (food service, agriculture, residential construction) have elevated non-collection rates: the employer closes, disappears, or files for bankruptcy between the compliance agreement and the payment deadline. Larger employers almost always pay agreed amounts; the enforcement risk for them is reputational and contractual, not collection-related.
Civil money penalties show a wider gap. The FLSA authorizes penalties of up to $2,374 per child labor violation and up to $2,374 per willful minimum wage or overtime violation. The database records penalties assessed; collection is a separate administrative process. WHD historically collects a higher fraction of assessed civil money penalties than of agreed back wages in cases involving disappearing small employers, because penalty collection can involve administrative offset against tax refunds, whereas back-wage collection for workers requires locating the employees to distribute the funds.
Cross-referencing with other enforcement databases
Three external datasets extend the analytical value of the WHD enforcement record.
SAM.gov debarments (described above for Davis-Bacon) apply more broadly: FLSA repeat or willful violators can also be barred from federal contracts under the FAR (Federal Acquisition Regulation), though this authority is rarely used relative to Davis-Bacon debarments. Employers who appear in both the WHD FLSA enforcement database and as federal contractors in SAM.gov active awards represent a policy gap worth documenting: the same employer paying below minimum wage is also receiving federal contract funds.
NLRB unfair labor practice cases overlap with WHD enforcement in the retaliation context. An employer who fires workers who complain about wage theft may face both a WHD investigation (for the underlying FLSA violation) and an NLRB charge (for retaliating against concerted protected activity). The NLRB case management system is searchable at nlrb.gov by employer name and date range; the two databases share employer name and address fields that enable approximate matching. Employers appearing in both databases within overlapping date windows are facing coordinated labor enforcement pressure, which is a signal worth tracking independently of the individual case outcomes.
EEOC discrimination charge data intersects with WHD enforcement in the agricultural and food service sectors, where the same employer populations that generate high wage theft complaint volumes also generate elevated rates of national-origin discrimination charges. WHD case records in agriculture involving H-2A workers often co-occur with EEOC charges from the same employer involving discrimination against domestic workers who were passed over for positions filled by H-2A visa holders. This pattern — H-2A program abuse combined with domestic worker discrimination — is detectable in the public enforcement records of both agencies without any non-public data.
Limitations of the enforcement database
The WHD enforcement database is a record of concluded investigations, not a census of wage theft. Several structural features cause systematic undercounting that researchers should understand before drawing conclusions from the data.
Only employers who were actually investigated appear in the database. WHD's 1,000 investigators cannot cover the universe of covered employers; they prioritize complaint response and directed enforcement in high-violation industries. The roughly 10 million employers covered by FLSA vastly outnumbers the investigation capacity. The database therefore reflects where WHD looked, not where all violations exist.
Voluntary compliance bias further shapes the record. Employers who are likely to cooperate with an investigation are more likely to reach compliance agreements; employers who resist are more likely to be referred to the Solicitor of Labor for litigation. Litigation cases take years and often settle; the concluded-cases database includes both compliant closures and litigated settlements, but the unit-of-analysis is different and the timing of record appearance is not consistent across enforcement tracks.
The investigation covers the employer, not the full supply chain. A retailer whose suppliers underpay workers does not appear in the WHD database unless WHD investigates the supplier directly. Labor contractor investigations record the contractor's violations but not the contracting employer's. This structure means the database systematically underrepresents the role of the companies at the top of supply chains in wage theft patterns.
Finally, the employer size distribution in WHD enforcement skews heavily toward small employers. The majority of WHD investigations involve employers with fewer than 50 employees. This reflects both the complaint-driven nature of much WHD enforcement (workers at large employers are more likely to have access to legal counsel and union representation, which changes how violations are addressed) and the resource calculus of directed enforcement (investigations of small employers are faster to conclude than investigations of multi-location chains). Large-employer violations that appear in the database are therefore especially notable: they represent cases where WHD actually investigated a large-employer wage practice and found violations, which is a higher enforcement bar.
State labor department data as complement
The WHD database covers federal law only. Most states have their own minimum wage laws (often higher than the federal floor), overtime laws, wage payment timing requirements, and enforcement agencies. State labor agency enforcement data fills two gaps in the federal record.
First, state agencies cover employers below the federal FLSA threshold — primarily very small businesses that are not engaged in interstate commerce. Second, state agencies enforce state-specific protections that have no federal analog: predictive scheduling laws in cities like Seattle and New York, enhanced tip credit restrictions, and pay frequency requirements. The largest state labor agency enforcement databases — California Labor Commissioner, New York Department of Labor, Illinois Department of Labor — are publicly accessible and cover enforcement actions that never appear in the federal WHD database because they involve state law only.
California's Labor Commissioner publishes a searchable wage claim database at dir.ca.gov covering final orders, citations, and settlements. New York's Department of Labor publishes an employer violations database covering minimum wage, overtime, and prevailing wage findings. Both are downloadable and joinable to the federal WHD database on employer name and state, though entity resolution is required. The combined federal and state enforcement record, for employers operating in states with active enforcement agencies, is substantially richer than either source alone — and reveals patterns in employer wage practices that the federal enforcement floor consistently misses.
For union election data and NLRB enforcement records that cross-reference with WHD cases: Who won, who lost: five years of union elections in NLRB data →
For EEOC discrimination charge data covering the same employer populations as WHD enforcement: By the numbers: using EEOC charge statistics to find discrimination patterns by industry and employer →
For OSHA inspection and enforcement data covering workplace safety at the same employer sites: OSHA inspection records: how to query 100 years of workplace safety enforcement →