# DOL Wage and Hour Enforcement Scraper (`compute-edge/dol-wage-enforcement-scraper`) Actor

Extract Department of Labor Wage and Hour Division enforcement case data including violations, back wages, and penalties.

- **URL**: https://apify.com/compute-edge/dol-wage-enforcement-scraper.md
- **Developed by:** [Compute Edge](https://apify.com/compute-edge) (community)
- **Categories:** Lead generation
- **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

## DOL Wage & Hour Enforcement Scraper

### Overview

This Actor extracts Department of Labor (DOL) **Wage & Hour Division (WHD) enforcement case data** from the official WHISARD (Wage and Hour Investigative Support and Reporting Database). Access **300,000+ wage & hour violations**, employer compliance records, back wages recoveries, and penalty assessments across all U.S. states and industries.

**Perfect for:**
- PE/VC due diligence teams evaluating employer compliance risks
- ESG (Environmental, Social, Governance) researchers studying labor practices
- Compliance consultants monitoring industry-specific violations
- Legal teams tracking regulatory enforcement trends
- HR professionals benchmarking company compliance against peers
- Policy researchers analyzing wage theft patterns by state/industry

#### Key Features

- **300,000+ Enforcement Cases**: Complete historical WHISARD database
- **Multi-Filter Search**: State, employer name, industry, violation type, monetary recovery, date range
- **Rich Data Fields**: Violation details, back wages, penalties, employee counts, status, prosecution outcomes
- **High-Value B2B Data**: Single case record worth $100-500 to compliance/PE teams
- **Fresh Data**: Updated as DOL publishes new enforcement actions
- **No Auth Required**: Access public WHISARD data without credentials
- **Bulk Download Capable**: Export 100,000+ records in single run

#### Sample Data Fields

Each enforcement record includes:

| Field | Example | Business Value |
|-------|---------|-----------------|
| **Case ID** | WHD-2024-001234 | Unique case identifier |
| **Employer** | ABC Manufacturing Corp | Compliance risk assessment |
| **Violation Date** | 2024-03-15 | Timeline of enforcement |
| **Violation Type** | Minimum Wage, Overtime | Category-specific risk |
| **Employees Affected** | 47 | Scope of violation |
| **Back Wages** | $145,000 | Financial impact & recovery |
| **Penalties** | $32,500 | Enforcement severity |
| **Total Recovery** | $177,500 | Total monetary outcome |
| **Status** | Resolved | Case lifecycle |
| **Investigation Type** | Complaint Investigation | Enforcement source |
| **State** | TX | Geographic filtering |
| **Industry** | Hospitality | Sector-specific risk |

---

### How to Use This Actor

#### Step 1: Open the Actor in Apify Console

Navigate to this Actor in the Apify Store and click **Try for Free** or **Activate**.

#### Step 2: Configure Search Filters (Optional)

The input form supports the following filter options:

##### State Filter
- Enter a **two-letter state abbreviation** (e.g., `TX`, `CA`, `NY`, `FL`)
- Leave empty to search **all 50 states**
- Default: All states

##### Employer Name Filter
- Enter a **full or partial company name** (e.g., `McDonald's`, `Walmart`, `Amazon`)
- Supports **case-insensitive partial matching**
- Leave empty to search **all employers**
- Default: All employers

##### Industry Filter
- Enter an **industry description** (e.g., `Hospitality`, `Healthcare`, `Agriculture`) or **NAICS code** (e.g., `72` for accommodation & food service)
- Supports **partial matching**
- Leave empty to search **all industries**
- Default: All industries

##### Minimum Back Wages Filter
- Enter a **dollar amount** (e.g., `10000`, `50000`, `100000`)
- Returns only cases with back wages **at or above** this threshold
- Useful for identifying **high-severity violations**
- Default: `0` (no minimum)

##### Date Range Filters
- **Violation Date From**: Enter as `YYYY-MM-DD` (e.g., `2023-01-01`)
- **Violation Date To**: Enter as `YYYY-MM-DD` (e.g., `2024-12-31`)
- Leave empty for **no date boundary**
- Default: All dates

##### Max Results
- Enter the **number of records** you want to retrieve (1 to 300,000)
- Higher limits cost more Apify compute credits
- Start small (100-500) to test your filters
- Default: `100`

#### Step 3: Run the Actor

Click **Start** to begin. The Actor will:
1. Validate your filter inputs
2. Query the DOL WHISARD database via Socrata API
3. Download and structure all matching records
4. Save results to the default dataset

**Typical run times:**
- 100 records: ~30 seconds
- 1,000 records: ~2 minutes
- 10,000 records: ~10-15 minutes
- 50,000+ records: 30+ minutes (depends on Apify compute plan)

#### Step 4: Download Results

Once the run completes, click the **Dataset** tab to:
- **View results** in table format
- **Download as CSV** for Excel/Sheets
- **Download as JSON** for database import
- **Export to other tools** via Apify integrations (Google Sheets, Slack, email, webhook, etc.)

---

### Example Use Cases

#### Case 1: PE Due Diligence on Target Company

**Task**: You're evaluating a hospitality company (1,200 locations) for acquisition. You need to assess wage & hour compliance risk.

**Inputs:**
- State: (leave empty for all)
- Employer: `Restaurant Group Name`
- Industry: `72` (Accommodation & Food Service)
- Min Back Wages: `50000` (focus on material violations)
- Date From: `2022-01-01` (last 2 years)
- Max Results: `1000`

**Output**: All wage violations affecting the company since 2022. You can now:
- Calculate total compliance costs (back wages + penalties)
- Identify geographic hotspots (states with most violations)
- Assess trend (improving or worsening?)
- Factor remediation costs into valuation

---

#### Case 2: ESG Scorecard - Industry Benchmarking

**Task**: Your ESG team is building a labor compliance scorecard for your SaaS portfolio companies. Benchmark tech service providers against industry average.

**Inputs:**
- State: (leave empty)
- Employer: (leave empty)
- Industry: `81` (Administrative & Support Services) OR `62` (Health Care & Social Assistance)
- Min Back Wages: `0` (count all violations, not just large ones)
- Date From: `2023-01-01`
- Max Results: `5000`

**Output**: Industry-wide violation data. You can now:
- Calculate violation **rate per state**
- Identify **common violation types** in the sector
- Benchmark your portfolio company's record against peers
- Create ESG disclosure metrics

---

#### Case 3: State Labor Board Comparison

**Task**: Your nonprofit is researching which states have the most aggressive wage enforcement. Build a map of state enforcement intensity.

**Inputs:**
- Run **one query per state** with Max Results = 5000
- Aggregate results by state

**Output**: Enforcement statistics by state. You can now:
- Rank states by total violations, back wages recovered, penalties assessed
- Analyze labor protection effectiveness
- Create policy recommendation charts

---

### Data Fields Reference

#### Case Identification
- **caseId**: Unique case identifier (e.g., "WHD-2024-001234")
- **violationDate**: Date violation was identified or investigated

#### Employer Information
- **employerName**: Legal name of employer
- **address**, **city**, **state**, **zipCode**: Employer physical location
- **county**: County of violation
- **businessType**: Type of business (corp, LLC, sole proprietor, etc.)

#### Violation Details
- **violationType**: Classification of violation (Minimum Wage, Overtime, FLSA, etc.)
- **violationDescription**: Detailed description of violation
- **numberOfEmployeesAffected**: Count of affected employees
- **industry**: Industry description
- **naicsCode**: North American Industry Classification System code

#### Financial Impact
- **backWages**: Amount of back pay owed to employees
- **penalties**: Civil penalties/fines assessed
- **compensatory**: Compensatory damages awarded
- **totalMonetaryRecovery**: Sum of all monetary outcomes

#### Enforcement Status & Outcomes
- **status**: Current status (Resolved, Pending, Settled, etc.)
- **investigationType**: Type of investigation (Complaint, Wage MD, etc.)
- **resolutionDate**: Date case was resolved
- **prosecutionCode**: Code indicating if criminal prosecution occurred
- **prosecutionResult**: Result of criminal prosecution (if applicable)

#### Administrative Fields
- **recordCreatedDate**: Date record was added to WHISARD
- **remarks**: Additional notes or comments
- **dnDebarred**: Whether employer was debarred from federal contracts
- **namedEspionage**: Flag for retaliation/espionage allegations

---

### Pricing & Cost Estimates

This Actor uses a **per-result pricing model** plus Apify compute costs.

#### Actor Start Event
- Fixed cost per run: **$0.00005** (negligible)
- Applies once, regardless of results

#### Per-Result Pricing
- **$0.002 per enforcement record** returned
- Example: 1,000 records = $2.00 in Actor costs

#### Apify Compute Costs
- Runs on Apify's **free compute tier** for most searches
- 100 records: ~0.5 compute units (~$0.03)
- 1,000 records: ~3 compute units (~$0.15)
- 10,000 records: ~25 compute units (~$1.25)
- 100,000 records: ~200+ compute units (~$10+)

#### Total Cost Example
Fetching 5,000 DOL enforcement records:
- Actor cost: 5,000 × $0.002 = **$10.00**
- Compute cost: ~15 units = **$0.75**
- **Total: ~$10.75**

**Pro tip**: Start with small runs (100-500 records) to test your filters before running 10,000+.

---

### Input/Output Examples

#### Example Input (JSON)
```json
{
  "state": "CA",
  "employer": "ABC Manufacturing",
  "industry": "31",
  "minBackWages": 10000,
  "dateFrom": "2023-01-01",
  "dateTo": "2024-12-31",
  "maxResults": 100
}
````

#### Example Output (First 2 Records)

```json
[
  {
    "caseId": "WHD-2024-001823",
    "violationDate": "2024-03-15",
    "year": 2024,
    "employerName": "ABC Manufacturing Corp",
    "address": "123 Industrial Blvd",
    "city": "Los Angeles",
    "state": "CA",
    "zipCode": "90001",
    "county": "Los Angeles",
    "industry": "Computer & Electronic Products Manufacturing",
    "naicsCode": "3341",
    "businessType": "Private Corporation",
    "violationType": "Minimum Wage, Overtime",
    "violationDescription": "Failure to pay minimum wage and overtime compensation",
    "numberOfEmployeesAffected": 47,
    "backWages": 145000,
    "penalties": 32500,
    "compensatory": 15000,
    "totalMonetaryRecovery": 192500,
    "status": "Resolved",
    "investigationType": "Wage & Hour Investigation",
    "resolutionDate": "2024-06-20",
    "namedEspionage": false,
    "dnDebarred": true,
    "remarks": "Settlement reached; employer implemented new timekeeping system",
    "prosecutionCode": null,
    "prosecutionResult": null,
    "recordCreatedDate": "2024-03-20"
  },
  {
    "caseId": "WHD-2024-001824",
    "violationDate": "2024-02-28",
    "year": 2024,
    "employerName": "XYZ Hospitality Group",
    "address": "456 Main St",
    "city": "San Francisco",
    "state": "CA",
    "zipCode": "94102",
    "county": "San Francisco",
    "industry": "Accommodation & Food Service",
    "naicsCode": "72",
    "businessType": "Private Corporation",
    "violationType": "Tip Credit Misappropriation",
    "violationDescription": "Illegal deduction of tips from employee wages",
    "numberOfEmployeesAffected": 23,
    "backWages": 67500,
    "penalties": 18000,
    "compensatory": null,
    "totalMonetaryRecovery": 85500,
    "status": "Settled",
    "investigationType": "Complaint Investigation",
    "resolutionDate": "2024-05-10",
    "namedEspionage": false,
    "dnDebarred": false,
    "remarks": "Trained management on tip laws; created new policy",
    "prosecutionCode": null,
    "prosecutionResult": null,
    "recordCreatedDate": "2024-03-05"
  }
]
```

***

### Troubleshooting

#### "No results found"

- Verify filter parameters are spelled correctly
- Try broadening filters (remove state, employer, or industry)
- Check that your date range actually contains data
- Increase `maxResults` to see if data exists upstream

#### "API returned status 429: Rate Limited"

- The Actor will automatically retry with exponential backoff
- If error persists, try fetching fewer results in smaller batches
- Wait 5-10 minutes before retrying

#### "Request failed / timeout"

- DOL's API may be temporarily unavailable
- Try running again in a few minutes
- Contact Apify support if issue persists

#### Results seem outdated

- WHISARD is updated regularly but may have a 1-2 week lag
- The most recent violations appear under "New cases" separately
- Check recordCreatedDate to see when entries were added

***

### Related Actors & Data Sources

Looking for related labor/compliance data?

- **OSHA Violations Scraper** — Occupational Safety & Health Administration enforcement (workplace injuries, fatalities)
- **EEO-1 Employer Statistics** — Equal Employment Opportunity Commission diversity data
- **WARN Act Notices** — Mass layoffs and plant closures (60-day advance notices)
- **State Labor Board Directories** — Individual state labor agency data (varies by state)
- **Employment Standards Database** — Minimum wage and overtime rules by state

***

### Legal Disclaimer & Data Usage

This Actor extracts **publicly available data** from the U.S. Department of Labor WHISARD database. All data is:

- Published by a U.S. government agency
- Free to access and distribute
- Not subject to copyright restrictions (public domain)
- Acceptable for commercial use

**Your responsibilities when using this data:**

1. **Accuracy**: DOL data is as accurate as source records. Verify critical information independently.
2. **Context**: Individual violations don't necessarily reflect current employer practices or legal liability.
3. **Privacy**: While WHISARD is public, be mindful of sensitive business information when sharing results.
4. **Compliance**: When using data for employment decisions (hiring, contracting), ensure compliance with Fair Credit Reporting Act (FCRA) and local employment laws.
5. **Attribution**: While not legally required, crediting DOL WHISARD as the source is appreciated.

***

### FAQ

**Q: How often is this data updated?**
A: WHISARD reflects new enforcement actions as DOL publishes them, typically within 1-2 weeks of case closure. The Actor queries live data.

**Q: Can I filter by specific violation type?**
A: The current version filters by industry and monetary amounts. Violation type filtering is available via the `violationType` field in exported results.

**Q: What's the oldest record available?**
A: WHISARD contains historical enforcement data dating back decades. Start date varies by record type.

**Q: Can I download all 300,000+ records at once?**
A: Yes, but it will cost significant Apify credits and take 30+ minutes. Recommended: Download in batches by state or year range.

**Q: Is this data confidential?**
A: No. WHISARD is public record. However, some sensitive employee information may be redacted in certain cases.

**Q: Can I use this for hiring/employment decisions?**
A: Yes, but ensure compliance with Fair Credit Reporting Act (FCRA) and state employment laws. DOL violations reflect employer compliance, not employee qualifications.

***

### Support & Feedback

**Issues or questions?**

- Check the [Apify Community Forum](https://apify.com/community)
- Review the DOL WHISARD documentation: https://www.dol.gov/agencies/whd/data
- Contact Apify support: support@apify.com

**Suggestions for improvements?**

- Email: seatsignal@apify.com
- We welcome feedback on additional filters, fields, or use cases

***

### Version History

**v0.1 (Initial Release)**

- WHISARD database extraction
- State, employer, industry, date range, and monetary filters
- 25+ data fields per record
- Support for up to 300,000 records per run

# Actor input Schema

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

Two-letter state abbreviation to filter by (e.g. 'TX', 'CA', 'NY'). Leave empty for all states.

## `employer` (type: `string`):

Employer name to filter by. Supports partial name matching. Leave empty for all employers.

## `industry` (type: `string`):

Filter by industry description or NAICS code (e.g. 'Healthcare', 'Agriculture', '62'). Leave empty for all industries.

## `minBackWages` (type: `integer`):

Filter for cases with back wages at or above this amount. Useful for identifying high-value violations.

## `dateFrom` (type: `string`):

Filter violations from this date onwards (e.g. '2020-01-01'). Leave empty for no start date.

## `dateTo` (type: `string`):

Filter violations up to this date (e.g. '2024-12-31'). Leave empty for no end date.

## `maxResults` (type: `integer`):

Maximum number of enforcement cases to return. Higher limits cost more Apify credits.

## Actor input object example

```json
{
  "state": "",
  "employer": "",
  "industry": "",
  "minBackWages": 0,
  "dateFrom": "",
  "dateTo": "",
  "maxResults": 100
}
```

# Actor output Schema

## `dataset` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("compute-edge/dol-wage-enforcement-scraper").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("compute-edge/dol-wage-enforcement-scraper").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 '{}' |
apify call compute-edge/dol-wage-enforcement-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=compute-edge/dol-wage-enforcement-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "DOL Wage and Hour Enforcement Scraper",
        "description": "Extract Department of Labor Wage and Hour Division enforcement case data including violations, back wages, and penalties.",
        "version": "0.1",
        "x-build-id": "MB3HhCY3SVcvnAyV9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/compute-edge~dol-wage-enforcement-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-compute-edge-dol-wage-enforcement-scraper",
                "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/compute-edge~dol-wage-enforcement-scraper/runs": {
            "post": {
                "operationId": "runs-sync-compute-edge-dol-wage-enforcement-scraper",
                "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/compute-edge~dol-wage-enforcement-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-compute-edge-dol-wage-enforcement-scraper",
                "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": {
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "Two-letter state abbreviation to filter by (e.g. 'TX', 'CA', 'NY'). Leave empty for all states.",
                        "default": ""
                    },
                    "employer": {
                        "title": "Employer Name",
                        "type": "string",
                        "description": "Employer name to filter by. Supports partial name matching. Leave empty for all employers.",
                        "default": ""
                    },
                    "industry": {
                        "title": "Industry / NAICS Code",
                        "type": "string",
                        "description": "Filter by industry description or NAICS code (e.g. 'Healthcare', 'Agriculture', '62'). Leave empty for all industries.",
                        "default": ""
                    },
                    "minBackWages": {
                        "title": "Minimum Back Wages ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Filter for cases with back wages at or above this amount. Useful for identifying high-value violations.",
                        "default": 0
                    },
                    "dateFrom": {
                        "title": "Violation Date From (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Filter violations from this date onwards (e.g. '2020-01-01'). Leave empty for no start date.",
                        "default": ""
                    },
                    "dateTo": {
                        "title": "Violation Date To (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Filter violations up to this date (e.g. '2024-12-31'). Leave empty for no end date.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 300000,
                        "type": "integer",
                        "description": "Maximum number of enforcement cases to return. Higher limits cost more Apify credits.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
