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
Actor stats
0
Bookmarked
5
Total users
0
Monthly active users
a month 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.
