Oil Price API Documentation - Quick Start in 5 Minutes | REST API
GitHub
GitHub
  • Interactive Explorer

    • Interactive API Explorer
  • Price Data

    • API Reference
    • Get Latest Prices
    • Historical Prices
  • Commodities

    • List Commodities
    • Get Commodity Details
  • Marine Fuels

    • List Marine Fuel Ports
    • Get Port Details with Prices
  • Premium Endpoints

    • All Prices API - One Call, All Commodities
    • Cushing Oil Storage Intelligence API
    • Drilling Intelligence API
    • Marine Fuels API
    • ICE Brent Futures API
  • Futures

    • Futures API
    • ICE Brent Futures
    • ICE WTI Futures
    • ICE Gas Oil Futures
    • NYMEX Natural Gas Futures
  • Dark Data (Premium)

    • Dark Data API
    • Rig Counts
    • Oil Inventories
    • OPEC Production
    • Drilling Productivity
    • Forecasts (STEO)
  • Analytics

    • Analytics API
  • Account & Billing

    • Account API

Forecasts (STEO)

Energy price and production forecasts from the EIA Short-Term Energy Outlook.

Source: EIA Short-Term Energy Outlook (STEO) Release: First Tuesday of each month at 10:00 AM ET Tier Required: Reservoir Mastery

Endpoints

MethodEndpointDescription
GET/v1/dark_data/forecastsList paginated reports
GET/v1/dark_data/forecasts/latestLatest STEO report
GET/v1/dark_data/forecasts/summaryCurrent forecasts summary
GET/v1/dark_data/forecasts/pricesPrice forecasts
GET/v1/dark_data/forecasts/productionProduction forecasts
GET/v1/dark_data/forecasts/historicalHistorical accuracy
GET/v1/dark_data/forecasts/compareCompare two releases
GET/v1/dark_data/forecasts/:idSpecific report by ID

List Reports

GET /v1/dark_data/forecasts

Parameters

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger10Results per page (max 50)

Latest Report

GET /v1/dark_data/forecasts/latest

Response

{
  "data": {
    "report_month": "2025-01",
    "release_date": "2025-01-07",
    "price_forecasts": {
      "brent": {
        "next_month": 78.45,
        "next_quarter_avg": 77.20,
        "next_year_avg": 75.80
      },
      "wti": {
        "next_month": 73.25,
        "next_quarter_avg": 72.10,
        "next_year_avg": 70.50
      },
      "natural_gas": {
        "next_month": 3.45,
        "next_quarter_avg": 3.20,
        "next_year_avg": 2.95
      }
    },
    "production_forecasts": {
      "us_crude_mbpd": 13.45,
      "us_ngl_mbpd": 6.82,
      "opec_mbpd": 27.50
    }
  }
}

Summary

GET /v1/dark_data/forecasts/summary

Response

{
  "data": {
    "report_month": "2025-01",
    "forecasts": [
      {
        "series_code": "BREPUUS",
        "commodity": "brent",
        "name": "Brent Crude Price",
        "units": "dollars_per_barrel",
        "next_month_value": 78.45,
        "next_month_period": "2025-02",
        "forecast_count": 13,
        "forecast_horizon": {
          "start": "2025-02",
          "end": "2026-02"
        }
      }
    ],
    "headline": "EIA forecasts Brent crude at $78.45/bbl for February 2025"
  }
}

Price Forecasts

GET /v1/dark_data/forecasts/prices

Parameters

ParameterTypeDefaultDescription
commoditystringallbrent, wti, or natural_gas
monthsinteger24Forecast horizon (max 48)

Response

{
  "data": {
    "report_month": "2025-01",
    "commodities": {
      "brent": {
        "name": "Brent Crude Price",
        "commodity": "brent",
        "units": "dollars_per_barrel",
        "data": [
          {
            "period": "Feb 2025",
            "period_date": "2025-02-01",
            "value": 78.45,
            "is_forecast": true
          },
          {
            "period": "Mar 2025",
            "period_date": "2025-03-01",
            "value": 77.80,
            "is_forecast": true
          }
        ]
      }
    }
  }
}

Production Forecasts

GET /v1/dark_data/forecasts/production

Parameters

ParameterTypeDefaultDescription
monthsinteger24Forecast horizon (max 48)

Series Codes

CodeDescriptionUnits
COPR_USUS Crude Oil Productionmb/d
NGPL_USUS NGL Productionmb/d
NGMP_USUS Natural Gas Productionbcf/d
COPR_OPECOPEC Crude Productionmb/d

Response

{
  "data": {
    "report_month": "2025-01",
    "series": {
      "COPR_US": {
        "name": "US Crude Oil Production",
        "units": "million_barrels_per_day",
        "data": [
          {
            "period": "2025-02",
            "value": 13.45,
            "is_forecast": true
          }
        ]
      }
    }
  }
}

Historical Accuracy

Analyze forecast accuracy vs actual values.

GET /v1/dark_data/forecasts/historical

Parameters

ParameterTypeDefaultDescription
seriesstringBREPUUSSeries code
monthsinteger12Months to analyze (max 24)

Response

{
  "data": {
    "series_code": "BREPUUS",
    "analysis_period": "12 months",
    "accuracy_metrics": {
      "mean_error": 2.34,
      "mean_absolute_error": 3.56,
      "direction_accuracy_pct": 67.5
    },
    "historical_forecasts": [
      {
        "forecast_month": "2024-01",
        "target_month": "2024-02",
        "forecast_value": 82.50,
        "actual_value": 79.80,
        "error": 2.70,
        "error_pct": 3.4
      }
    ]
  }
}

Compare Releases

Compare forecasts between two STEO releases.

GET /v1/dark_data/forecasts/compare

Parameters

ParameterTypeDefaultDescription
seriesstringBREPUUSSeries code
month1stringrequiredFirst release (YYYY-MM)
month2stringrequiredSecond release (YYYY-MM)

Response

{
  "data": {
    "series_code": "BREPUUS",
    "month1": "2024-12",
    "month2": "2025-01",
    "comparison": [
      {
        "period": "2025-02",
        "value1": 76.50,
        "value2": 78.45,
        "change": 1.95,
        "change_pct": 2.55
      },
      {
        "period": "2025-03",
        "value1": 75.80,
        "value2": 77.80,
        "change": 2.00,
        "change_pct": 2.64
      }
    ],
    "summary": {
      "avg_revision": 1.85,
      "direction": "up",
      "revision_bias": "bullish"
    }
  }
}

Code Examples

Python - Price Forecast Analysis

import requests

response = requests.get(
    "https://api.oilpriceapi.com/v1/dark_data/forecasts/prices",
    headers={"Authorization": "Token YOUR_API_KEY"},
    params={"commodity": "brent", "months": 12}
)
data = response.json()

brent = data['data']['commodities']['brent']
print(f"EIA Brent Forecast:")

for point in brent['data'][:6]:
    print(f"  {point['period']}: ${point['value']}/bbl")

JavaScript - Compare Forecasts

const response = await fetch(
  "https://api.oilpriceapi.com/v1/dark_data/forecasts/compare?" +
  "series=BREPUUS&month1=2024-12&month2=2025-01",
  { headers: { "Authorization": "Token YOUR_API_KEY" } }
);
const data = await response.json();

console.log(`Forecast Revision: ${data.data.summary.direction}`);
data.data.comparison.forEach(c => {
  console.log(`${c.period}: $${c.value1} → $${c.value2} (${c.change_pct > 0 ? '+' : ''}${c.change_pct}%)`);
});

Why STEO Forecasts Matter

  • Official Outlook: EIA is the US government's energy data authority
  • Market Consensus: STEO influences analyst expectations
  • Policy Planning: Used by governments and institutions
  • Revision Tracking: Month-over-month changes signal shifting views

Related

  • Oil Inventories - Current supply data
  • OPEC Production - OPEC supply
  • Drilling Productivity - US production capacity
Last Updated: 12/30/25, 12:33 PM
Prev
Drilling Productivity