Energy and commodities

Oil, gas, and energy-shock monitor

Connect prices with inventories, production, inflation, rates, currencies, and market stress to assess how an energy move propagates through the macro environment.

Decision supported

Is an energy move a temporary price swing or a supply shock with macro consequences?

Primary sources

EIA · FRED · Yahoo Finance

Signals in the workflow

Physical balance

Oil and gas inventories and production from EIA.

Prices

Crude, gas, commodity, and related market-price context.

Macro transmission

Headline inflation, expectations, rates, FX, and consumer pressure.

Market response

Energy equities, broad indices, volatility, and risk-sensitive assets.

Recent observations

Public examples return up to 20 observations per series with source and units. Longer history requires authenticated access. IMF WEO includes estimates and forecasts; a past date alone does not establish an actual observation.

curl --fail --max-time 15 "https://api.meridianapi.io/v1/series/EIA%3ANG%3ANW2_EPG0_SWO_R48_BCF"
const ids = ["EIA:NG:NW2_EPG0_SWO_R48_BCF","EIA:PET:WCRFPUS2","DCOILWTICO"];
const output = [];
for (const id of ids) {
  const response = await fetch("https://api.meridianapi.io/v1/series/" + encodeURIComponent(id),
    { signal: AbortSignal.timeout(15000) });
  if (!response.ok) throw new Error(id + ": HTTP " + response.status);
  output.push(await response.json());
}
console.log(JSON.stringify({ retrievedAt: new Date().toISOString(), series: output }, null, 2));
import json
from urllib.request import urlopen
from urllib.parse import quote
ids = ["EIA:NG:NW2_EPG0_SWO_R48_BCF","EIA:PET:WCRFPUS2","DCOILWTICO"]
result = []
for series_id in ids:
    with urlopen("https://api.meridianapi.io/v1/series/" + quote(series_id, safe=""), timeout=15) as response:
        result.append(json.load(response))
print(json.dumps({"series": result}, indent=2))
Download JavaScript briefing module