Workplace Compliance — OSHA, EPA & DOL Profile is an Apify actor on ApifyForge. Unified compliance profile combining OSHA safety inspections, EPA ECHO environmental compliance, and DOL Wage & Hour enforcement data. Get a single risk-scored compliance report for any company. Best for teams who need automated workplace compliance — osha, epa & dol profile data extraction and analysis. Not ideal for use cases requiring real-time streaming data or sub-second latency. Maintenance pulse: 90/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).
Workplace Compliance — OSHA, EPA & DOL Profile
Workplace Compliance — OSHA, EPA & DOL Profile is an Apify actor available on ApifyForge. Unified compliance profile combining OSHA safety inspections, EPA ECHO environmental compliance, and DOL Wage & Hour enforcement data. Get a single risk-scored compliance report for any company.
Best for teams who need automated workplace compliance — osha, epa & dol profile data extraction and analysis.
Not ideal for use cases requiring real-time streaming data or sub-second latency.
What to know
- Results depend on the availability and structure of upstream data sources.
- Large-scale runs may be subject to platform rate limits.
- Requires an Apify account — free tier available with limited monthly usage.
Maintenance Pulse
90/100Documentation
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 ApifyClient
client = 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 = new ApifyClient({ 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.
Related actors
CFPB Complaint Search — By Company, Product & State
Search the CFPB consumer complaint database with 5M+ complaints. Filter by company, product, state, date range, and keyword. Extract complaint details, company responses, and consumer narratives. Free US government data, no API key required.
SEC EDGAR Filing Search — 10-K, 10-Q, 8-K & More
Search SEC EDGAR filings by keyword, company name, or ticker symbol. Filter by form type (10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4) and date range. Returns structured filing data with direct document URLs. Free, no API key.
EUIPO Trademark Search — By Name, Class & Status
Search EU trademarks via the official EUIPO API. Find registered, pending, or expired trademarks by name, Nice class, applicant, status, or date. Returns application details, owners, goods & services, and EUIPO links.
FEC Campaign Finance - Political Donations & Donors
Search US federal campaign finance data. Find political donations by donor name, candidate, committee, employer, and state. Returns amounts, dates, PDF filing links. Free FEC API, no key required.
Ready to try Workplace Compliance — OSHA, EPA & DOL Profile?
Start for free on Apify. No credit card required.
Open on Apify Store