OilPriceAPI Docs
GitHub
GitHub
  • Interactive Explorer

    • Interactive API Explorer
  • Price Data

    • API Reference
    • Get Latest Prices
    • Historical Prices
    • Batch Prices
    • Excel Latest Price Gateway
    • Price Widget Endpoints
    • Price Utility Endpoints
    • Natural Gas Intelligence
  • Commodities

    • List Commodities
    • Get Commodity Details
    • Data Publication & Collection Schedules
  • AI Agents (MCP)

    • Get Market Brief
    • Subscriptions / Watches
    • Agent Subscriptions with MCP
  • Marine Fuels

    • Marine Fuel API
    • List Marine Fuel Ports
    • Get Port Details with Prices
    • Bunker Fuels
    • Maritime Fuels
  • Fuel Surcharges

    • Fuel Surcharge API
  • Premium Endpoints

    • All Prices API - One Call, All Commodities
    • Cushing Oil Storage Intelligence API
    • Drilling Intelligence API
    • Marine Fuels API
    • ICE Brent Futures API
    • Benchmark Close
    • Aviation Fuel Pilot
  • Spreads & Margins

    • Spreads & Margins
    • Crack Spreads
    • Basis Spreads
    • Refining Margins
    • Curve Structure
    • Physical Premiums
  • Market Indicators

    • Market Indicators
    • Fuel Switching
    • Price Context
    • Storage Analytics
    • CFTC Positioning
    • Congressional Trades
    • Market Annotations
  • Futures

    • Futures API
    • ICE Brent Futures
    • ICE WTI Futures
    • ICE Gas Oil Futures
    • NYMEX Natural Gas Futures
    • ICE EUA Carbon Futures
    • EU Carbon Futures
    • TTF Gas Futures
    • LNG JKM Futures
    • UK Carbon Futures
  • Dark Data (Premium)

    • Energy Intelligence API
    • Rig Counts
    • Well Permits
    • Well Production Beta
    • Oil Inventories
    • OPEC Production
    • Drilling Productivity
    • Forecasts (STEO)
  • Well Production (Beta)

    • Well Production Data
    • Well Production API Reference
  • Analytics

    • Analytics API
  • Webhooks API

    • Webhooks API Reference
    • Webhook Endpoint Reference
  • Alerts

    • Price Alerts API
  • Account & Billing

    • Account API
    • API Keys
    • Subscriptions
    • Organizations

Get Commodity Details

Get detailed information about a specific commodity: catalog metadata, the latest price, and per-source publication/collection cadence.

Endpoint

GET /v1/commodities/{code}

Parameters

ParameterTypeRequiredDescription
codestringYesThe commodity code (e.g., WTI_USD, BRENT_CRUDE_USD)

Headers

HeaderValueRequired
AuthorizationToken YOUR_API_KEYYes
Content-Typeapplication/jsonYes

Response

Success Response (200 OK)

{
  "status": "success",
  "data": {
    "code": "JET_FUEL_USD",
    "name": "Jet Fuel",
    "currency": "USD",
    "category": "refined_products",
    "description": "Kerosene-type jet fuel spot price",
    "unit": "gallon",
    "unit_description": "Price per gallon",
    "multiplier": 100,
    "validation": { "min": 1.5, "max": 8.0 },
    "price_change_threshold": 0.15,
    "update_frequency": "weekly",
    "status": "available",
    "has_data": true,
    "current_price": {
      "value": 3.37,
      "formatted": "$3.37",
      "currency": "USD",
      "last_updated": "2026-07-15T19:29:40.737Z"
    },
    "sources": [
      {
        "label": "Published market reporting",
        "role": "market_data",
        "publication": {
          "observation_frequency": "weekday",
          "cadence": "weekly_batch",
          "schedule": "Market-price observations are released in an EIA-hosted weekly batch, typically Wednesdays, covering trading days through the prior Monday.",
          "typical_lag_days": { "min": 2, "max": 8 },
          "revisions": "The source may revise previously published periods; revised values are updated in place."
        },
        "collection": {
          "frequency": "daily at 21:00 UTC",
          "backfills_missed_data": true,
          "captures_revisions": true,
          "ingestion_latency": "typically within 24 hours of source publication"
        }
      }
    ],
    "links": {
      "docs": "https://docs.oilpriceapi.com/api-reference/commodities/details",
      "publication_schedule": "https://docs.oilpriceapi.com/data/publication-schedules#jet_fuel_usd",
      "openapi": "https://api.oilpriceapi.com/.well-known/openapi.json",
      "latest": "https://api.oilpriceapi.com/v1/prices/latest?by_code=JET_FUEL_USD",
      "historical": "https://api.oilpriceapi.com/v1/prices/historical?by_code=JET_FUEL_USD"
    },
    "your_access": {
      "history_available_from": null,
      "note": "Your plan includes the full available price history for this commodity."
    }
  }
}

Response Fields

FieldTypeDescription
codestringCommodity code
namestringHuman-readable name
currencystringQuote currency
categorystringCategory slug (e.g. refined_products)
descriptionstringDescription of the instrument
unit / unit_descriptionstringUnit of measure
multiplier, validation, price_change_threshold—Internal configuration (deprecated for client use)
update_frequencystringObservation frequency of the series (e.g. daily, weekly, weekday, realtime). This is how often the source observes the market, not how often values are published — superseded by sources[] below
status / has_datastring / booleanAvailability of the code and whether it is backed by data
current_priceobject | nullLatest price: value, formatted, currency, last_updated
sourcesarrayRolling out. Per-source cadence: what the publisher does (publication) and what OilPriceAPI does (collection) — see below
linksobjectRolling out. Absolute URLs for this commodity: docs, publication_schedule (with a per-code anchor), openapi, latest, historical
your_accessobjectRolling out. Historical depth included in your plan: history_available_from (ISO date, or null for the full archive) and a human-readable note

Understanding sources[]: publication vs collection

Each entry in sources[] describes one source family feeding the commodity, in priority order:

  • publication — what the source does: observation_frequency (how often the market is observed), cadence (how often observations are released, e.g. weekly_batch vs continuous), a human-readable schedule, typical_lag_days (how far behind real time a release typically runs), and revisions.
  • collection — what OilPriceAPI does: sampling frequency, whether missed periods are backfilled, whether source revisions are captured, and typical ingestion_latency.

The two diverge for batch publishers: a weekday series published in weekly batches can be up to ~8 days behind real time just before a release and still be perfectly healthy. Before treating a series as stale, check its entry on the Data Publication & Collection Schedules page — links.publication_schedule deep-links straight to it. Sources that publish market price reporting appear with the generic label market_reporting; OilPriceAPI is not affiliated with, endorsed by, or a licensed distributor of any exchange or price-reporting agency.

Error Response (404 Not Found)

{
  "status": "fail",
  "error": {
    "code": "COMMODITY_NOT_FOUND",
    "message": "Commodity not found",
    "commodity_code": "INVALID_CODE"
  }
}

Code Examples

cURL

# Get WTI crude oil details
curl "https://api.oilpriceapi.com/v1/commodities/WTI_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get Brent crude details
curl "https://api.oilpriceapi.com/v1/commodities/BRENT_CRUDE_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get natural gas details
curl "https://api.oilpriceapi.com/v1/commodities/NATURAL_GAS_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Python

import requests

api_key = "YOUR_API_KEY"
commodity_code = "JET_FUEL_USD"

response = requests.get(
    f"https://api.oilpriceapi.com/v1/commodities/{commodity_code}",
    headers={"Authorization": f"Token {api_key}"}
)

if response.status_code == 200:
    data = response.json()
    commodity = data['data']
    print(f"{commodity['name']}: {commodity['current_price']['formatted']}")
    # When is this series published? (sources[] is rolling out)
    for source in commodity.get('sources', []):
        print(f"  {source['label']}: {source['publication']['schedule']}")
else:
    print(f"Error: {response.status_code}")

JavaScript

const apiKey = "YOUR_API_KEY";
const commodityCode = "WTI_USD";

fetch(`https://api.oilpriceapi.com/v1/commodities/${commodityCode}`, {
  headers: {
    Authorization: `Token ${apiKey}`,
  },
})
  .then((response) => response.json())
  .then((data) => {
    if (data.status === "success") {
      const commodity = data.data;
      console.log(`${commodity.name}: ${commodity.current_price.formatted}`);
    }
  })
  .catch((error) => console.error("Error:", error));

Ruby

require 'net/http'
require 'json'

api_key = 'YOUR_API_KEY'
commodity_code = 'WTI_USD'

uri = URI("https://api.oilpriceapi.com/v1/commodities/#{commodity_code}")
request = Net::HTTP::Get.new(uri)
request['Authorization'] = "Token #{api_key}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end

if response.code == '200'
  data = JSON.parse(response.body)
  commodity = data['data']
  puts "#{commodity['name']}: #{commodity['current_price']['formatted']}"
end

PHP

<?php
$apiKey = 'YOUR_API_KEY';
$commodityCode = 'WTI_USD';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.oilpriceapi.com/v1/commodities/{$commodityCode}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Token {$apiKey}"
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode === 200) {
    $data = json_decode($response, true);
    $commodity = $data['data'];
    echo "{$commodity['name']}: {$commodity['current_price']['formatted']}\n";
}
?>

Available Commodity Codes

For a complete list of available commodity codes, see the List Commodities endpoint.

Common Codes

  • Crude Oil: WTI_USD, BRENT_CRUDE_USD, DUBAI_CRUDE_USD
  • Natural Gas: NATURAL_GAS_USD, NATURAL_GAS_GBP, DUTCH_TTF_EUR
  • Refined Products: GASOLINE_RBOB_USD, ULSD_DIESEL_USD, HEATING_OIL_USD
  • Marine Fuels: MGO_05S_USD, VLSFO_USD, HFO_380_USD

Rate Limits

This endpoint counts against your monthly API request limit. Check the response headers for current usage:

  • X-RateLimit-Limit: Your monthly limit
  • X-RateLimit-Remaining: Requests remaining this month
  • X-RateLimit-Reset: When the limit resets (Unix timestamp)

Notes

  • Update cadence varies by source: see each commodity's sources[] block and its entry on the Data Publication & Collection Schedules page. Batch-published series (e.g. EIA weekly batches) can be several days behind real time by design
  • Historical data retention varies by commodity and by plan — see your_access in the response
  • Some commodities may have limited metadata depending on the source
  • Marine fuel prices include IMO 2020 compliance information

Commodity-Specific Examples

WTI USD

West Texas Intermediate - The primary US crude oil benchmark

curl "https://api.oilpriceapi.com/v1/commodities/WTI_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest WTI price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=WTI_USD" \
  -H "Authorization: Token YOUR_API_KEY"

BRENT CRUDE USD

Brent Crude - The global crude oil benchmark

curl "https://api.oilpriceapi.com/v1/commodities/BRENT_CRUDE_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest Brent price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=BRENT_CRUDE_USD" \
  -H "Authorization: Token YOUR_API_KEY"

NATURAL GAS USD

Henry Hub Natural Gas - US natural gas benchmark

curl "https://api.oilpriceapi.com/v1/commodities/NATURAL_GAS_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get past week of natural gas prices
curl "https://api.oilpriceapi.com/v1/prices/past_week?by_code=NATURAL_GAS_USD" \
  -H "Authorization: Token YOUR_API_KEY"

GASOLINE RBOB USD

RBOB Gasoline - Reformulated Blendstock for Oxygenate Blending

curl "https://api.oilpriceapi.com/v1/commodities/GASOLINE_RBOB_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Compare with diesel
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=GASOLINE_RBOB_USD,ULSD_DIESEL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

ULSD DIESEL USD

Ultra-Low Sulfur Diesel - Highway diesel fuel standard

curl "https://api.oilpriceapi.com/v1/commodities/ULSD_DIESEL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

JET FUEL USD

Jet Fuel - Aviation turbine fuel

curl "https://api.oilpriceapi.com/v1/commodities/JET_FUEL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: Market-price observations arrive through an EIA-hosted weekly batch, typically Wednesdays, covering trading days through the prior Monday — so the latest observation can be ~2–8 days behind real time and still be current. Schedule

HEATING OIL USD

Heating Oil - Residential and commercial heating fuel

curl "https://api.oilpriceapi.com/v1/commodities/HEATING_OIL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

NATURAL GAS GBP

UK Natural Gas (NBP) - UK natural gas benchmark (priced in pence/therm)

curl "https://api.oilpriceapi.com/v1/commodities/NATURAL_GAS_GBP" \
  -H "Authorization: Token YOUR_API_KEY"

DUTCH TTF EUR

Dutch TTF Natural Gas - European natural gas benchmark

curl "https://api.oilpriceapi.com/v1/commodities/DUTCH_TTF_EUR" \
  -H "Authorization: Token YOUR_API_KEY"

COAL USD

Newcastle Coal (Legacy) - Thermal coal benchmark price. Note: For comprehensive coal coverage, see the 8 dedicated coal endpoints below.

curl "https://api.oilpriceapi.com/v1/commodities/COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

CAPP COAL USD

Central Appalachian Coal - US thermal coal spot price from Central Appalachian region

curl "https://api.oilpriceapi.com/v1/commodities/CAPP_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=CAPP_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get past month of data
curl "https://api.oilpriceapi.com/v1/prices/past_month?by_code=CAPP_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: Published by EIA weekly, covering the prior week's coal spot assessments. Collected weekly (Tuesdays 02:00 UTC). ScheduleUnit: USD per short ton

PRB COAL USD

Powder River Basin Coal - US thermal coal spot price from Wyoming's PRB region

curl "https://api.oilpriceapi.com/v1/commodities/PRB_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=PRB_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: Published by EIA weekly, covering the prior week's coal spot assessments. Collected weekly (Tuesdays 02:00 UTC). ScheduleUnit: USD per short ton

ILLINOIS COAL USD

Illinois Basin Coal - US thermal coal spot price from Illinois Basin region

curl "https://api.oilpriceapi.com/v1/commodities/ILLINOIS_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=ILLINOIS_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: Published by EIA weekly, covering the prior week's coal spot assessments. Collected weekly (Tuesdays 02:00 UTC). ScheduleUnit: USD per short ton

NEWCASTLE COAL USD

Newcastle Coal (API6) - Asian thermal coal benchmark (CIF ARA)

curl "https://api.oilpriceapi.com/v1/commodities/NEWCASTLE_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=NEWCASTLE_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get today's samples
curl "https://api.oilpriceapi.com/v1/prices/past_day?by_code=NEWCASTLE_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: Prices are published by market sources throughout the trading day; sampled multiple times per hour on trading days. ScheduleUnit: USD per metric ton

COKING COAL USD

Coking Coal - Metallurgical coal for steel production

curl "https://api.oilpriceapi.com/v1/commodities/COKING_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=COKING_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Compare with thermal coal
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=COKING_COAL_USD,NEWCASTLE_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: Prices are published by market sources throughout the trading day; sampled multiple times per hour on trading days. ScheduleUnit: USD per metric ton

CME COAL USD

CME Coal Futures - CME Group coal futures contract

curl "https://api.oilpriceapi.com/v1/commodities/CME_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get latest price
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=CME_COAL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Publication: See this code's entry on the publication schedules pageUnit: USD per short ton

NYMEX APPALACHIAN USD

NYMEX Central Appalachian Coal - Historical NYMEX contract (discontinued 2016)

curl "https://api.oilpriceapi.com/v1/commodities/NYMEX_APPALACHIAN_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get historical data (2004-2016)
curl "https://api.oilpriceapi.com/v1/prices/past_year?by_code=NYMEX_APPALACHIAN_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Data Available: 2004-2016 (3,262 records) Status: Contract discontinued/delisted Unit: USD per short ton

NYMEX WESTERN RAIL USD

NYMEX Powder River Basin Coal - Historical NYMEX contract (discontinued 2017)

curl "https://api.oilpriceapi.com/v1/commodities/NYMEX_WESTERN_RAIL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

# Get historical data (2009-2017)
curl "https://api.oilpriceapi.com/v1/prices/past_year?by_code=NYMEX_WESTERN_RAIL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

Data Available: 2009-2017 (2,043 records) Status: Contract discontinued/delisted Unit: USD per short ton

EU CARBON EUR

EU Carbon Allowances - EU Emissions Trading System

curl "https://api.oilpriceapi.com/v1/commodities/EU_CARBON_EUR" \
  -H "Authorization: Token YOUR_API_KEY"

URANIUM USD

Uranium U3O8 - Nuclear fuel commodity

curl "https://api.oilpriceapi.com/v1/commodities/URANIUM_USD" \
  -H "Authorization: Token YOUR_API_KEY"

ETHANOL USD

Ethanol - Biofuel additive

curl "https://api.oilpriceapi.com/v1/commodities/ETHANOL_USD" \
  -H "Authorization: Token YOUR_API_KEY"

DUBAI CRUDE USD

Dubai Crude - Middle East crude oil benchmark

curl "https://api.oilpriceapi.com/v1/commodities/DUBAI_CRUDE_USD" \
  -H "Authorization: Token YOUR_API_KEY"

URALS CRUDE USD

Urals Crude - Russian crude oil benchmark

curl "https://api.oilpriceapi.com/v1/commodities/URALS_CRUDE_USD" \
  -H "Authorization: Token YOUR_API_KEY"

WCS CRUDE USD

Western Canadian Select - Canadian heavy crude oil

curl "https://api.oilpriceapi.com/v1/commodities/WCS_CRUDE_USD" \
  -H "Authorization: Token YOUR_API_KEY"

JKM LNG USD

Japan Korea Marker - Asian LNG benchmark

curl "https://api.oilpriceapi.com/v1/commodities/JKM_LNG_USD" \
  -H "Authorization: Token YOUR_API_KEY"
Last Updated: 7/22/26, 3:02 AM
Prev
List Commodities
Next
Data Publication & Collection Schedules