MshaScan logo

Why mine safety data needed a better home

The federal government has published mine inspection results for decades, yet the raw MSHA exports are a maze of codes and bulk files that only specialists can decode. I built MshaScan as one of my own products to close that gap: it ingests the official data and reshapes it into clean, linkable profiles for every mine, operator and state in the country.

The result reads less like a government database and more like a reference site. A reporter can pull up a coal mine's citation history in one click; a safety officer can scan enforcement patterns before a site visit; a resident can simply see what's operating down the road.

What you can do with it

  • Search across everything — mine name, operator, MSHA ID or location, from a single box.
  • Per-mine safety profiles combining violations, S&S citations, penalty totals and inspection history in one view.
  • Accident and enforcement records shown with their surrounding context instead of bare table rows.
  • Stackable filters for state, mine type (underground vs. surface) and operating status.
  • National statistics with state-by-state comparisons — Kentucky alone accounts for 14,082 indexed mines.
  • Editorial guides on the blog explaining what citations, severity levels and penalty amounts actually mean.
91,935 Mines indexed
3.08M Violations tracked
$1.82B Penalties recorded
Weekly Data refresh

Scale of the dataset

Beyond the headline numbers, the corpus includes 274,050 documented accidents, 1,209 recorded fatalities and 1,153,973 inspections, with coverage stretching past the 50 states into Puerto Rico, Guam and American Samoa. A weekly sync against the official source keeps every profile current instead of letting the site fossilize.

See it live: Visit mshascan.com.

Under the hood

This is bespoke engineering, not an off-the-shelf theme. A Laravel + PHP backend handles ingestion and normalization of the federal exports, backed by a MySQL schema tuned to serve tens of thousands of pages quickly. No page builders, no plugins — every template exists because a content type needed it.

The growth engine is programmatic SEO: each mine, operator and state page carries unique metadata and its own indexable URL, and the whole stack is optimized so load times stay flat even as the weekly imports keep adding records.

Laravel PHP 8 MySQL Programmatic SEO Tailwind CSS Vite MSHA open data

MshaScan FAQ

Where does MshaScan source its records?

Everything comes from public datasets released by the Mine Safety and Health Administration (MSHA), the US federal agency in charge of mine inspections. The database is refreshed weekly, so new citations, inspections and accident reports keep flowing in.

How big is the MshaScan database?

The homepage counters speak for themselves: 91,935 mines (6,623 currently active), 3,087,107 violations, 1,153,973 inspections, 274,050 accidents and over $1.8 billion in accumulated penalties — all searchable.

Who is a mine safety search engine actually for?

Three audiences, as the site itself puts it: journalists researching a specific operation, safety professionals reviewing inspection history before an audit, and community members who want to understand the mines near where they live.

Is there a paywall or account requirement?

No. MshaScan is completely free to browse — no signup, no subscription and no search limits of any kind.

Want a platform like this for your business?

I build data-driven directories and search tools end to end — fixed written quote within 24 hours, code you own from day one.

Custom web development → Tell me about your project