USGS MRDS Mineral Resource Records avatar

USGS MRDS Mineral Resource Records

Pricing

from $0.41 / 1,000 item extracteds

Go to Apify Store
USGS MRDS Mineral Resource Records

USGS MRDS Mineral Resource Records

Search or resolve public USGS MRDS mineral deposit records and export stable IDs, coordinates, commodities, geology, development context, analytical data, and references.

Pricing

from $0.41 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Search or resolve public mrdata USGS Mineral Resources Data System (MRDS) records and export stable deposit IDs, names, coordinates, commodities, development context, geology, analytical data, comments, and bibliographic references.

Use the Actor for repeatable mineral exploration screening, regional resource research, and GIS enrichment without manually navigating one MRDS page at a time.

What does this USGS MRDS Actor do?

The Actor supports three complementary routes:

  1. resolve exact MRDS deposit IDs or public record URLs;
  2. search by site name, location, commodity, material, or operation type;
  3. discover records inside WGS84 bounding boxes for spatial analysis.

Every accepted candidate is enriched from the official structured USGS record endpoint. Results use a consistent schema even though old MRDS sections vary between records.

The Actor does not manufacture missing geology or production values. Unavailable values are returned as null, empty arrays, or omitted keys inside rich source sections.

Who is it for?

Mineral exploration teams

Build regional prospect lists, compare published commodity associations, and review historical development context before deeper due diligence.

GIS analysts

Turn a longitude/latitude bounding box into tabular, GeoJSON-friendly point attributes for joining with geology, land, infrastructure, or environmental layers.

Researchers and consultants

Resolve citations and stable MRDS identities for reports covering mines, prospects, occurrences, districts, and mineral-resource history.

Data engineers

Schedule repeatable Apify runs and send normalized records to spreadsheets, warehouses, notebooks, or geospatial pipelines.

Why use this Actor?

  • Uses public USGS MRDS structured data rather than scraping visual map pixels.
  • Keeps the stable depositId and canonical source links on every row.
  • Normalizes source fields that may appear as either one object or an array.
  • Combines exact lookup, attribute search, and bounding-box discovery.
  • Applies user filters to discovered and explicit records before saving.
  • Charges only for records that pass filters and are written to the dataset.
  • Uses a lightweight HTTP workflow with no browser or residential proxy requirement.

What data can you extract?

Field groupExamples
IdentitydepositId, mrdsId, recordType, siteName, alternate names, record grade
Coordinateslatitude, longitude, datum
Jurisdictioncountry, state or province, county
Commoditiesnames, codes, groups, type, reported importance
Developmentstatus, operation type, production years and size, significance
Geologymaterials, deposit models, rocks, structures, tectonics, alteration, ore control, orebody
Economic contextownership, land status, holdings, workings, production, resources, reserves
Evidenceanalytical data, categorized comments, bibliographic references
Provenancecanonical detail URL, JSON URL, source update value, fetch timestamp

MRDS is a historical database. Record depth varies substantially: some entries are simple commodity occurrences, while others include extensive geological and economic sections.

Input options

recordIds

A list of stable MRDS deposit IDs.

{
"recordIds": ["10016307", "10215357"],
"maxItems": 2
}

recordUrls

Public MRDS detail, record, or JSON URLs. The Actor extracts the deposit ID and resolves the same official JSON record.

searches

An array of search objects. Supported fields are:

  • siteName;
  • nameMatch: beginsWith or contains;
  • state;
  • county;
  • country;
  • commodity;
  • material;
  • operationType;
  • developmentStatus.

Location and commodity filters can be combined to make screening queries more precise.

boundingBoxes

Each box requires:

  • west and east from -180 to 180;
  • south and north from -90 to 90;
  • west < east and south < north.

A box can also include the same record filters used by searches.

Limits

maxItems limits unique saved records across every route. maxConcurrency controls simultaneous detail requests and defaults to a source-friendly value of 5.

Getting started

  1. Open the Actor in Apify Console.
  2. Choose one input route: exact records, searches, or bounding boxes.
  3. Keep maxItems small for the first run.
  4. Click Start.
  5. Open Dataset to inspect normalized records.
  6. Export JSON, CSV, Excel, XML, or another supported Apify dataset format.
  7. Save the configuration as a Task when you want repeatable runs.

Example: search Colorado gold records

{
"searches": [
{
"siteName": "Keystone",
"nameMatch": "contains",
"state": "Colorado",
"country": "United States",
"commodity": "Gold"
}
],
"maxItems": 3
}

This real input returns full MRDS records rather than only search-result cards.

Example: GIS enrichment by bounding box

{
"boundingBoxes": [
{
"west": -107.06,
"south": 38.87,
"east": -107.03,
"north": 38.89,
"commodity": "Lead"
}
],
"maxItems": 3
}

The output includes coordinates and source links suitable for conversion to point features in a GIS workflow.

Output example

A current record has this normalized shape (long source sections shortened here):

{
"depositId": "10016307",
"mrdsId": "DC00917",
"recordType": "Site",
"siteName": "Keystone",
"recordGrade": "D",
"latitude": 38.88138,
"longitude": -107.04662,
"country": "United States",
"state": "Colorado",
"county": "Gunnison",
"commodityNames": ["Lead", "Zinc", "Silver", "Gold", "Copper"],
"developmentStatus": "Producer",
"productionYears": "1957",
"districts": ["Ruby"],
"bibliographicReferences": [
{ "category": "Deposit", "reference": "DMEA RECORDS", "recordId": null }
],
"sourceUrl": "https://mrdata.usgs.gov/mrds/show-mrds.php?dep_id=10016307",
"sourceJsonUrl": "https://mrdata.usgs.gov/mrds/json/10016307"
}

How much does it cost to extract USGS MRDS records?

This Actor uses pay-per-event pricing:

  • one start event per run;
  • one item event for each accepted dataset record.

The current start fee is $0.005. The BRONZE item price is $0.00067905 per record, with lower unit prices on higher Apify pricing tiers.

At the BRONZE rate, example charge calculations are:

Saved recordsCharge calculation
1one $0.005 start event + 1 × $0.00067905 item event
10one $0.005 start event + 10 × $0.00067905 item events
100one $0.005 start event + 100 × $0.00067905 item events
1,000one $0.005 start event + 1,000 × $0.00067905 item events

Platform compute is handled through the active Apify pricing configuration. Failed candidates, duplicates, and records rejected by filters do not produce an item charge.

Build mineral exploration screening workflows

Spreadsheet research

Run a commodity and region search, export CSV or Excel, and add analyst scoring columns for follow-up.

GIS joins

Use longitude and latitude to create point geometry, then join records with geological, ownership, access, or infrastructure layers.

Record enrichment

Keep depositId in an internal table and periodically resolve important records to obtain their currently exposed source sections and references.

Reproducible research

Store Actor input alongside a report or notebook so another analyst can rerun the same public-source extraction.

MRDS ceased systematic updates in 2011. Scheduled runs are useful for reproducibility and detecting occasional source corrections, not as a promise of real-time mine monitoring.

Use the Apify API with cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~usgs-mrds-mineral-resource-records/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"recordIds":["10016307"],"maxItems":1}'

To wait for a result and receive dataset items directly:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~usgs-mrds-mineral-resource-records/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"recordIds":["10016307"],"maxItems":1}'

Use the Apify API with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/usgs-mrds-mineral-resource-records').call({
searches: [{ state: 'Colorado', commodity: 'Gold' }],
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use the Apify API with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/usgs-mrds-mineral-resource-records').call(
run_input={
'boundingBoxes': [{
'west': -107.06,
'south': 38.87,
'east': -107.03,
'north': 38.89,
'commodity': 'Lead',
}],
'maxItems': 25,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use USGS MRDS through MCP

Add the Apify MCP server to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/usgs-mrds-mineral-resource-records"

Claude Desktop, Cursor, and VS Code setup

Use this MCP JSON configuration in Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/usgs-mrds-mineral-resource-records"
}
}
}

Example prompts:

  • “Resolve MRDS deposit 10016307 and summarize its commodities and development status.”
  • “Find lead-bearing MRDS records in this WGS84 bounding box and return a GIS-ready table.”
  • “Search Colorado MRDS sites containing Keystone and include bibliographic references.”

Data quality and limitations

  • USGS states that systematic MRDS updates ceased in 2011.
  • Some coordinates were derived from historical descriptions and may have limited precision.
  • Source records vary from sparse occurrences to detailed deposits.
  • Historical abbreviations and free-text fields are preserved where interpretation would be unsafe.
  • A source search may return at most 10,000 candidates.
  • The Actor does not geocode place names; use explicit jurisdictions or bounding boxes.
  • Bounding boxes crossing the antimeridian are not accepted as one box.
  • Upstream maintenance, timeouts, or schema changes can temporarily prevent retrieval.
  • The Alaska Resource Data File is the more actively maintained USGS source for many Alaska-specific research jobs; this Actor returns MRDS records only.

Legality and responsible use

MRDS is a public USGS scientific information source. Use exported records in accordance with applicable USGS terms and attribution guidance.

Historical records are screening evidence, not legal, investment, safety, engineering, reserve-certification, or land-access advice. Verify important locations, ownership, resource estimates, and operational status with authoritative current sources before making decisions.

Do not present an MRDS occurrence as proof of an economically recoverable deposit.

Troubleshooting

The run says that no input route was provided

Add at least one non-empty recordIds, recordUrls, searches, or boundingBoxes array.

A search returns no records

Try fewer filters, check the historical spelling of the site or jurisdiction, or switch nameMatch from beginsWith to contains.

An exact record is missing from output

Confirm that the URL contains a numeric MRDS deposit ID. If filters are attached to an explicit route in a future saved configuration, make sure the record satisfies them.

A record has empty geology or analytical data

That is normal for sparse MRDS records. The Actor preserves source availability rather than filling fields from unrelated records.

A request fails temporarily

The Actor retries timeouts and transient HTTP failures. If USGS maintenance continues, rerun later and inspect the Actor log for the affected deposit ID.

FAQ

Is this a live mine-status database?

No. MRDS is mainly historical and ceased systematic updates in 2011. developmentStatus reflects the source record, not necessarily current operations.

Can I look up one known record?

Yes. Use recordIds or recordUrls for the cheapest and most deterministic route.

Can I search by commodity and state?

Yes. Put commodity and state in a search object. Add a site name, county, country, material, or operation type when useful.

Does the Actor return full source detail?

It normalizes the most useful identity, location, commodity, development, analytical, comment, and reference fields. Rich geology and development sections preserve the official structured data currently exposed for each record.

Does it use a proxy or browser?

No. The current implementation uses public USGS HTTP endpoints and a conservative request concurrency.

Can I export GeoJSON?

The primary result is a dataset row with longitude and latitude. Export JSON and construct Point geometries in your GIS or data pipeline; Apify also supports common tabular export formats.

This is a standalone mineral-resource research workflow in the automation-lab portfolio. It does not currently require a related Actor to deliver the promised MRDS screening and GIS-enrichment job.

Explore other public-data Actors from automation-lab on Apify when your workflow needs a different official source.