Commodity Price Aggregator — EIA Energy & USDA Crop Prices
Commodity Price Aggregator — EIA Oil, Gas & USDA Crop Prices
Fetch structured commodity price data from two US federal government APIs: energy prices (crude oil Brent and WTI, petroleum products, natural gas) from the EIA API and agricultural prices (corn, soybeans, wheat, cotton) from the USDA NASS Quick Stats API. No browser automation — both sources are clean REST APIs.
What does the Commodity Price Aggregator do?
The actor queries the EIA (Energy Information Administration) and USDA National Agricultural Statistics Service APIs and returns normalized price records across four commodity categories. Each record carries the source series ID, date, price, unit, frequency, region, and grade — giving you everything needed to join records, pivot on series, or build time-series charts without further cleanup.
EIA data covers daily petroleum spot prices (Brent, WTI, diesel, propane, heating oil), weekly retail gasoline and diesel prices, and monthly natural gas prices. USDA NASS data covers monthly farm-level prices received for corn, soybeans, wheat, and cotton.
Note on the agriculture category: If nassApiKey is omitted when commodityCategory includes agriculture, the agriculture fetch is skipped rather than failing the run. Set commodityCategory to energy or natural_gas if you do not have a NASS key.
What data does it extract?
| Field | Description |
|---|---|
source |
Data source: EIA or USDA-NASS |
commodity |
Commodity name (e.g. UK Brent Crude Oil, Natural Gas, Corn) |
market |
Market identifier (e.g. EIA-Spot, NASS-Received) |
series_id |
Source series code (e.g. RBRTE for Brent crude, RCLCO1 for WTI) |
series_description |
Full series description from the source API |
settlement_date |
Date of the price record (YYYY-MM-DD for daily/weekly; YYYY-MM for monthly) |
price |
Price as a decimal number |
unit |
Price unit (e.g. $/BBL, $/MCF, $/GAL, $/BU) |
currency |
Currency code (always USD) |
frequency |
Data frequency: daily, weekly, or monthly |
region |
Geographic area (e.g. U.S., Los Angeles, Europe) |
grade |
Commodity grade (Brent, WTI, Gasoline, Diesel, Natural Gas, etc.) |
process |
Price type (e.g. Spot Price FOB, Price Delivered to Residential) |
product_code |
Raw product code from the source API |
Data coverage
| Source | Commodity | Frequency | History |
|---|---|---|---|
| EIA | Petroleum spot prices (Brent, WTI, diesel, propane) | Daily | 1986–present |
| EIA | Retail gasoline and diesel | Weekly | 1995–present |
| EIA | Natural gas (residential, commercial, industrial) | Monthly | 1989–present |
| USDA NASS | Corn, soybeans, wheat, cotton | Monthly | ~1900s–present |
| Not covered | LME metals (copper, aluminum, zinc), CME futures | — | — |
How to use it
{
"commodityCategory": "energy",
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"maxItems": 0
}
Returns all EIA petroleum spot price records for 2024 (Brent and WTI spot prices use series_id RBRTE and RCLCO1 respectively).
{
"commodityCategory": "agriculture",
"nassApiKey": "YOUR_NASS_KEY",
"startDate": "2023-01",
"maxItems": 0
}
Returns all USDA NASS farm-level prices for corn, soybeans, wheat, and cotton from January 2023.
| Parameter | Default | Description |
|---|---|---|
commodityCategory |
energy |
energy, natural_gas, agriculture, or all (energy + natural gas) |
eiaApiKey |
— | Optional. Free EIA key for higher rate limits. A built-in demo key covers standard volumes. Register at eia.gov/opendata |
nassApiKey |
— | Required for agriculture. Free key from quickstats.nass.usda.gov/api. Omitting this when commodityCategory includes agriculture causes the agriculture fetch to be skipped |
startDate |
30 days ago | YYYY-MM-DD for energy; YYYY-MM for natural gas and agriculture |
endDate |
Today | Latest settlement date to include |
maxItems |
100 |
Max records to return. Set to 0 for all available |
Use cases
- Trading dashboards — pull Brent (series_id=RBRTE) and WTI (series_id=RCLCO1) daily spot prices and feed them directly into a price display or alert system
- Retail fuel price monitoring — track weekly US gasoline and diesel retail prices by region from the EIA series
- Natural gas market analysis — pull monthly residential, commercial, and industrial natural gas prices by US region
- Agri-fintech applications — feed USDA NASS corn, soybean, and wheat farm-price series into crop revenue models
- Quantitative research — build multi-commodity time-series datasets spanning decades for backtesting or seasonality analysis
FAQ
How do I find the series ID for a specific commodity?
Each record in the output carries a series_id field matching the EIA or NASS source code. For EIA petroleum: Brent crude = RBRTE, WTI crude = RCLCO1, US retail gasoline = EMM_EPM0_PTE_NUS_DPG. Filter the output by series_id to isolate a specific series.
Does the EIA key matter?
The actor includes a built-in demo EIA key that works for standard volumes. If you run into rate limiting on large historical pulls, register your own free key at eia.gov/opendata and pass it as eiaApiKey.
Results export as JSON, CSV, or Excel from the Apify dataset view.