MSHA Mining Safety & Health Data
Pricing
$30.00 / 1,000 result returneds
MSHA Mining Safety & Health Data
Comprehensive mining safety intelligence from the **Mine Safety and Health Administration (MSHA)**. Searches 86,000+ mines across the US and joins data from **5 DOL API datasets** — mines, violations, inspections, accidents, and assessments — with automated **risk scoring** based on fatalities, S...
Pricing
$30.00 / 1,000 result returneds
Rating
0.0
(0)
Developer
ryan clinton
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Share
Comprehensive mining safety intelligence from the Mine Safety and Health Administration (MSHA). Searches 86,000+ mines across the US and joins data from 5 DOL API datasets — mines, violations, inspections, accidents, and assessments — with automated risk scoring based on fatalities, S&S violations, withdrawal orders, and penalty history.
What It Does
This actor queries the DOL Open Data Portal API to build rich mine safety profiles:
- Searches mines by name, operator, controller, state, type (Coal/Metal), status, or commodity
- Joins violations — citations, orders, safeguards with S&S flags, negligence levels, and penalties
- Joins inspections — regular, spot, complaint, impact inspections with violations found and on-site hours
- Joins accidents — fatalities, injuries, lost workdays with narratives and classifications
- Calculates risk scores — weighted algorithm considering fatalities (40pts), orders (10pts each), S&S violations (3pts each), high negligence (8pts each), large penalties, and violation-to-employee ratios
Key Features
- Multi-dataset joining — Automatically correlates data across 5 MSHA datasets by mine_id
- Risk scoring — Four-tier risk assessment (Critical/High/Medium/Low) with detailed risk factor breakdown
- Comprehensive summaries — Violation, inspection, and accident summaries with breakdowns by type
- Flexible filtering — Search by any combination of mine name, operator, state, type, commodity, date range
- Rate limit handling — Exponential backoff with staggered parallel requests to respect DOL API limits
- Dry run mode — Returns realistic sample data without API calls (default behavior)
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
apiKey | string | — | DOL API key (register free) |
dryRun | boolean | true | Return sample data without API calls |
mineName | string | — | Search by mine name (partial match) |
operatorName | string | — | Search by operator name (partial match) |
controllerName | string | — | Search by controller/parent company |
mineId | string | — | Exact MSHA mine ID (7 digits) |
state | string | — | Two-letter state code (WV, WY, PA, etc.) |
mineType | string | — | C = Coal, M = Metal/Non-Metal |
mineStatus | string | — | Active, Abandoned, NonProducing, etc. |
commodity | string | — | Primary commodity (Bituminous, Gold, Limestone, etc.) |
dateFrom | string | — | Filter related data from date (YYYY-MM-DD) |
dateTo | string | — | Filter related data to date (YYYY-MM-DD) |
includeViolations | boolean | true | Join violation records |
includeInspections | boolean | true | Join inspection records |
includeAccidents | boolean | true | Join accident records |
maxResults | integer | 100 | Max mines to return (1-5000) |
maxViolationsPerMine | integer | 100 | Max violations per mine (1-1000) |
maxInspectionsPerMine | integer | 50 | Max inspections per mine (1-500) |
maxAccidentsPerMine | integer | 50 | Max accidents per mine (1-500) |
Output Format
Each mine record includes:
{"mineId": "4601432","mineName": "EAGLE BUTTE MINE","mineType": "Coal","mineClassification": "Surface","operatorName": "EAGLE SPECIALTY MATERIALS LLC","controllerName": "EAGLE SPECIALTY MATERIALS LLC","state": "WY","county": "CAMPBELL","latitude": 44.21,"longitude": -105.38,"status": "Active","employeeCount": 320,"hoursPerYear": 640000,"sicDescription": "Bituminous Coal and Lignite Surface Mining","primaryCommodity": "Bituminous","violations": [{"violationNumber": "8765432","section": "77.1607(b)","sectionTitle": "Loading and haulage - moving equipment","citationOrderSafeguard": "Citation","significantAndSubstantial": true,"negligence": "Moderate","proposedPenalty": 4416}],"violationSummary": {"total": 2,"citations": 1,"orders": 1,"significantAndSubstantial": 2,"totalProposedPenalties": 27872,"byNegligence": { "Moderate": 1, "High": 1 }},"inspections": [{"eventNumber": "E001234","beginDate": "2024-11-10","inspectionTypeDescription": "Regular Safety/Health","violationsFound": 2,"onSiteHours": 48}],"accidents": [{"accidentDate": "2024-06-12","degreeOfInjuryDescription": "Days Away From Work (DAFW)","classification": "Powered Haulage","daysLost": 45,"narrative": "Employee was struck by a loaded haul truck..."}],"riskScore": 37,"riskLevel": "Medium","riskFactors": ["1 withdrawal order(s) (+10)","2 S&S violation(s) (+6)","1 high negligence violation(s) (+8)"]}
Risk Scoring Algorithm
| Factor | Points | Cap |
|---|---|---|
| Fatality | +40 each | None |
| Permanent disability | +20 each | None |
| Withdrawal order | +10 each | 80 |
| S&S violation | +3 each | 60 |
| High negligence / Reckless disregard | +8 each | 40 |
| Penalties > $100K | +25 | — |
| Penalties > $50K | +15 | — |
| High violation volume (>50) | +15 | — |
| Contested violations > 10 | +10 | — |
| Days lost > 100 | +15 | — |
| Violation/employee ratio > 2 | +20 | — |
| Violation/employee ratio > 1 | +10 | — |
Risk levels: Critical (≥100) · High (≥60) · Medium (≥30) · Low (<30)
Example Searches
Find all active coal mines in West Virginia:
{"apiKey": "YOUR_KEY","dryRun": false,"state": "WV","mineType": "C","mineStatus": "Active","maxResults": 200}
Look up a specific mine with full history:
{"apiKey": "YOUR_KEY","dryRun": false,"mineId": "4601432","maxViolationsPerMine": 500,"maxInspectionsPerMine": 200,"maxAccidentsPerMine": 200}
Search gold mines with recent violations only:
{"apiKey": "YOUR_KEY","dryRun": false,"commodity": "Gold","mineType": "M","dateFrom": "2024-01-01","maxResults": 50}
Find mines by operator:
{"apiKey": "YOUR_KEY","dryRun": false,"operatorName": "PEABODY","includeAccidents": true,"maxResults": 100}
Data Sources
This actor queries 5 datasets from the DOL Open Data Portal:
| Dataset | Records | Updated | Description |
|---|---|---|---|
| Mines | 86,000+ | Weekly | All coal and metal/non-metal mines since 1970 |
| Violations | Millions | Weekly | Citations, orders, safeguards from inspections |
| Inspections | Millions | Weekly | Every MSHA inspection since 1983 |
| Accidents | 300,000+ | Weekly | Injuries, illnesses, fatalities since 1983 |
| Assessed Violations | Millions | Weekly | Penalty assessments for violations since 1995 |
Additional supporting datasets available: contractor/operator employment, controller history, commodity lookup.
API Key
Register for a free DOL API key at dataportal.dol.gov/registration. The key provides access to all DOL Open Data Portal datasets (MSHA, OSHA, WHD, etc.).
Use Cases
- Mining company due diligence — Assess safety records before acquisition or investment
- Insurance underwriting — Evaluate mining operations for workers' comp and liability policies
- Regulatory compliance — Monitor violation trends and inspection frequency
- Investigative journalism — Research mine safety records and fatality patterns
- Legal research — Find citation and penalty history for mining litigation
- ESG analysis — Environmental, Social, Governance scoring for mining companies
- Government oversight — Track enforcement patterns across mining districts
Technical Notes
- The DOL API has aggressive rate limits. The actor uses 500ms delays between requests and exponential backoff on 429 responses.
- Violation, inspection, and accident fetches are staggered (1s apart) to avoid concurrent rate limiting.
- Mines are sorted by employee count descending (largest mines first) when no specific search criteria is provided.
- Results are sorted by risk score descending after processing.
- The
mine_idfield is the primary join key across all datasets.