Commodity Price Monitor — Energy, Metals & Agriculture
Pricing
Pay per usage
Commodity Price Monitor — Energy, Metals & Agriculture
Real-time commodity futures prices for 24 major commodities. No API keys required.
Commodity Price Monitor — Live Energy, Metals & Agriculture Futures
Real-time commodity futures prices for 24 major global commodities. No API keys. No browser. Just prices.
What problem does this solve?
You need commodity prices for trading, analysis, or dashboards. Bloomberg charges $24,000/year per seat. Refinitiv charges $22,000. TradingEconomics starts at $99/month with rate limits. Even free sources require you to build and maintain scrapers yourself.
This actor gives you clean, structured commodity futures data in one API call. No API keys required. No browser overhead. No maintenance.
What you get
One run returns the latest price for every selected commodity, plus daily/weekly/monthly changes and 52-week ranges. 24 commodities across 5 categories:
| Category | Commodities |
|---|---|
| 🔥 Energy | WTI Crude, Brent Crude, Natural Gas, Heating Oil, RBOB Gasoline |
| 🥇 Metals | Gold, Silver, Copper, Platinum, Palladium |
| 🌾 Grains | Corn, Wheat, Soybeans, Soybean Meal, Soybean Oil, Oats |
| ☕ Softs | Coffee, Sugar, Cocoa, Cotton, Orange Juice |
| 🐄 Livestock | Live Cattle, Feeder Cattle, Lean Hogs |
Pricing
$2.00 per 1,000 results — 98% cheaper than the only comparable actor on Apify Store ($100/1K).
| Run Size | Estimated Cost |
|---|---|
| All 24 commodities (1 run) | ~$0.05 |
| Daily monitoring (30 runs/month) | ~$1.50 |
| Full portfolio + indices + crypto | ~$0.10/run |
Input
{"categories": ["Energy", "Metals"],"symbols": []}
| Parameter | Type | Default | Description |
|---|---|---|---|
categories | array | All 5 categories | One or more of: Energy, Metals, Grains, Softs, Livestock |
symbols | array | Empty | Custom Yahoo Finance tickers. Overrides categories. Example: ["CL=F", "GC=F"] |
Quick examples
Energy prices only:
{ "categories": ["Energy"] }
Specific commodities:
{ "symbols": ["GC=F", "SI=F", "CL=F", "ZC=F"] }
All commodities (default):
{}
Output
Each commodity returns a single JSON record:
{"symbol": "GC=F","commodity": "Gold","category": "Metals","price": 2456.80,"currency": "USD","unit": "per troy ounce","change_pct_daily": 0.42,"change_pct_weekly": 1.85,"change_pct_monthly": 3.20,"52w_high": 2520.30,"52w_low": 1910.40,"exchange": "COMEX","data_source": "Yahoo Finance","timestamp": "2026-07-03 16:30:00"}
How it works
Pure HTTP. No headless browser. The actor calls Yahoo Finance's public chart API (query1.finance.yahoo.com/v8/finance/chart/) for each commodity in parallel. Response parsing is deterministic — every record has the same schema every time. Failures return cleanly with the remaining results.
Data freshness: Prices update throughout the trading day. For end-of-day settlement prices, run after 4:30 PM ET.
Use cases
- Commodity traders & analysts — daily mark-to-market without a Bloomberg terminal
- Hedge funds — feed prices into risk models and dashboards
- ETF issuers — NAV benchmarking for commodity ETFs (USO, GLD, SLV, DBA)
- Agricultural producers — track crop prices for hedging decisions
- Quantitative researchers — build commodity price datasets for backtesting
- AI agents & LLMs — structured commodity data for MCP tools and RAG pipelines
- Newsletter writers — automated commodity price updates in daily digests
Why this actor over alternatives?
| Feature | This Actor | NexGenData | jungle_synthesizer | ParseForge |
|---|---|---|---|---|
| Price/1K results | $2 | $100 | Pay-per-event | Per-actor |
| No API keys | ✅ | ✅ | ❌ (EIA+NASS keys) | Varies |
| All commodities | ✅ | ✅ | Energy + Ag only | Fragmented |
| Metals coverage | ✅ | ✅ | ❌ | ✅ (metals only) |
| HTTP-only (fast) | ✅ | ✅ | ✅ | ✅ |
FAQ
Q: Do I need a Yahoo Finance API key? A: No. This actor uses Yahoo's public chart API — the same one that powers Yahoo Finance's web charts. No authentication required.
Q: How often can I run this? A: Yahoo Finance updates prices in real-time during market hours. For end-of-day data, run once after 4:30 PM ET. For intraday monitoring, run every 5-15 minutes.
Q: What's the data source?
A: Yahoo Finance v8 chart API (query1.finance.yahoo.com). All prices are front-month futures contract settlement/last prices. Data is for informational purposes — not for trading execution.
Q: Can I add custom tickers?
A: Yes. Pass any Yahoo Finance futures ticker (ending in =F) via the symbols input parameter. The actor will attempt to fetch it.
Q: What about indices and crypto futures?
A: Add them via custom symbols: ES=F (S&P 500), NQ=F (Nasdaq), BTC=F (Bitcoin), ETH=F (Ethereum).
Run via API
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("YOUR_USERNAME/commodity-price-monitor").call(run_input={"categories": ["Energy", "Metals"],})items = client.dataset(run["defaultDatasetId"]).list_items().itemsfor item in items:print(f"{item['commodity']}: ${item['price']} ({item['change_pct_daily']:+.2f}%)")
curl "https://api.apify.com/v2/acts/YOUR_USERNAME~commodity-price-monitor/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_TOKEN" \-d '{"categories": ["Energy", "Metals"]}'
Schedule it
Use Apify Scheduler to run this actor daily, hourly, or on a custom cron schedule. Perfect for:
- Daily commodity price newsletter
- Morning briefing dashboard
- End-of-day NAV calculation
- Live trading desk monitor
Built for traders, analysts, and developers who need commodity prices without the Bloomberg price tag.