ParseForge Scrapers

Metal Prices Scraper

parseforge/metalprices-com-scraper

Developer toolsAutomationOther

Scrapes MetalPrices.com for historical and current prices of 23 metals. Returns each price record with metal, price, unit, date, and currency in one flat row.

Run this scraper See the API call
Total users
12
Monthly active
1
Total runs
793
Bookmarked
1
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Metal Prices Scraper

Scrape historical and current metal prices for 23 metals, from aluminum to zinc, in 65+ currencies. Every record includes the price, unit, date, and currency. Export to CSV, JSON, Excel, or XML.

MetalPrices.com publishes daily spot prices for base metals, precious metals, and rare earths, but browsing the site means clicking through one metal at a time. This Actor reads the public price feeds directly, fetching historical time series for a single metal or today's snapshot for all 23 metals in one run. No API key or registration required.

Who uses it What they scrape MetalPrices.com for
Procurement managers Monitor daily copper, aluminum, or steel prices to time purchase orders.
Commodity analysts Pull years of gold, silver, or platinum history into a spreadsheet for trend analysis.
Recycling operators Check current palladium, rhodium, or lithium prices before accepting a lot.
Academic researchers Collect long-run price series for industrial metals to feed economic models.

What it does

This Actor collects metal price records from MetalPrices.com by metal code and date range, or fetches the current price for every metal at once, and returns each record as a flat row.

  • ๐Ÿ“… Historical mode: fetch up to 10,000 days of price history for one metal, back to the year 2000.
  • ๐ŸŒ Current-all mode: grab today's spot price for all 23 metals in a single run.
  • ๐Ÿ’ฑ 65+ currencies: request prices in USD, EUR, GBP, JPY, or any supported currency code.
  • โš–๏ธ Flexible units: choose pounds, troy ounces, grams, kilograms, or metric tons per metal.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with MetalPrices.com data

๐Ÿ“ˆ Build a commodity price dashboard.

A procurement team runs the Actor daily in current-all mode, pipes the JSON into a BI tool, and overlays copper, aluminum, and nickel prices on their inventory levels.

๐Ÿ“Š Backtest a trading strategy.

A quant researcher fetches 20 years of gold and silver history in USD per troy ounce, exports to CSV, and loads it into a backtesting engine.

๐Ÿญ Set raw-material budgets.

A manufacturer pulls the last 120 days of steel and zinc prices in EUR per metric ton to forecast next quarter's input costs.

โ™ป๏ธ Price scrap metal lots.

A recycler checks today's palladium, platinum, and rhodium prices in USD per ounce before quoting a catalytic converter shipment.

Why choose this scraper

What you get
No API key Reads the public MetalPrices.com feeds without registration or rate-limit headaches.
One fixed schema Every record lands with the same columns: metal, price, unit, date, and currency.
Bulk history Pull up to 1,000,000 records per run, covering two decades of daily prices.
All metals at once Current-all mode returns 23 rows in seconds, one per metal.

How it compares

No other Store actor targets MetalPrices.com the same way, so the honest comparison is with the alternatives teams actually weigh.

Metal Prices Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When MetalPrices.com changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor by selecting a metal code and a lookback period in days, or switch to current-all mode to pull every metal at once. Filters apply as each record is read so only the requested date range and currency reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "mode": "history",
  "maxItems": 10,
  "metalCode": "au",
  "currency": "USD",
  "unit": "oz",
  "period": 30
}

A larger pull:

{
  "mode": "history",
  "maxItems": 200,
  "metalCode": "au",
  "currency": "USD",
  "unit": "oz",
  "period": 30
}

Pricing

Pay-per-result: $0.0045 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.45
1,000 results $4.50
10,000 results $45.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Metal Prices Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to MetalPrices.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/metalprices-com-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that you set a valid metal code and a period greater than 0 in history mode. If the site layout changed, the Actor may need an update; contact support with your run ID.

The currency I entered is not working.

Make sure you used the three-letter ISO code like EUR, not the symbol. If the code is correct but prices still show in USD, the site may not support that currency for the selected metal.

I got fewer records than I expected.

The site may not have data for every calendar day. Weekends and holidays often have no published price. Try a wider date range or set period to 0 for all available history.

The run timed out.

Large historical requests can take a while. Increase the run timeout in the Actor's advanced settings, or reduce the period and run multiple smaller jobs.

FAQ

Question Answer
Which metals can I scrape? All 23 metals listed on MetalPrices.com: aluminum, cobalt, copper, gallium, gold, indium, iridium, iron ore, lead, lithium, molybdenum, neodymium, nickel, palladium, platinum, rhodium, ruthenium, silver, steel, tellurium, tin, uranium, and zinc.
How far back does the historical data go? Daily prices are available back to roughly the year 2000 for most metals. Set the period to 0 to request all available history.
Can I get prices in my local currency? Yes. Set the currency field to any supported code like EUR, GBP, JPY, or CNY. The Actor supports 65+ currencies.
What unit are the prices in? You choose the unit per run. Precious metals default to troy ounces, base metals to pounds, but you can override with grams, kilograms, or metric tons.
Does this Actor need a MetalPrices.com account? No. It reads the public price pages directly. No login, no API key, no registration.
How many records can I get in one run? You can set maxItems up to 1,000,000. In current-all mode you get 23 rows per run. In history mode, one row per day per metal.
What output formats are supported? You can export your dataset to CSV, JSON, Excel, or XML from the Apify run detail page.
Can I schedule this scraper to run daily? Yes. Use Apify's scheduler to run the Actor every morning in current-all mode and append the results to a dataset.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by MetalPrices.com. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
mode string (2 options) Choose scraping mode. 'history' fetches historical prices for a single metal. 'currentAll' fetches today's prices for all 23 metals. history
maxItems integer How many price records to collect per run. 10
metalCode string (23 options) Select the metal to scrape prices for (used in history mode). au
currency string Currency code for prices (e.g. USD, EUR, GBP, JPY). Supports 65+ currencies. USD
unit string (6 options) Price unit. Default depends on the metal (oz for precious metals, lb for base metals). oz
period integer Number of days of historical data (e.g. 30, 120, 480). Use 0 for all available history (back to ~2000). Only used in history mode. 30

Pricing

from $4.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.004 to $0.0045

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~metalprices-com-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Metal Prices Scraper on Apify All scrapers