EOX Live EOX Live Market Data

Commodity forward curve API for energy markets

EOX Live delivers energy forward curves, refreshed every 15 minutes, along with implied volatility surfaces, correlations and heat rates, through a REST API, a Python client and Excel functions. Every curve carries mid, bid and ask, and daily history is included with your subscription.

Already a client? Get started → Check your key, set up Excel or Python, copy working examples.

What the API provides

The API reads the same tables as the EOX files that clients receive by email and FTPES, so models built on the files and models built on the API agree to the decimal.

Energy forward curves

Forward curves across power, natural gas, refined products, NGLs, crude oil, coal, freight, European gas and power, and agricultural and soft commodities, plus 20-year power and natural gas curves.

Implied volatility surfaces

Power and natural gas implied volatilities, including power volatility surfaces by strike with call and put vols, premiums and option settlements where available.

Correlations, heat rates and CFDs

Correlation matrices by lookback window, power-to-gas heat rates, and crude CFD curves.

Mid, bid and ask

Each record has the curve date, the contract (month, quarter, season or calendar strip), its start and end dates, a rolling tenor key, and mid, bid and ask.

Daily history

Every published curve date is kept. Pull one date, a range of dates, or one contract's full history in a single request; history is included with every subscription.

The files, too

Download any delivered EOD file, today's or historical, in CSV or Excel, exactly as it was sent.

Ways to connect

REST: JSON or CSV

HTTPS GET requests with your key in a header. JSON is paged with a cursor; CSV streams the whole selection in one response, in the EOD file layout. Choose rows (one per curve and tenor) or a grid (tenors or dates down, curves across).

Python

The eoxlive client returns pandas DataFrames, splits long histories into chunks and retries politely when rate limited.

Excel

An add-in for Excel on Windows, Mac and the web adds live functions and a curve browser:

  • =EOX.PRICE one value
  • =EOX.CURVE a spilled curve grid
  • =EOX.HISTORY a time series
  • =EOX.DATES published dates

Can't install add-ins? An Excel template built on Power Query works with no installation. And for no code at all, the browser Curve Picker lets you pick curves, tenors and dates and download exactly that as Excel or CSV.

Tools included with your data

The same subscription puts the curves to work: value positions and deals in the browser, in Excel and in Python, at no extra charge.

Mark-to-market and risk

Mark a book of swaps and forwards to EOX curves, end of day or intraday, with value at risk.

PPA valuation

Solar, wind and baseload PPAs priced hour by hour: capture price, shape factor and breakeven price.

Battery storage valuation

Optimal daily dispatch on the forward curve, a day-ahead backtest, and regulation and reserves.

All tools, including options, heat-rate calls and forwards against day-ahead →

Examples

The codes below are placeholders. Each dataset's curve catalogue lists the real codes your subscription includes.

REST (curl)

# two curves, first 24 months, as CSV
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.eoxlive.com/v1/power/curve?market_code=CODE1,CODE2&time_key=M01-M24&format=csv"

# one contract's daily history
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.eoxlive.com/v1/natural_gas/history?market_code=CODE1&contract=Jan_2027&start=2025-01-01&format=csv"

Python

pip install https://api.eoxlive.com/downloads/eoxlive-1.16.0-py3-none-any.whl

from eoxlive import EOX
eox = EOX("YOUR_KEY")

eox.curve("power", "CODE1,CODE2", "M01-M24")                        # latest curves as a DataFrame
eox.history("natural_gas", "CODE1", "Jan_2027", start="2020-01-01")  # daily history of one contract
eox.price("power", "CODE1", "M01", field="bid")                     # one number

Excel

=EOX.PRICE("power","CODE1","Jan_2027","bid")
=EOX.CURVE("natural_gas","CODE1,CODE2","M01-M24")
=EOX.HISTORY("power","CODE1","M01","2025-01-01")

JSON response

{"count": 1, "next_cursor": null, "data": [
  {"curve_date": "2026-10-08", "market_code": "CODE1", "contract_name": "Jan_2027", "contract_term": "Month",
   "contract_begin": "2027-01-01", "contract_end": "2027-01-31", "time_key": "M04",
   "mid": 12.34, "bid": 12.30, "ask": 12.38, ...}]}

Values shown are illustrative only.

Access and security

Questions

How often is the data updated?
Every 15 minutes. The API reads the same tables the EOX files are built from, so each refresh is available through the API, Excel and the Curve Picker as soon as it is loaded.
Is history included?
Yes. Daily history comes with every subscription, through the API and as downloadable files.
Can I use it from Python and Excel at the same time?
Yes. The same personal key works in the Excel add-in, the Python client and any HTTPS tool.
How do I get access?
Request a trial and we'll set up a key for the complexes you want to evaluate.