USGS MRDS Mineral Resource Records
Pricing
from $0.41 / 1,000 item extracteds
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
Maintained by CommunityActor 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:
- resolve exact MRDS deposit IDs or public record URLs;
- search by site name, location, commodity, material, or operation type;
- 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
depositIdand 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 group | Examples |
|---|---|
| Identity | depositId, mrdsId, recordType, siteName, alternate names, record grade |
| Coordinates | latitude, longitude, datum |
| Jurisdiction | country, state or province, county |
| Commodities | names, codes, groups, type, reported importance |
| Development | status, operation type, production years and size, significance |
| Geology | materials, deposit models, rocks, structures, tectonics, alteration, ore control, orebody |
| Economic context | ownership, land status, holdings, workings, production, resources, reserves |
| Evidence | analytical data, categorized comments, bibliographic references |
| Provenance | canonical 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:beginsWithorcontains;state;county;country;commodity;material;operationType;developmentStatus.
Location and commodity filters can be combined to make screening queries more precise.
boundingBoxes
Each box requires:
westandeastfrom -180 to 180;southandnorthfrom -90 to 90;west < eastandsouth < 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
- Open the Actor in Apify Console.
- Choose one input route: exact records, searches, or bounding boxes.
- Keep
maxItemssmall for the first run. - Click Start.
- Open Dataset to inspect normalized records.
- Export JSON, CSV, Excel, XML, or another supported Apify dataset format.
- 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
startevent per run; - one
itemevent 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 records | Charge calculation |
|---|---|
| 1 | one $0.005 start event + 1 × $0.00067905 item event |
| 10 | one $0.005 start event + 10 × $0.00067905 item events |
| 100 | one $0.005 start event + 100 × $0.00067905 item events |
| 1,000 | one $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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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.
Related Actors
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.