Workplace Compliance โ OSHA, EPA & DOL Profile
Pricing
Pay per usage
Workplace Compliance โ OSHA, EPA & DOL Profile
Unified compliance profile combining **OSHA safety inspections**, **EPA ECHO environmental compliance**, and **DOL Wage & Hour enforcement** data for any U.S. company. Get a single risk-scored report with penalties, violations, back wages, and significant findings โ all from one search.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
a month ago
Last modified
Categories
Share
Workplace Compliance Intelligence
Unified compliance profile combining OSHA safety inspections, EPA ECHO environmental compliance, and DOL Wage & Hour enforcement data for any U.S. company. Get a single risk-scored report with penalties, violations, back wages, and significant findings -- all from one search.
What does this actor do?
This actor searches three major federal compliance databases in parallel and merges the results into a single ComplianceProfile with an automated risk assessment:
| Database | Agency | What it covers |
|---|---|---|
| OSHA Inspections | Dept. of Labor | Workplace safety inspections, citations, violation types (Serious, Willful, Repeat), penalties, fatality/catastrophe investigations |
| EPA ECHO | Environmental Protection Agency | Facility-level environmental compliance under Clean Air Act (CAA), Clean Water Act (CWA), RCRA, SDWA, TRI; non-compliance quarters, formal actions |
| WHD Enforcement | Dept. of Labor, Wage & Hour Division | FLSA minimum wage/overtime violations, child labor, FMLA, H-1B/H-2A visa violations, Davis-Bacon, back wages, repeat violator flags |
The output is a structured JSON compliance profile with a computed risk level (Low / Medium / High) based on the severity and frequency of findings across all three sources.
Why use this actor?
- One search, three databases -- no need to run separate queries against OSHA, EPA, and WHD
- Risk scoring -- automated assessment with weighted scoring for fatalities, repeat violations, child labor, significant non-compliance, and large penalties
- Significant findings summary -- plain-English list of the most important compliance issues
- Structured output -- clean, typed JSON ready for dashboards, reports, or downstream processing
- Due diligence -- screen companies before partnerships, acquisitions, or contract awards
- Compliance monitoring -- periodically check suppliers, contractors, or portfolio companies
Use cases
- M&A due diligence: Screen acquisition targets for workplace safety and environmental compliance risks
- Supply chain compliance: Evaluate suppliers and contractors for labor and safety violations
- Government contracting: Check vendors against SAM.gov debarment-adjacent data (OSHA/EPA/WHD records)
- ESG reporting: Gather quantitative compliance data for Environmental, Social, and Governance reports
- Investigative journalism: Research company compliance histories across multiple federal databases
- Insurance underwriting: Assess workplace risk profiles before issuing policies
- Legal research: Gather enforcement history for litigation support or regulatory filings
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
dryRun | boolean | No | true | When true (or no DOL API key provided), returns a sample compliance profile. Set to false with an API key for real data. |
dolApiKey | string | For real data | -- | Your DOL Open Data Portal API key. Register free at https://dataportal.dol.gov/registration. Required for OSHA and WHD data. Not needed for EPA ECHO or dry run mode. |
companyName | string | Yes | -- | Company or business name to search across all 3 databases. Supports partial matching. Examples: WALMART, TYSON, AMAZON. |
state | string | No | -- | U.S. state filter (2-letter code, e.g., TX, CA). Narrows results across all 3 databases. |
city | string | No | -- | City name for additional context (used in EPA ECHO searches). |
naicsCode | string | No | -- | NAICS industry code prefix (2-6 digits). Applied to OSHA and EPA ECHO searches. |
maxOshaResults | integer | No | 25 | Maximum OSHA inspection records to retrieve (1-100). |
maxEchoResults | integer | No | 25 | Maximum EPA ECHO facility records to retrieve (1-100). |
maxWhdResults | integer | No | 25 | Maximum DOL WHD enforcement cases to retrieve (1-100). |
includeOshaViolations | boolean | No | true | Fetch detailed violation/citation records for each OSHA inspection. Requires extra API calls. |
Getting a DOL API Key
OSHA and WHD data require a free API key from the Department of Labor:
- Go to https://dataportal.dol.gov/registration
- Register for a free account
- Your API key will be emailed to you
- Enter the key in the
dolApiKeyinput field (it is stored securely as a secret)
EPA ECHO data is publicly accessible and does not require any API key.
Output format
The actor outputs a single ComplianceProfile object to the default dataset:
{"companyName":"TYSON","searchState":"AR","searchCity":null,"generatedAt":"2025-01-15T12:00:00.000Z","summary":{"overallRiskLevel":"High","totalViolations":47,"totalPenalties":285000,"totalBackWages":120000,"oshaInspections":12,"epaFacilities":8,"whdCases":5,"significantFindings":["2 OSHA fatality/catastrophe inspection(s)","47 OSHA violations across 12 inspections","$285,000 in OSHA penalties","3 EPA facilities in non-compliance","2 EPA formal enforcement actions","$120,000 in back wages owed"]},"oshaRecord":{ ... },"epaRecord":{ ... },"whdRecord":{ ... }}
Summary section
The summary object provides the high-level risk assessment:
- overallRiskLevel:
Low,Medium, orHighbased on weighted scoring - totalViolations: Combined OSHA + WHD violation count
- totalPenalties: Combined penalties across all 3 databases (in USD)
- totalBackWages: WHD back wages owed to employees (in USD)
- oshaInspections / epaFacilities / whdCases: Record counts per database
- significantFindings: Plain-English list of the most important compliance issues
OSHA record
{"available":true,"inspections":[{"activityNumber":1234567,"establishmentName":"TYSON FOODS INC - SPRINGDALE","siteAddress":"600 W Oak St","siteCity":"Springdale","siteState":"AR","siteZip":"72764","inspectionType":"A","inspectionTypeDescription":"Fatality/Catastrophe","safetyOrHealth":"Safety","naicsCode":"311615","openDate":"2024-03-15T00:00:00","closeCaseDate":"2024-08-20T00:00:00","violations":[{"citationId":"01001","standard":"1910.147(c)(1)","violationType":"Serious","currentPenalty":15000,"initialPenalty":15000,"gravity":"10"}],"violationCount":1,"totalPenalties":15000}],"totalInspections":12,"totalViolations":35,"totalPenalties":285000,"fatalityInspections":2,"complaintInspections":4}
Inspection type codes: A = Fatality/Catastrophe, B = Complaint, C = Referral, F = Follow-up, H = Planned, J = Unprogrammed Other, K = Programmed Other, L = Other.
Violation type codes: S = Serious, W = Willful, R = Repeat, O = Other, U = Unclassified.
EPA ECHO record
{"available":true,"facilities":[{"registryId":"110012345678","facilityName":"TYSON FOODS SPRINGDALE","city":"SPRINGDALE","state":"AR","programs":["CAA","CWA","RCRA"],"complianceStatus":"Significant Violation","significantNoncompliance":true,"quartersInNoncompliance":4,"inspectionCount":5,"lastInspectionDate":"01/15/2025","totalPenalties":50000,"formalActionCount":2}],"totalFacilities":8,"facilitiesInNoncompliance":3,"totalPenalties":75000,"totalFormalActions":4,"programsCovered":["CAA","CWA","RCRA","TRI"]}
Environmental programs: CAA = Clean Air Act, CWA = Clean Water Act, RCRA = Resource Conservation and Recovery Act, SDWA = Safe Drinking Water Act, TRI = Toxics Release Inventory.
WHD record
{"available":true,"cases":[{"caseId":1234567,"tradeName":"TYSON FOODS","legalName":"Tyson Foods Inc","city":"Springdale","state":"AR","naicsDescription":"Poultry Processing","totalViolations":12,"totalPenalties":0,"totalBackWages":120000,"employeesViolated":45,"findingsStartDate":"2023-01-01T00:00:00","findingsEndDate":"2024-06-30T00:00:00","flsaRepeatViolator":false,"childLaborViolations":0,"topStatutes":["FLSA"]}],"totalCases":5,"totalViolations":12,"totalPenalties":0,"totalBackWages":120000,"employeesAffected":45,"repeatViolator":false,"childLaborCases":0}
Statutes tracked: FLSA (Fair Labor Standards Act), FMLA (Family and Medical Leave Act), H-1B, H-2A, H-2B (visa programs), SCA (Service Contract Act), DBRA (Davis-Bacon and Related Acts), MSPA (Migrant and Seasonal Agricultural Worker Protection Act), Child Labor.
Risk scoring methodology
The risk assessment uses a weighted point system:
| Finding | Points |
|---|---|
| OSHA fatality/catastrophe inspections | +30 |
| Child labor violation cases | +30 |
| Flagged as FLSA repeat violator | +25 |
| OSHA penalties > $50,000 | +20 |
| EPA facilities in non-compliance | +20 |
| OSHA violations > 10 | +15 |
| Back wages > $100,000 | +15 |
| EPA formal enforcement actions | +10 |
| Employees affected > 50 | +10 |
Risk levels: Low (0-19 points), Medium (20-49 points), High (50+ points).
Dry run mode
By default, dryRun is set to true. This returns a realistic sample compliance profile so you can preview the output format and test integrations without needing an API key. Set dryRun to false and provide a DOL API key to search real data.
Dry run mode is also activated automatically when no DOL API key is provided. This ensures the actor always passes Apify platform auto-tests.
API data sources
| Source | API | Authentication | Rate limits |
|---|---|---|---|
| OSHA Inspections | DOL Open Data Portal v4 | API key (free) | Shared with WHD; 500ms delay between calls |
| EPA ECHO | EPA ECHO REST Services | None (public) | No documented limit |
| WHD Enforcement | DOL Open Data Portal v4 | API key (free) | Shared with OSHA; 500ms delay between calls |
All three databases are searched in parallel where possible. OSHA and WHD share the same DOL API rate limit, so a small delay is introduced between those two requests.
The actor uses exponential backoff retry logic (up to 3 retries) with special handling for HTTP 429 (rate limit) responses.
Example input
Basic search
{"dryRun":false,"dolApiKey":"YOUR_DOL_API_KEY","companyName":"TYSON","state":"AR"}
Broad search with more results
{"dryRun":false,"dolApiKey":"YOUR_DOL_API_KEY","companyName":"WALMART","maxOshaResults":100,"maxEchoResults":50,"maxWhdResults":50,"includeOshaViolations":true}
Quick search without OSHA violation details
{"dryRun":false,"dolApiKey":"YOUR_DOL_API_KEY","companyName":"AMAZON","state":"CA","includeOshaViolations":false}
Integrations and programmatic usage
Apify API
curl-X POST "https://api.apify.com/v2/acts/ryanclinton~workplace-compliance-intel/runs"\-H"Authorization: Bearer YOUR_APIFY_TOKEN"\-H"Content-Type: application/json"\-d'{"dryRun": false,"dolApiKey": "YOUR_DOL_API_KEY","companyName": "TYSON","state": "AR"}'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("ryanclinton/workplace-compliance-intel").call(run_input={"dryRun":False,"dolApiKey":"YOUR_DOL_API_KEY","companyName":"TYSON","state":"AR",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Company: {item['companyName']}")print(f"Risk: {item['summary']['overallRiskLevel']}")for finding in item["summary"]["significantFindings"]:print(f" - {finding}")
JavaScript / Node.js
import{ ApifyClient }from'apify-client';const client =newApifyClient({token:'YOUR_APIFY_TOKEN'});const run =await client.actor('ryanclinton/workplace-compliance-intel').call({dryRun:false,dolApiKey:'YOUR_DOL_API_KEY',companyName:'TYSON',state:'AR',});const{ items }=await client.dataset(run.defaultDatasetId).listItems();const profile = items[0];console.log(`Risk Level: ${profile.summary.overallRiskLevel}`);console.log(`Findings: ${profile.summary.significantFindings.join('; ')}`);
Performance
- Typical run time: 5-15 seconds depending on result volume and API responsiveness
- Compute units: Minimal (API calls only, no browser or heavy processing)
- Memory: 256 MB is sufficient for all use cases
- Parallel execution: EPA ECHO runs concurrently with OSHA; WHD starts after a 500ms delay to respect DOL rate limits
Limitations
- OSHA and WHD data require a DOL API key (free registration)
- Company name matching is partial/substring-based -- broad names may return unrelated results
- EPA ECHO penalty amounts may not be available for all facilities
- OSHA violation details require additional API calls per inspection batch (50 at a time)
- Historical data availability varies by database; some records may go back decades, others only a few years
- This actor searches U.S. federal databases only; it does not cover state-level OSHA plans or international data
Related actors
These actors on the Apify platform complement the Workplace Compliance Intelligence actor:
- OSHA Inspection & Citation Search -- standalone deep-dive into OSHA data
- Company Deep Research Agent -- comprehensive company intelligence
- SAM.gov Contract Monitor -- federal contract and debarment data
- CFPB Consumer Complaints -- consumer complaint data
- OpenCorporates Search -- global corporate registry data
- Workplace Compliance MCP Server -- MCP server exposing these same data sources as AI tools
- Compliance Intelligence MCP -- broader compliance MCP server
Support
If you have questions or encounter issues, please open an issue on the actor page or contact the author through Apify.
