# MSHA Mines Search

> MSHA Mines Search is a paid API for AI agents from api.govparse.io, paid per call via x402, $1.25/call, status unknown (last checked 2026-09-14).

Search MSHA-regulated coal and metal/non-metal mines and quarries by operator, name, location, commodity, type, or status to identify who operates what mines and where

## Facts

- Endpoint: GET https://api.govparse.io/v1/msha/mines/search
- Price: $1.25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/msha-mines-search-8db93928
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GawlrVSTzO01gnwNBIXI9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability msha-mines-search-8db93928
```

Example prompt: Find all active surface coal mines in West Virginia operated by Arch Resources — show me the mine name, operator, commodity, employee count, and current status for each one.

## When to prefer this

Use this endpoint when you need to identify who operates coal or metal/non-metal mines under MSHA jurisdiction — these operators are OSHA-exempt and do not appear in standard business or OSHA databases. Ideal for competitive intelligence on mining companies, supply chain due diligence on raw material suppliers, regulatory compliance research, or monitoring mine status changes in a specific geography. Prefer this over general business search tools when the target industry is mining or quarrying (NAICS-21).

## Known failure modes

- No results returned when operator name spelling differs significantly from MSHA records — use fragment/partial strings
- State must be a valid two-letter state code; invalid codes return empty results
- Date format errors (non-YYYY-MM-DD) may cause 400 bad request
- Limit exceeding 100 is capped or rejected
- entity_id UUID that does not match any resolved operator returns empty set
- Some mines may lack employee data if not reported to MSHA
- $1.25 USDC payment required per call; unpaid requests return 402

## How this service works

Which mines and quarries operate in a market, and who runs them? Search the MSHA Mines data set — every coal and metal/non-metal mine under MSHA jurisdiction (NAICS-21 operators that are OSHA-exempt and invisible elsewhere) — by operator, mine name, state, county, commodity, canvass, coal_metal, mine type, status, active-only, or status date (since). Returns the mine, its operator (entity-resolved) and controller, commodity, employees, and status. MSHA public-domain records.

## Output

Returns a list of mine records matching the query, each containing the MSHA mine ID, mine name, mine type (Surface/Underground/Facility), operator name (entity-resolved), controller name, state, county, commodity, canvass category, coal/metal designation, employee count, current status, and status date. Results are paginated (default 25, max 100) and sortable by status date, mine name, or employee count.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [],
   "properties": {
    "sort": {
     "type": "string",
     "examples": [
      "status_dt:desc"
     ],
     "description": "status_dt | mine_name | employees :asc|:desc. Default status_dt:desc."
    },
    "limit": {
     "type": "integer",
     "examples": [
      25
     ],
     "description": "Max rows (default 25, cap 100)."
    },
    "since": {
     "type": "string",
     "examples": [
      "2026-01-01"
     ],
     "description": "Current-status date on/after this date (YYYY-MM-DD) — surfaces newly-statused mines."
    },
    "state": {
     "type": "string",
     "examples": [
      "WV"
     ],
     "description": "State code(s), CSV."
    },
    "active": {
     "type": "string",
     "examples": [
      "true"
     ],
     "description": "true = currently-active mines only."
    },
    "county": {
     "type": "string",
     "examples": [
      "Boone"
     ],
     "description": "County name fragment."
    },
    "offset": {
     "type": "integer",
     "examples": [
      0
     ],
     "description": "Rows to skip."
    },
    "status": {
     "type": "string",
     "examples": [
      "Active"
     ],
     "description": "Mine status (Active | Abandoned | Intermittent | Temporarily Idled | NonProducing), CSV."
    },
    "canvass": {
     "type": "string",
     "examples": [
      "Stone"
     ],
     "description": "Primary canvass (Coal | M/NM | Metal | Nonmetal | Sand & gravel | Stone), CSV."
    },
    "mine_id": {
     "type": "string",
     "examples": [
      "1202215"
     ],
     "description": "MSHA mine id(s), CSV."
    },
    "operator": {
     "type": "string",
     "examples": [
      "Peabody"
     ],
     "description": "Mine operator/company name — suffix/punctuation-insensitive."
    },
    "commodity": {
     "type": "string",
     "examples": [
      "Sand & Gravel"
     ],
     "description": "Commodity/SIC or canvass fragment."
    },
    "entity_id": {
     "type": "string",
     "examples": [
      "b7f3e2d1-4a5c-4e6f-8a9b-0c1d2e3f4a5b"
     ],
     "description": "Resolved operator entity UUID (pivots to business360)."
    },
    "mine_name": {
     "type": "string",
     "examples": [
      "Quarry"
     ],
     "description": "Mine name fragment."
    },
    "mine_type": {
     "type": "string",
     "examples": [
      "Surface"
     ],
     "description": "Surf
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/msha-mines-search-8db93928/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.govparse.io](https://www.zero.xyz/host/api.govparse.io/llms.txt)
