MSHA Mine, Quarry & Aggregates Operator Leads
Pricing
from $2.75 / 1,000 mine / operator leads
MSHA Mine, Quarry & Aggregates Operator Leads
Scrape US mine, quarry & aggregates operators from official MSHA data: operator & parent controller, commodity, employees, full address, geo, production & violation/penalty intel. Filter by state, commodity, status & size. B2B leads + monitoring, no browser.
Pricing
from $2.75 / 1,000 mine / operator leads
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Turn the official MSHA (Mine Safety and Health Administration) Open Government Data into a clean, ready-to-use B2B lead list of every mine, quarry, sand & gravel pit, and processing plant in the United States — with the operator and its parent controlling company, the commodity they produce, employee count, full mailing address + geo, latest-year production & employment, and optional violation / penalty compliance intel.
Every operating mine is a capital-intensive business that buys heavy equipment, crushing & conveying gear, safety/PPE, explosives & blasting services, dust & water control, environmental & permitting consulting, MRO parts, insurance, and software. This actor hands you the whole market, segmented and lead-scored.
No login, no API key, no browser — fast, direct download of the official government files.
Why this MSHA scraper?
Other "mine safety" scrapers stop at citation records. This actor ships the richest operator lead in the category by joining MSHA's mine master, address-of-record, annual production, and violation datasets into one record:
| Data | Typical scrapers | This actor |
|---|---|---|
| Operator legal name | ✅ | ✅ |
| Parent controlling company (corporate owner) | ❌ | ✅ |
| Commodity + SIC (coal / sand & gravel / stone / metal / nonmetal) | partial | ✅ |
| Mine type & operational status (Active / New / Idled…) | partial | ✅ |
| Employee count (deal-size signal) | ❌ | ✅ |
| Full mailing address + ZIP + contact title | ❌ | ✅ |
| Latitude / longitude | partial | ✅ |
| Latest-year production & employment | ❌ | ✅ opt-in |
| Violations, S&S counts, total penalties, last citation | safety only | ✅ opt-in |
| Lead score (0–100) + lead signals | ❌ | ✅ |
| New-operation & status-change monitoring | ❌ | ✅ |
Use cases
- Lead generation — sell to mines, quarries and aggregate producers: heavy equipment & dealers, crushing/screening/conveying, safety & PPE, blasting & drilling, dust suppression, environmental & permitting consulting, MRO, insurance, ERP/fleet software. Score by
status,employees,commodityGroupand contact them at the address on file. - Construction-materials sourcing — find every sand & gravel and crushed stone producer in a state or county for ready-mix, asphalt, and aggregate supply.
- Corporate mapping — use
controllerNameQueryto pull every site a parent company controls nationwide. - Compliance & safety intelligence — turn on violations to rank operators by citation volume, significant-and-substantial (S&S) counts and total proposed penalties — high-intent prospects for safety, training, PPE and insurance.
- New-operation alerts — monitor for New Mine registrations: brand-new operations that are buying everything right now.
- Market & territory analysis — count and map operators by commodity, size, and geography.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the MSHA Mine, Quarry & Aggregates Operator Leads actor, choose your states, commodity groups, status and size filters, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"states": ["WV", "PA"],"commodityGroups": ["coal", "stone"],"mineStatuses": ["Active"],"minEmployees": 20,"includeProduction": true,"includeViolations": false,"maxResults": 1000,"sortBy": "leadScore"}
- states — two-letter USPS codes; empty = all states & territories.
- commodityGroups —
coal,sandGravel,stone,nonmetal,metal. Sand & gravel + stone are the construction-aggregates producers. - coalOrMetal — quick
coal/metalNonmetaltoggle. - counties — filter by county name.
- mineStatuses (default
["Active"]) —Active,New Mine,Intermittent,NonProducing,Temporarily Idled,Abandoned,Abandoned and Sealed. - mineTypes —
Surface,Underground,Facility(mill / plant). - newMinesOnly — only brand-new (
New Mine) operations — the highest-intent leads. - companyTypes —
Corporation,Limited Liability Corporation,Partnership,Sole Proprietor,Other. - minEmployees / maxEmployees — size filter (deal-size proxy).
- operatorNameQuery / controllerNameQuery — match the operator/mine name or the parent controlling company.
- includeProduction (default true) — add latest-year average employment, coal tonnage and hours worked.
- includeViolations (default false) — add citation counts, S&S counts, total penalties, amounts due and the last violation date. Records are charged at the compliance rate when this is on.
- violationsLookbackYears (default 5) — window for the "recent violations" tally.
- maxResults / sortBy —
leadScore,employeesHigh,recentStatus,productionHigh,penaltiesHigh. - monitorMode / monitorKey — emit only new / changed operations since the last run.
Output
One record per mine / operation (recordType: "mine"):
{"recordType": "mine","mineId": "0100003","mineName": "O'Neal Quarry & Mill","businessName": "Lhoist North America of Alabama, LLC","mshaUrl": "https://www.msha.gov/mine-data-retrieval-system?MineId=0100003","operatorName": "Lhoist North America of Alabama, LLC","operatorId": "L13586","controllerName": "Lhoist Group","controllerId": "0041044","hasParentCompany": true,"controllerSince": "1989-07-01","companyType": "Other","coalOrMetal": "Metal/Nonmetal","mineType": "Surface","commodity": "Lime","commoditySicCode": "1422","commodityGroup": "Stone","secondaryCommodity": "Crushed, Broken Limestone NEC","isPortable": false,"status": "Active","statusDate": "1979-01-22","isActive": true,"isNewMine": false,"employees": 108,"contactTitle": "Operations Manager","street": "2885 Hwy 31 South","city": "Calera","county": "Shelby","state": "AL","zip": "35040","latitude": 33.17,"longitude": -86.758889,"congressionalDistrict": "AL-06","fieldOffice": "Birmingham AL Field Office (A)","latestProductionYear": 2024,"avgEmployeesReported": 112,"leadScore": 88,"leadSignals": ["activeOperation", "largeEmployer", "corporateParent", "recentlyProducing"],"scrapedAt": "2026-06-20T12:00:00.000Z"}
With includeViolations on, each record also carries violationCount, recentViolationCount, significantSubstantialCount, totalProposedPenaltyUsd, totalAmountDueUsd, lastViolationDate.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it weekly/monthly to capture newly-registered operations; pair with monitoring mode for a clean new-leads feed.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/msha-mine-operations-scraper').call({states: ['TX'],commodityGroups: ['sandGravel', 'stone'],mineStatuses: ['Active'],minEmployees: 10,maxResults: 1000,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} mine / operator leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new operator leads straight into your CRM.
- Slack — get notified when a monitored search finds new operations.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list active stone quarries in Texas with 20+ employees" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete US B2B / government-data lead stack:
- SBA Loan Leads Scraper — 7(a) & 504 financed small businesses.
- PPP Loan Data Scraper — 11M+ PPP borrowers with owner demographics.
- Form 5500 ERISA Scraper — 401(k) & benefit-plan sponsors.
- EPA ECHO Scraper — regulated facilities, violations & penalties.
- FMCSA Trucking Scraper — motor carriers & new-authority leads.
- FAA Aircraft Registry Scraper — aircraft owners & operators.
- US Business Formation Scraper — newly registered companies.
- US Contractor License Scraper — licensed contractors with bond & insurance.
- USASpending Scraper — federal contract & grant recipients.
Tips
- Construction aggregates: filter
commodityGroupstosandGravel+stoneandmineStatusestoActiveto get every operating aggregate producer in a state. - Biggest operators first: sort by
employeesHigh, or setminEmployeesto focus on larger sites. - Cost control: leave includeViolations off unless you need compliance intel — the base lead already carries operator, parent, commodity, size, address and production.
- Fresh leads: combine Schedules with monitoring mode to receive only new or status-changed operations.
FAQ
Where does the data come from? The official MSHA Open Government Data sets — the same data behind MSHA's Mine Data Retrieval System. No API key or login required.
Does it include phone numbers or emails? MSHA publishes the operation's mailing address and contact title, but not operator phone or email. You get the company, parent, full address, size, commodity and geo — append contact details with your own tools if needed.
How fresh is it? MSHA refreshes these datasets regularly. Run on a Schedule with monitoring mode to capture changes as they appear.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
A field is null — why? Some operations genuinely don't report every field (e.g. new mines before their first filing, or operations without geo). Fields are null only when the source data doesn't have a value.
Is this legal? This actor collects publicly available US government data. You are responsible for using the data in compliance with applicable laws and MSHA's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.