# Workplace Compliance — OSHA, EPA & DOL Profile (`ryanclinton/workplace-compliance-intel`) Actor

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.

- **URL**: https://apify.com/ryanclinton/workplace-compliance-intel.md
- **Developed by:** [ryan clinton](https://apify.com/ryanclinton) (community)
- **Categories:** AI, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 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:

1. Go to https://dataportal.dol.gov/registration
2. Register for a free account
3. Your API key will be emailed to you
4. Enter the key in the `dolApiKey` input 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:

```json
{
  "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`, or `High` based 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

```json
{
  "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

```json
{
  "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

```json
{
  "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

```json
{
  "dryRun": false,
  "dolApiKey": "YOUR_DOL_API_KEY",
  "companyName": "TYSON",
  "state": "AR"
}
```

#### Broad search with more results

```json
{
  "dryRun": false,
  "dolApiKey": "YOUR_DOL_API_KEY",
  "companyName": "WALMART",
  "maxOshaResults": 100,
  "maxEchoResults": 50,
  "maxWhdResults": 50,
  "includeOshaViolations": true
}
```

#### Quick search without OSHA violation details

```json
{
  "dryRun": false,
  "dolApiKey": "YOUR_DOL_API_KEY",
  "companyName": "AMAZON",
  "state": "CA",
  "includeOshaViolations": false
}
```

### Integrations and programmatic usage

#### Apify API

```bash
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

```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

```javascript
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](https://apify.com/ryanclinton/osha-inspection-search) -- standalone deep-dive into OSHA data
- [Company Deep Research Agent](https://apify.com/ryanclinton/company-deep-research) -- comprehensive company intelligence
- [SAM.gov Contract Monitor](https://apify.com/ryanclinton/sam-gov-contract-monitor) -- federal contract and debarment data
- [CFPB Consumer Complaints](https://apify.com/ryanclinton/cfpb-consumer-complaints) -- consumer complaint data
- [OpenCorporates Search](https://apify.com/ryanclinton/opencorporates-search) -- global corporate registry data
- [Workplace Compliance MCP Server](https://apify.com/ryanclinton/workplace-compliance-mcp) -- MCP server exposing these same data sources as AI tools
- [Compliance Intelligence MCP](https://apify.com/ryanclinton/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.

# Actor input Schema

## `dryRun` (type: `boolean`):

When true (or when no DOL API key is provided), returns a sample compliance profile. Set to false with an API key for real data.

## `dolApiKey` (type: `string`):

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).

## `companyName` (type: `string`):

Company or business name to search across all 3 databases (partial match). Examples: 'WALMART', 'TYSON', 'AMAZON'

## `state` (type: `string`):

Filter by U.S. state (2-letter code). Narrows results across all 3 databases.

## `city` (type: `string`):

City name for context (used in EPA ECHO search).

## `naicsCode` (type: `string`):

Filter by NAICS code prefix (2-6 digits). Applied to OSHA and EPA ECHO searches.

## `maxOshaResults` (type: `integer`):

Maximum OSHA inspection records to retrieve

## `maxEchoResults` (type: `integer`):

Maximum EPA ECHO facility records to retrieve

## `maxWhdResults` (type: `integer`):

Maximum DOL WHD enforcement cases to retrieve

## `includeOshaViolations` (type: `boolean`):

Fetch detailed violation/citation records for each OSHA inspection. Extra API calls.

## Actor input object example

```json
{
  "dryRun": true,
  "companyName": "TYSON",
  "maxOshaResults": 25,
  "maxEchoResults": 25,
  "maxWhdResults": 25,
  "includeOshaViolations": true
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companyName": "TYSON"
};

// Run the Actor and wait for it to finish
const run = await client.actor("ryanclinton/workplace-compliance-intel").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companyName": "TYSON" }

# Run the Actor and wait for it to finish
run = client.actor("ryanclinton/workplace-compliance-intel").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companyName": "TYSON"
}' |
apify call ryanclinton/workplace-compliance-intel --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ryanclinton/workplace-compliance-intel",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Workplace Compliance — OSHA, EPA & DOL Profile",
        "description": "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.",
        "version": "0.1",
        "x-build-id": "Jk57VnyZbUwWvD4yd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ryanclinton~workplace-compliance-intel/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ryanclinton-workplace-compliance-intel",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ryanclinton~workplace-compliance-intel/runs": {
            "post": {
                "operationId": "runs-sync-ryanclinton-workplace-compliance-intel",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ryanclinton~workplace-compliance-intel/run-sync": {
            "post": {
                "operationId": "run-sync-ryanclinton-workplace-compliance-intel",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "dryRun": {
                        "title": "Dry Run (Sample Data)",
                        "type": "boolean",
                        "description": "When true (or when no DOL API key is provided), returns a sample compliance profile. Set to false with an API key for real data.",
                        "default": true
                    },
                    "dolApiKey": {
                        "title": "DOL API Key",
                        "type": "string",
                        "description": "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)."
                    },
                    "companyName": {
                        "title": "Company Name",
                        "type": "string",
                        "description": "Company or business name to search across all 3 databases (partial match). Examples: 'WALMART', 'TYSON', 'AMAZON'",
                        "default": "TYSON"
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "Filter by U.S. state (2-letter code). Narrows results across all 3 databases."
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City name for context (used in EPA ECHO search)."
                    },
                    "naicsCode": {
                        "title": "NAICS Industry Code",
                        "type": "string",
                        "description": "Filter by NAICS code prefix (2-6 digits). Applied to OSHA and EPA ECHO searches."
                    },
                    "maxOshaResults": {
                        "title": "Max OSHA Results",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum OSHA inspection records to retrieve",
                        "default": 25
                    },
                    "maxEchoResults": {
                        "title": "Max EPA ECHO Results",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum EPA ECHO facility records to retrieve",
                        "default": 25
                    },
                    "maxWhdResults": {
                        "title": "Max WHD Results",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum DOL WHD enforcement cases to retrieve",
                        "default": 25
                    },
                    "includeOshaViolations": {
                        "title": "Include OSHA Violation Details",
                        "type": "boolean",
                        "description": "Fetch detailed violation/citation records for each OSHA inspection. Extra API calls.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
