DOL Wage & Hour Enforcement Search
Pricing
$30.00 / 1,000 result returneds
DOL Wage & Hour Enforcement Search
Search the U.S. Department of Labor Wage and Hour Division (WHD) enforcement database for labor law violations, back wages, civil penalties, and employee impact data across 20+ federal statutes.
Pricing
$30.00 / 1,000 result returneds
Rating
0.0
(0)
Developer
Ryan Clinton
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
3
Monthly active users
0.95 hours
Issues response
10 days ago
Last modified
Share

Screen suppliers, contractors, franchisees, and employers for labor-compliance risk using official U.S. Department of Labor Wage and Hour Division (WHD) enforcement data. Turn hundreds of thousands of raw DOL investigation records into entity-level risk intelligence — who the repeat offenders are, who's getting worse, and which vendors to pass, review, or reject.
- ✓ Supplier & contractor screening — one pass/review/fail verdict per vendor
- ✓ Repeat-offender & recidivism detection — risk score, band, and behaviour over time
- ✓ Child-labor monitoring — a dedicated risk rollup procurement and ESG teams gate on
- ✓ Wage-theft & prevailing-wage intelligence — categories, patterns, and federal-contractor exposure
- ✓ Portfolio & watchlist monitoring — entity risk-change alerts across scheduled runs
- ✓ Investigative research — rank the worst offenders across an industry or state
Every case is scored, categorised, and ranked; every employer is resolved to a canonical entity and profiled with a deterministic risk model — across 20+ federal statutes covering FLSA minimum wage and overtime, child labor, FMLA, H-1B/H-2A/H-2B visa programs, and Davis-Bacon prevailing wages.
What does DOL Wage & Hour Enforcement Search do?
This actor queries the official DOL API (v4) to retrieve enforcement action records from the Wage and Hour Division, the federal agency responsible for enforcing compliance with major U.S. labor laws. The WHD database contains hundreds of thousands of investigation records spanning decades, covering every U.S. state and territory.
Each enforcement record contains the full details of a DOL investigation: the company investigated, location, industry classification, the specific statutes violated, number of violations found, total back wages owed to employees, civil monetary penalties assessed, and how many workers were affected. On top of the raw data, every case is given a deterministic severity band and score, a headline enforcement category (Wage Theft, Child Labor, Visa Program Abuse, Prevailing Wage…), rule-based violation pattern tags, and a plain-English summary — so you can sort straight to the cases that matter instead of reading rows.
The actor supports filtering by company name (single or several at once), geographic location, industry (NAICS code), specific statute, date range, minimum back wage or penalty thresholds, repeat-FLSA-violator status, and a minimum severity floor. Results are ranked severity-first so the most serious cases lead the dataset. Turn on employer summaries to aggregate every returned case for a company into a repeat-offender score, timeline, enforcement-velocity trend, and violation concentration — and set a watchlist to track suppliers or contractors across scheduled runs and surface only newly-published enforcement actions.
You can preview the full output shape without a key first — see Try with dry run mode under How to use.

Features
- Severity scoring -- Every case gets a deterministic
severityband (critical/high/medium/low) and 0–100severityScorederived from back wages, penalties, repeat-violator status, child labor, and employees affected. Results lead with the worst offenders, so you see the cases that matter first. - Plain-English summaries -- Each record carries a one-line
summarystring an LLM or analyst can quote without joining fields. - 20+ statute coverage -- Search violations across FLSA, FMLA, H-1B, H-2A, H-2B, SCA, Davis-Bacon, MSPA, CWHSSA, EPPA, and FLSA Child Labor provisions
- Per-statute breakdowns -- Every case includes a
statuteBreakdownsarray (plus a flatviolatedStatuteslist) showing violations, back wages, employees affected, and penalties for each applicable law - Child labor tracking -- Dedicated fields for child labor violation count, minors involved, and penalties assessed
- Flexible filtering -- Filter by company name (partial match), state, city, NAICS industry code, statute, date range, minimum dollar thresholds, and repeat violator status
- Monitoring mode -- Set a
watchlistNameand the actor tags each resultNEWorUNCHANGEDacross scheduled runs, so you only act on newly-published enforcement actions - Run-level summary -- One
summaryrecord per run (mirrored to theSUMMARYkey-value store key) with totals, severity distribution, and top states/statutes - Output profiles -- Choose
minimal,standard, orfullfield verbosity to match your downstream consumer - Automatic pagination & rate-limit handling -- Transparently fetches up to 5,000 records with exponential backoff on 429 responses
- Dry run mode -- Returns sample data by default so you can test integrations without an API key
How to use
1. Get a free DOL API key
Register at https://dataportal.dol.gov/registration to obtain your free API key. The key is issued immediately upon registration.
2. Try with dry run mode first
Run the actor with default settings (no API key needed). The dryRun option is enabled by default and returns sample enforcement records so you can inspect the output format and test your downstream integrations.
3. Run with real data
Set dryRun to false, enter your DOL API key, and configure your search filters. The actor will query the live DOL enforcement database and return matching cases sorted by total back wages (highest first).
4. Export results
Results are stored in the Apify dataset and can be downloaded in JSON, CSV, Excel, or other formats. Use the Apify API or integrations to feed data into Google Sheets, webhooks, or other systems.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | Select | search | Job mode. search (one row per case); screening (one pass/review/fail verdict per employer, billed per employer); monitoring (entity-centric + watchlist risk-change events); portfolio (screening plus a portfolio-level risk rollup in the summary); leaderboard (rank employers by leaderboardMetric, worst offenders first). |
leaderboardMetric | Select | risk | When mode = leaderboard, the ranking axis: risk, back-wages, penalties, child-labor, cases, or momentum. |
dryRun | Boolean | true | When enabled (or when no API key is provided), returns realistic sample data without calling the DOL API. Set to false and provide an API key for real data. |
apiKey | String (secret) | -- | Your DOL Open Data Portal API key. Register free at dataportal.dol.gov/registration. Not needed for dry run mode. |
companyName | String | -- | Search by trade/business name using partial match. Examples: MCDONALD, TYSON, CHIPOTLE, WALMART. |
companyNames | Array | -- | Search several trade names at once (OR-matched) — ideal for supplier or contractor watchlists. Overrides companyName when set. Example: ["TYSON", "JBS", "CARGILL"]. |
state | String | -- | Filter by U.S. state using 2-letter code. Examples: TX, CA, FL, NY. |
city | String | -- | Filter by city name using partial match. Examples: HOUSTON, NEW YORK, LOS ANGELES. |
naicsCode | String | -- | Filter by NAICS industry code prefix (2-6 digits). Examples: 722 (Food Services), 236 (Construction), 561 (Administrative Services). |
statute | Select | All | Filter by specific labor law statute. Options: flsa (Min Wage/Overtime), fmla (Family/Medical Leave), h1b (H-1B Visa), h2a (H-2A Agricultural Visa), h2b (H-2B Non-Ag Visa), sca (Service Contract Act), dbra (Davis-Bacon Act), mspa (Migrant Workers), cwhssa (Contract Work Hours Act), eppa (Employee Polygraph Protection), flsa_cl (FLSA Child Labor). |
dateFrom | String | -- | Start date for the findings period in YYYY-MM-DD format. Example: 2023-01-01. |
dateTo | String | -- | End date for the findings period in YYYY-MM-DD format. Example: 2024-12-31. |
minBackWages | Integer | -- | Only return cases where total back wages exceed this dollar amount. Example: 10000 for cases with $10,000+ in back wages. |
minPenalties | Integer | -- | Only return cases where civil monetary penalties exceed this dollar amount. Example: 5000 for cases with $5,000+ in penalties. |
repeatViolator | Boolean | false | When enabled, only returns cases flagged as FLSA repeat violators. |
minSeverity | Select | -- | Drop cases below this severity band after scoring (low / medium / high / critical). Applied to the returned records, not the DOL query. Leave blank to keep all. |
enableEmployerSummary | Boolean | false | Emit one employerSummary record per employer in the result set — repeat-offender score and band, case count, totals, first/latest case, yearly timeline, enforcement velocity, and violation concentration. |
maxResults | Integer | 100 | Maximum number of enforcement records to return. Range: 1 to 5,000. |
outputProfile | Select | standard | Field verbosity. minimal returns only the decision fields (severity, category, back wages, penalties, statutes, rank, summary); standard returns the full record without the nested per-statute breakdown; full returns every field including statuteBreakdowns. |
watchlistName | String | -- | Optional monitoring mode. When set, the actor remembers the case IDs it has seen under this name and tags each result NEW or UNCHANGED, so a scheduled run surfaces only newly-published enforcement actions. Leave blank for a one-off search. |
Output format

Each enforcement record in the output dataset contains the following fields:
{"schemaVersion": "1.1.0","recordType": "enforcement","severity": "critical","severityScore": 88,"severityDrivers": ["$287,635 in back wages","$42,750 in civil penalties","flagged as an FLSA repeat violator","3 child-labor violation(s) (3 minors)","156 employees affected"],"summary": "PACIFIC COAST STAFFING INC (NEWPORT BEACH, CA): $287,635 in back wages, 18 violation(s) under FLSA, FLSA_CL, FMLA affecting 156 employee(s). Flagged: repeat violator, child-labor findings.","caseId": 2145892,"tradeName": "PACIFIC COAST STAFFING INC","legalName": "PACIFIC COAST STAFFING INC","streetAddress": "2901 W COAST HWY STE 200","city": "NEWPORT BEACH","state": "CA","zipCode": "92663","naicsCode": "561320","naicsDescription": "Temporary Help Services","totalViolations": 18,"totalPenalties": 42750,"employeesViolated": 156,"totalBackWages": 287634.50,"employeesOwedBackWages": 156,"findingsStartDate": "2023-03-15T00:00:00","findingsEndDate": "2024-08-22T00:00:00","flsaRepeatViolator": true,"violatedStatutes": ["FLSA", "FLSA_CL", "FMLA"],"statuteBreakdowns": [{"statute": "FLSA","statuteName": "Fair Labor Standards Act","violations": 14,"backWages": 251200.00,"employeesAffected": 142,"penalties": 35000},{"statute": "FLSA_CL","statuteName": "FLSA Child Labor","violations": 3,"backWages": 0,"employeesAffected": 0,"penalties": 7750},{"statute": "FMLA","statuteName": "Family and Medical Leave Act","violations": 1,"backWages": 36434.50,"employeesAffected": 14,"penalties": 0}],"flsaMinimumWageBackWages": 98400.00,"flsaOvertimeBackWages": 152800.00,"childLaborViolations": 3,"childLaborMinorsInvolved": 3,"childLaborPenalties": 7750,"extractedAt": "2026-02-25T14:30:00.000Z"}
Field reference
| Field | Type | Description |
|---|---|---|
schemaVersion | String | Output schema version (semver). Additive within a major version. |
recordType | String | Record discriminator: enforcement, summary, or error. |
severity | String | Deterministic severity band: critical (score ≥70), high (≥45), medium (≥20), or low. Sort or filter on this to surface the worst offenders. |
severityScore | Number | 0–100 severity composite, reproducible from documented weights (back wages, penalties, repeat-violator status, child labor, employees affected). |
severityDrivers | Array | Plain-English list of the factors behind the severity score. |
enforcementCategory | String | Headline category from the dominant statute: Child Labor, Visa Program Abuse, Prevailing Wage, Wage Theft, Family & Medical Leave, Migrant Worker Protection, Employee Polygraph Protection, or Other. |
violationPattern | Array | Stable rule-based tags: minimum-wage, overtime-abuse, child-labor, repeat-offender, visa-program-abuse, prevailing-wage, large-workforce-impact, high-penalty. |
dataCompleteness | Number | 0–100 share of key identity/context fields populated (older DOL records vary). |
rankInResults | Number | Severity rank within the cases returned this run (1 = most severe). null on single-result runs. |
percentileInResults | Number | Severity percentile within the returned result set (0–100). Not an industry-wide benchmark — it ranks only the cases this query returned. |
summary | String | One-line plain-English case summary an LLM can quote without joining fields. |
violatedStatutes | Array | Flat list of statute codes with ≥1 violation, e.g. ["FLSA", "FLSA_CL"], for quick filtering. |
changeFlag | String | Watchlist mode only: NEW (case unseen on prior runs) or UNCHANGED. |
alertLevel | String | Watchlist mode only, on NEW cases: critical (child labor or severity ≥80), high (repeat violator, ≥$100k penalty, or high severity), medium, or none. Branch Slack/webhook routing on this. |
caseId | Number | Unique DOL case identifier |
tradeName | String | Business trade name / DBA |
legalName | String | Legal entity name |
resolvedEmployer | String | Canonical employer name (corporate suffixes + punctuation/case normalised) so the same company groups across cases and runs. |
employerKey | String | Stable hash of the resolved name — the entity join key for cross-run and cross-case grouping. |
employerNameConfidence | Number | 0–100 confidence in the name normalization. |
streetAddress | String | Street address of the investigated establishment |
city | String | City name |
state | String | Two-letter state code |
zipCode | String | ZIP code |
naicsCode | String | NAICS industry classification code |
naicsDescription | String | Human-readable NAICS industry description |
totalViolations | Number | Total violation count across all statutes |
totalPenalties | Number | Total civil monetary penalties assessed (USD) |
employeesViolated | Number | Total number of employees with violations |
totalBackWages | Number | Total back wages owed to employees (USD) |
employeesOwedBackWages | Number | Number of employees owed back wages |
findingsStartDate | String | Start date of the investigation findings period |
findingsEndDate | String | End date of the investigation findings period |
flsaRepeatViolator | Boolean | Whether the employer is flagged as an FLSA repeat violator |
statuteBreakdowns | Array | Per-statute breakdown of violations, back wages, employees affected, and penalties |
flsaMinimumWageBackWages | Number | FLSA minimum wage back wages owed (USD) |
flsaOvertimeBackWages | Number | FLSA overtime back wages owed (USD) |
childLaborViolations | Number | Number of FLSA child labor violations |
childLaborMinorsInvolved | Number | Number of minors involved in child labor violations |
childLaborPenalties | Number | Civil penalties for child labor violations (USD) |
extractedAt | String | ISO 8601 timestamp of when the record was extracted |
Records are sorted severity-first, so the most serious cases lead the dataset. Each run also appends one recordType: "summary" record (and mirrors it to the SUMMARY key in the run's key-value store) carrying run-level totals: case count, total back wages and penalties, employees affected, repeat-violator and child-labor case counts, the severity distribution, and the top states and statutes. In watchlist mode the summary also reports newCases plus a watchlistDelta block (new cases, new critical cases, and the new back wages, penalties, and violations since the prior run).
Employer summary records
Set enableEmployerSummary: true and the run appends one recordType: "employerSummary" record per employer in the result set, aggregating every returned case for that company:
{"recordType": "employerSummary","employer": "TYSON FOODS","employerKey": "employer_3f2a91c0e7d4","employerNameConfidence": 95,"state": "AR","caseCount": 17,"firstCaseDate": "2009-04-01T00:00:00","latestCaseDate": "2024-11-12T00:00:00","totalBackWages": 1458320.50,"totalPenalties": 382000,"totalEmployeesAffected": 2411,"totalViolations": 214,"repeatOffenderScore": 91,"repeatOffenderBand": "chronic","employerRiskScore": 92,"employerRiskBand": "critical","laborComplianceRating": "F","riskDrivers": ["$1,840,320 in back wages + penalties", "17 enforcement actions", "4 case(s) in the last 12 months", "child-labor findings", "flagged FLSA repeat violator"],"casesPerYear": 1.1,"workforceExposure": "high","volatility": "high","emergingRisk": true,"emergingRiskReasons": ["4 cases in the last 12 months", "severity rising", "penalties rising"],"enforcementArchetype": ["Chronic Repeat Offender", "Child Labor Offender", "Wage Theft Heavy"],"recidivismDetected": true,"repeatViolationGapMonths": 8,"screeningResult": "fail","screeningReasons": ["child-labor findings", "repeat violator", "over $500k in back wages"],"enforcementMomentum": 86,"averageGapBetweenCasesMonths": 9,"backWagesPerAffectedWorker": 605.0,"sectorBenchmark": {"naicsSector": "31","comparedTo": "WHD-enforced employers in this NAICS sector (sampled)","backWagesPercentile": 97,"penaltyPercentile": 95,"workerImpactPercentile": 92,"caseFrequencyPercentile": 99,"childLaborPercentile": 99,"sectorMedianBackWages": 0,"sampleEmployers": 2589,"basis": "vs 2589 sampled WHD-enforced employers in NAICS sector 31 (baseline 2026-06-05)"},"childLabor": { "risk": "critical", "cases": 4, "penaltyTotal": 220000, "minorsInvolved": 11, "lastCaseDate": "2024-06-12T00:00:00" },"contractor": { "federalContractorExposure": true, "prevailingWageViolations": 17, "davisBaconRisk": "elevated" },"watchlistEvent": "RISK_INCREASED","previousRiskScore": 78,"riskDelta": 14,"timeline": [{ "year": 2009, "cases": 2 }, { "year": 2024, "cases": 4 }],"casesLast12Months": 4,"casesPrevious12Months": 1,"caseVelocity24M": 5,"enforcementTrend": "accelerating","backWagesTrend": "up","penaltyTrend": "up","severityTrend": "up","topViolationType": "FLSA","violationConcentration": 81}
Stable enums on this record: laborComplianceRating (A → F, credit-rating style), repeatOffenderBand (single / repeat / serial / chronic), employerRiskBand (minimal / elevated / high / severe / critical), screeningResult (pass / review / fail), childLabor.risk and contractor.davisBaconRisk (minimal / low / elevated / high / critical), workforceExposure and volatility (low / medium / high), enforcementTrend (accelerating / steady / declining / insufficient-data), and the up / down / flat metric trends. repeatOffenderScore measures recurrence; employerRiskScore measures overall exposure; enforcementMomentum (>50 = worsening) and emergingRisk answer "is this employer getting worse?" — different questions, different fields.
Contractor / supplier screening (mode: "screening"). Pass a list of vendors in companyNames and set mode: "screening". The actor resolves each vendor to a canonical employer, emits one verdict row per vendor (per-case rows suppressed), and bills per employer screened. Branch your workflow on screeningResult — fail (child labor, repeat violator, >$500k back wages, or a severe/critical risk band), review, or pass. The riskDrivers and screeningReasons arrays are paste-ready into a procurement note, and the childLabor and contractor blocks let ESG and federal-contracting teams gate on their specific concern.
Entity monitoring (mode: "monitoring"). With a watchlistName, each employer rollup carries a watchlistEvent — NEW, NEW_CHILD_LABOR, PENALTY_SURGE, RISK_INCREASED, RISK_DECREASED, or UNCHANGED — plus watchlistSeverity, previousRiskScore, and riskDelta, so a scheduled run tells you which vendors got worse since last time (and how), not just which cases are new. These are ready-made automation triggers — route WHERE watchlistEvent = "NEW_CHILD_LABOR" straight to a critical alert.
Portfolio & leaderboard (mode: "portfolio" / mode: "leaderboard"). portfolio runs screening across a companyNames list and adds a portfolio block to the summary record — portfolioRiskScore, criticalSuppliers, highRiskSuppliers, pass/review/failSuppliers, childLaborExposure, and emergingRiskSuppliers — the one-glance supply-chain dashboard. leaderboard ranks employers (e.g. across a whole industry or state query) by leaderboardMetric so journalists, unions, and researchers get the worst offenders first.
Sector benchmarking. sectorBenchmark places an employer on a real percentile within its NAICS sector, computed from an actual sample of DOL enforcement data (not an invented median), across five metrics: back wages, penalties, worker impact, case frequency, and child labor. backWagesPercentile: 97 plus caseFrequencyPercentile: 99 says "near the top of its sector for both money owed and how often it's investigated" — different questions a single risk score can't separate. Coverage spans all major 2-digit NAICS sectors (agriculture, construction, manufacturing, retail, transport, finance, professional services, staffing/admin, health care, food service, and more); the baseline is sampled from thousands of recent enforcement cases per sector and refreshed periodically.
Read the comparedTo field carefully. This is a percentile against other employers that have a WHD enforcement history in the sector — not against every company in the industry. An employer with a clean record isn't in DOL's data at all, so this answers "how does this offender compare to other offenders?", not "how does this company compare to the whole industry." For any sector not in the bundled baseline, sectorBenchmark is null and you fall back to the within-result rankInResults / percentileInResults.
The employerKey is a stable persistent entity ID — the same key identifies this employer across runs (and across sibling compliance actors that adopt the same resolution), the intended foundation for a cross-source compliance graph.
Scope: these rollups aggregate the cases your query matched, not all-time DOL history — to get an employer's full record, search that company name on its own with a high maxResults. Entity resolution is conservative: it normalises name shape (case, punctuation, corporate suffixes) but does not merge genuinely different legal entities.

Example use cases
1. Restaurant industry compliance audit
Search for FLSA violations in the food service industry to identify patterns of wage theft. Set naicsCode to 722 (Food Services and Drinking Places) and statute to flsa to find restaurants that failed to pay minimum wage or overtime.
2. H-1B visa program enforcement tracking
Monitor DOL enforcement of H-1B visa labor condition requirements. Filter by statute: h1b to find employers that violated wage and working condition obligations for H-1B workers. Cross-reference with the H-1B Visa Intelligence actor for complete visa program analysis.
3. Child labor violation monitoring
Track employers investigated for child labor violations. Set statute to flsa_cl and use minPenalties to focus on significant cases. The output includes the number of minors involved and penalties assessed.
4. Federal construction prevailing wage compliance
Search Davis-Bacon Act (DBRA) enforcement actions against federal construction contractors. Set statute to dbra and naicsCode to 236 (Construction of Buildings) or 237 (Heavy and Civil Engineering Construction). Combine with SAM.gov data to identify contractors with compliance issues.
5. State-level enforcement analysis
Generate state-by-state enforcement reports for labor policy research. Set state to any 2-letter code and use date filters to analyze trends over time. The results summary logs aggregate statistics for quick analysis.
6. Repeat violator identification
Find employers with a history of FLSA violations by enabling repeatViolator. These are companies the DOL has flagged for repeated non-compliance, which may indicate systemic labor law issues.
7. Agricultural worker protection research
Track enforcement of migrant and seasonal worker protections under MSPA and the H-2A visa program. Set statute to mspa or h2a and filter by agricultural NAICS codes (e.g., 111 for Crop Production, 112 for Animal Production) to find cases involving vulnerable worker populations.
8. High-value back wage investigations
Identify the largest wage theft cases by setting a high minBackWages threshold (e.g., 100000 for cases exceeding $100,000). Results are sorted by back wages descending, making it easy to find the most impactful enforcement actions.
Statutes reference
The WHD enforces the following major statutes. Use the statute filter value to search for violations under a specific law.
| Filter Value | Statute | Full Name | What It Covers |
|---|---|---|---|
flsa | FLSA | Fair Labor Standards Act | Federal minimum wage, overtime pay (time-and-a-half over 40 hours/week), record-keeping requirements, youth employment standards |
flsa_cl | FLSA Child Labor | FLSA Child Labor Provisions | Restrictions on hours and types of work for minors under 18; hazardous occupation orders |
fmla | FMLA | Family and Medical Leave Act | Up to 12 weeks unpaid, job-protected leave for family/medical reasons at covered employers (50+ employees) |
h1b | H-1B | H-1B Visa Program | Employer obligations for specialty occupation workers: prevailing wages, working conditions, non-displacement of U.S. workers |
h2a | H-2A | H-2A Temporary Agricultural Workers | Employer obligations for temporary agricultural visa workers: wages, housing, transportation, working conditions |
h2b | H-2B | H-2B Temporary Non-Agricultural Workers | Employer obligations for temporary non-agricultural visa workers: prevailing wages and working conditions |
sca | SCA | Service Contract Act | Prevailing wages and fringe benefits for employees on federal service contracts exceeding $2,500 |
dbra | DBRA | Davis-Bacon and Related Acts | Prevailing wages and fringe benefits for laborers and mechanics on federal and federally-assisted construction projects over $2,000 |
mspa | MSPA | Migrant & Seasonal Agricultural Worker Protection Act | Registration, disclosure, wage protections, housing and transportation standards for migrant and seasonal farm workers |
cwhssa | CWHSSA | Contract Work Hours and Safety Standards Act | Overtime pay (time-and-a-half) for laborers and mechanics on federal contracts exceeding $100,000 |
eppa | EPPA | Employee Polygraph Protection Act | Prohibits most private employers from requiring or using lie detector tests on employees or job applicants |
NAICS industry codes reference
The following NAICS (North American Industry Classification System) codes are commonly associated with WHD enforcement actions. Use the naicsCode parameter with a 2-6 digit prefix.
| NAICS Prefix | Industry | Common Violations |
|---|---|---|
722 | Food Services and Drinking Places | FLSA minimum wage, overtime, tip credit, child labor |
7225 | Restaurants and Other Eating Places | FLSA minimum wage, overtime, record-keeping |
236 | Construction of Buildings | DBRA prevailing wages, FLSA overtime, CWHSSA |
238 | Specialty Trade Contractors | DBRA prevailing wages, FLSA overtime |
237 | Heavy and Civil Engineering Construction | DBRA prevailing wages, CWHSSA |
561 | Administrative and Support Services | FLSA misclassification, overtime, H-2B |
5613 | Employment Services / Staffing | FLSA overtime, H-1B, joint employer violations |
111 | Crop Production | H-2A, MSPA, FLSA |
112 | Animal Production and Aquaculture | MSPA, FLSA, H-2A |
115 | Support Activities for Agriculture | H-2A, MSPA, FLSA |
721 | Accommodation (Hotels/Motels) | FLSA minimum wage, overtime, H-2B |
812 | Personal and Laundry Services | FLSA minimum wage, overtime |
811 | Repair and Maintenance | FLSA overtime, record-keeping |
621 | Ambulatory Health Care Services | FLSA overtime, FMLA |
623 | Nursing and Residential Care | FLSA overtime, FMLA |
445 | Food and Beverage Retailers | FLSA minimum wage, child labor |
448 | Clothing and Clothing Accessories Retailers | FLSA minimum wage, overtime |
541 | Professional, Scientific, and Technical Services | H-1B, FLSA misclassification |
5112 | Software Publishers | H-1B prevailing wage violations |
423 | Merchant Wholesalers, Durable Goods | FLSA overtime, record-keeping |
484 | Truck Transportation | FLSA overtime |
562 | Waste Management and Remediation | FLSA overtime, DBRA |
Limitations and data freshness
- API key required for real data. The dry run mode returns sample records. To access the actual DOL enforcement database, you must register for a free API key at dataportal.dol.gov/registration.
- Data update frequency. The DOL enforcement database is updated periodically by the agency. There may be a lag of several weeks between the conclusion of an investigation and its appearance in the database.
- Historical coverage. The database contains enforcement records dating back several decades, though older records may have fewer detail fields populated.
- Rate limits. The DOL API enforces rate limits. The actor includes built-in retry logic with exponential backoff for 429 (rate limited) responses. Large queries (thousands of results) may take longer due to pagination delays.
- 5,000 record cap. A single actor run can retrieve up to 5,000 records. For larger datasets, use multiple runs with different filter criteria (e.g., split by state or date range).
- Company name matching. The
companyNamefilter uses partial/wildcard matching against the trade name field. Companies may appear under multiple names or spellings across different cases. - Penalty and back wage amounts. Dollar amounts reflect assessed values at the time of investigation and may differ from final settlement amounts after administrative or judicial proceedings.
- Statute-specific field availability. Not all statutes have penalty fields in the DOL data. For example, SCA, H-2B, DBRA, and CWHSSA cases may show
0for penalties even when violations were found.
What this actor does not do
- Wage & Hour Division only. This covers DOL WHD enforcement (wage, hour, child labor, visa-program, prevailing-wage). It does not include OSHA safety citations, EEOC discrimination charges, NLRB labor-board cases, or MSHA mine-safety actions — those are separate agencies and datasets.
- Severity is a deterministic triage signal, not a legal judgment. The
severityband ranks cases by the scale of the assessed back wages, penalties, repeat-violator status, child labor, and employees affected. It is a sorting aid, not an assessment of legal culpability or final liability. - No predictions or enrichment. The actor returns official DOL records plus deterministic intelligence. It does not predict outcomes or enrich with third-party data.
- Sector benchmarks compare you to other offenders, not the whole industry.
sectorBenchmarkgives a real percentile from a sampled DOL distribution, but the cohort is employers with a WHD enforcement history in that NAICS sector — not every company in the industry (clean companies aren't in DOL's data). It's a sampled baseline (thousands of recent cases per sector, refreshed periodically),nullfor sectors not in the baseline rather than an invented number. Within-resultrankInResults/percentileInResultsrank only your query's cases. State-level percentiles are not yet computed. - No cross-agency or geographic-radius data. This does not join OSHA, SAM.gov federal-contractor, or EPA records, and it cannot search by map radius (the DOL data exposes city/state/ZIP but no coordinates). Those are separate datasets.
Responsible use
This actor provides access to public government enforcement data published by the U.S. Department of Labor. When using this data:
- Verify before acting. Enforcement records reflect investigation findings and assessed penalties, not final adjudicated outcomes. Companies may have contested findings or reached different settlement terms.
- Provide context. A single enforcement case does not necessarily indicate ongoing or systemic compliance failures. Consider the full picture, including the date of the investigation, the company's size, and whether corrective action was taken.
- Respect privacy. While company names and addresses are public record, exercise judgment when publishing or sharing enforcement data, particularly for small businesses.
- Stay current. Cross-reference DOL enforcement data with other public sources (OSHA, EPA, SAM.gov) for a more complete compliance picture.
- Comply with DOL API terms. Use of the DOL API is subject to the DOL Data Portal Terms of Use. The API key is free but must not be shared or used to overload the service.
Integrations and API access
Apify API
You can run this actor and retrieve results programmatically using the Apify API:
# Start a runcurl -X POST "https://api.apify.com/v2/acts/ryanclinton~dol-whd-enforcement/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-d '{"dryRun": false,"apiKey": "YOUR_DOL_API_KEY","state": "CA","statute": "flsa","minBackWages": 10000,"maxResults": 200}'
Apify integrations
Connect DOL enforcement data to your existing tools:
- Google Sheets -- Automatically export enforcement records to a spreadsheet for analysis and reporting
- Slack / Microsoft Teams -- Send notifications when new enforcement actions match your criteria
- Webhooks -- Trigger downstream workflows when new data is available
- Zapier / Make -- Build automated workflows that combine DOL data with other data sources
- Amazon S3 / Google Cloud Storage -- Archive enforcement data to cloud storage for long-term analysis
Use in Dify
Drop this actor into Dify workflows via the Apify plugin's Run Actor node. Every enforcement case returns with a deterministic severity enum — critical / high / medium / low — plus a flat violatedStatutes array and (in watchlist mode) a changeFlag of NEW or UNCHANGED. A generic DOL scraper returns raw case rows; this returns records your downstream if/else node can branch on without parsing prose.
- Actor ID:
ryanclinton/dol-whd-enforcement - Sample input (monitor a company for serious wage violations):
{"companyName": "TYSON","minBackWages": 25000,"outputProfile": "minimal","watchlistName": "tyson-watch"}
- Branching example. A Dify if/else node routes on the stable enums — no LLM, no text parsing:
severity == "critical"→ escalate to a compliance reviewer / send a Slack alertseverity == "high"andchangeFlag == "NEW"→ open a tracking ticketflsaRepeatViolator == true→ flag for priority review- else → log to a spreadsheet
- Monitoring mode. Set
watchlistNameand schedule the actor; downstream nodes branch onchangeFlag == "NEW"(or readnewCasesfrom the summary record) to act only on newly-published enforcement actions. - The
violatedStatutesarray andseverityDriversstrings are usable verbatim in your Dify prompt or notification body — no rewriting required.
Scheduled monitoring
Set up the actor on a recurring schedule to monitor enforcement activity in specific states, industries, or against specific companies. Use Apify's scheduling feature to run daily, weekly, or monthly with the same filter parameters.
Add a watchlistName to turn a scheduled run into a true monitor: the actor remembers the case IDs it has already seen under that name and tags each result NEW or UNCHANGED, and assigns each NEW case an alertLevel (critical / high / medium / none). Route Slack/PagerDuty/webhook rules on alertLevel = "critical" (new child labor or very high severity) and read the summary's watchlistDelta block (new cases, new critical cases, new child-labor cases, new back wages/penalties/violations) for a dashboard-ready "what changed since last run" without re-processing the whole result set.
Python client example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"dryRun": False,"apiKey": "YOUR_DOL_API_KEY","companyName": "MCDONALD","state": "TX","statute": "flsa","dateFrom": "2023-01-01","maxResults": 500,}run = client.actor("ryanclinton/dol-whd-enforcement").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['tradeName']} - {item['city']}, {item['state']}")print(f" Back Wages: ${item['totalBackWages']:,.2f}")print(f" Penalties: ${item['totalPenalties']:,.2f}")print(f" Employees Affected: {item['employeesViolated']}")for breakdown in item["statuteBreakdowns"]:print(f" {breakdown['statuteName']}: {breakdown['violations']} violations")
JavaScript/Node.js client example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('ryanclinton/dol-whd-enforcement').call({dryRun: false,apiKey: 'YOUR_DOL_API_KEY',naicsCode: '722',statute: 'flsa_cl',minPenalties: 5000,maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(`${item.tradeName} (${item.city}, ${item.state})`);console.log(` Child Labor Violations: ${item.childLaborViolations}`);console.log(` Minors Involved: ${item.childLaborMinorsInvolved}`);console.log(` Child Labor Penalties: $${item.childLaborPenalties.toLocaleString()}`);}
Related actors
These actors from the Apify Store complement DOL enforcement data for broader compliance and regulatory research:
- OSHA Inspection & Citation Search -- Search OSHA workplace safety inspection records, citations, and penalties. Combine with WHD data for a complete labor compliance profile.
- H-1B Visa Intelligence -- Search H-1B visa application data including employer petitions, wages, and approval rates. Cross-reference with WHD H-1B enforcement actions.
- CFPB Consumer Complaints -- Search consumer financial complaints. Useful alongside DOL data for evaluating company-wide compliance posture.
- SAM.gov Contract Monitor -- Search federal contract awards and entity registrations. Identify federal contractors with WHD enforcement actions (relevant for DBRA and SCA violations).
- Federal Register Search -- Search the Federal Register for proposed and final rules from DOL and other agencies. Track regulatory changes that affect wage and hour enforcement.
- Senate Lobbying Search -- Search lobbying disclosure records. Research industry lobbying related to labor law and wage/hour policy.
- Congressional Stock Trade Tracker -- Track stock trades by members of Congress. Analyze alongside enforcement trends in specific industries.
- EPA ECHO Environmental Compliance -- Search EPA environmental compliance and enforcement data. Build multi-agency compliance profiles by combining EPA, DOL, and OSHA data.