---
title: "EIA 18-month forecast: Brent, WTI, Henry Hub, gasoline, US and world oil — $0.007"
method: GET
path: "/v1/data/energy/steo-forecast"
tags: ["data"]
---

# EIA 18-month forecast: Brent, WTI, Henry Hub, gasoline, US and world oil — $0.007

`GET /v1/data/energy/steo-forecast`

## Request

- Base URL: `https://x402.asterpay.io`
- URL: `https://x402.asterpay.io/v1/data/energy/steo-forecast`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - HTTP payment

EIA Short-Term Energy Outlook headline series: latest actual and the next 18 monthly projections for Brent and WTI spot, Henry Hub gas, US regular gasoline, US crude production and world liquid fuels supply and demand. Projections, not observations, beyond the current month. Source: U.S. Energy Information Administration (STEO) (public domain (US federal)). Cadence: monthly; observed_at in the response is the upstream timestamp.

## Response `200`

EIA 18-month forecast: Brent, WTI, Henry Hub, gasoline, US and world oil

- object
  - `success` boolean, required
  - `data` object, required: Door-specific payload; see the door description and GET /v1/data for an example URL
  - `source` object, required
    - `name` string, required
    - `url` string, required
    - `license` string, required
  - `observed_at` string, nullable, required: Upstream publication/observation time (ISO 8601). Never the AsterPay fetch time.
  - `fetched_at` string, required: When AsterPay last fetched from the upstream
  - `cadence` 'live' | '5m' | '15m' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly', required
  - `next_expected` string, nullable: Earliest time a newer upstream value is expected
  - `cache_expires_at` string
  - `stale` boolean, required: true when the upstream failed and a cached copy under 24h old was served
  - `timestamp` string, required

## Other responses

- `402`: Payment Required — pay via x402 or MPP (USDC on Base, Ethereum, Polygon, Arbitrum, Optimism or SKALE), then retry. See the WWW-Authenticate and Payment-Required response headers, or the `accepts` array below. The example is the exact body the runtime returns (minus per-request extras such as example_response and extensions.bazaar).

---

[API](https://skmtc.dev/asterpay/apis/asterpay-data-api.md) · [All operations](https://skmtc.dev/asterpay/apis/asterpay-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/asterpay/apis/asterpay-data-api/revisions/97b4ab464b3b?raw)
