# Energy Futures Market Data API: EEX Power, Gas and Carbon (`nabeelbaghoor/energy-futures-market-data-api`) Actor

EEX power, natural gas and carbon futures settlement prices, OHLC, open interest, trades and top of book, EEX gas spot, EU ETS auction results, EEX indices and Transparency Platform outages and generation via the EEX Group DataSource REST API. Bring your own key.

- **URL**: https://apify.com/nabeelbaghoor/energy-futures-market-data-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** Developer tools, Business, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 eex market records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Energy Futures Market Data API: EEX Power, Gas and Carbon

Pull EEX power, natural gas and carbon futures settlement prices, OHLC statistics, open interest, trades and best bid and ask, EEX gas spot data, EU ETS emission allowance auction results, EEX indices and EEX Transparency Platform outage and generation data out of the EEX Group DataSource REST API with your own Access Token, as clean rows you can export to CSV, Excel or JSON.

The European Energy Exchange (EEX) and its group exchanges run the main European markets for power and gas futures, EU carbon allowances (EUAs) and their primary auctions, and operate the EEX Transparency Platform for REMIT inside information. The EEX Group DataSource REST API (v2) serves that data straight from the source systems. This actor wraps its documented GET routes on api.eex-group.com for derivatives, gas spot, auctions, indices and transparency data. Use it to build forward curves, track daily settlement prices for German or French baseload power, monitor TTF and THE gas spot prices, follow EUA auction clearing prices and cover ratios, or watch power plant outages. Bring your own API key.

BYOK, not live tested: every route, parameter and response field comes from EEX's own REST API (v2) User Guide (Ref. 008, October 2026) and the OpenAPI specifications published on the EEX Group DataSource Hub, and the routes were probed on 2026-10-28 with an invalid token. The actor has not been run against a live EEX Access Token.

### What it does

- **Derivatives settlement prices**: daily settlement prices for every contract of a commodity and area (GET /spr/derivatives/...), or a date range (/sprs/...), with corrections marked New or Change.
- **Derivatives OHLC statistics and open interest**: open, high, low and last price, number of trades, traded size and volume, exchange and OTC splits and gross open interest (/stat and /stats).
- **Derivatives trades**: every exchange trade and trade registration with price, size, volume, timestamp, trade ID and aggressor side (/trd and /trds), filtered by time of day, trade type and instrument type.
- **Derivatives top of book**: the latest best bid and ask, or the quote history from a time of day, for a whole area, one contract or a rolling symbol such as DEBM+1 (/tob and /tobs).
- **Derivatives contracts**: reference data for each contract (short code, long name, maturity, expiry, ISIN, contract volume, delivery period, spread legs).
- **Gas spot**: settlement prices, OHLC statistics, trades, top of book and contracts for the EEX gas spot hubs (TTF, THE, NBP, PEG, ZTP, CZVTP and more), with day-ahead, within-day, weekend and hourly products.
- **EEX index values**: daily values of EEX indices such as the European Gas Spot Index (EGSI), ECarbix, the Global Carbon Index or HYDRIX (/idx and /idxs).
- **Emission allowance auctions**: EUA auction calendar, results (clearing price, volume, bids, bidders, cover ratio, revenue) and revenues per auctioneer (/rd, /rslt, /rslts, /rev, /revs).
- **Urgent market messages**: REMIT unavailability messages for power and gas production, consumption, storage and transmission units, and other market information messages, by validity window or by change time.
- **Transparency time series**: actual and forecast generation by fuel type and unit, available and non usable capacity, storage filling levels, power and gas consumption, and EuroWind renewables forecasts.
- **Transparency reference data**: companies with their facilities and units.
- **Valid values**: lists the commodities, areas, trade dates, short codes, maturities, auction IDs and index codes your token can use.
- **Latest date by default**: leave the trade date empty and the actor reads the latest date the API lists.
- **Pay only for records**: empty answers and refused lookups are recorded as a free row that says why, never charged.

Only GET routes are called; nothing on your EEX account changes. The SFTP file service and the Cloud Stream WebSocket API are not part of this actor.

### How to use it

1. Subscribe to the data you need in the EEX Group Webshop (webshop.eex-group.com). Access is usually ready within two business days.
2. Sign up on the EEX Group DataSource Hub (eds.eex-group.com), open Access Tokens and create a key. It is shown once and is valid for one year.
3. Paste the token into the Access Token field, or set the DATA_API_KEY environment secret. The actor sends it as `Authorization: Bearer <token>` and removes it from everything it logs.
4. Pick a mode, set the commodity and area (for example POWER and DE), and optionally a trade date or a date range, a short code and a maturity. Run the valid values mode first if you are not sure which codes exist.
5. Download the dataset as JSON, CSV or Excel, or connect it to your workflow through the Apify API, webhooks or integrations.

A missing or rejected token, or data your subscription does not cover, ends the run cleanly with a status message that explains what to change, and nothing is charged.

### Input

| Field | Modes | Description |
| --- | --- | --- |
| `mode` | all | `derivativesSettlements` (default), `derivativesStatistics`, `derivativesTrades`, `derivativesTopOfBook`, `derivativesContracts`, `spotSettlements`, `spotStatistics`, `spotTrades`, `spotTopOfBook`, `spotContracts`, `indexValues`, `auctionResults`, `auctionRevenues`, `auctionCalendar`, `ummUnits`, `ummOther`, `transparencySeries`, `eurowindSeries`, `transparencyCompanies` or `listValues` |
| `market` | listValues | `derivatives`, `spot`, `auctions`, `index` or `transparency` |
| `commodity`, `area` | all but ummOther | Codes as the API spells them, such as POWER and DE, NATGAS and TTF, ENVIRONMENTALS and EU |
| `tradeDate` | market, index, auction and reference modes | One date; empty means the latest listed date |
| `dateFrom`, `dateTo` | settlements, statistics, trades, index, auction results and revenues, messages, time series | A date range (market data) or a validity or interval window (messages and time series) |
| `shortCode`, `maturity`, `maturityOffset` | derivatives and gas spot | Narrow to one product (DEBM, TTFDA) or one contract (202612), or a continuous offset such as Y2 |
| `rollingSymbol` | derivativesTopOfBook | DEBM+1, DEB+W1, DWB+WE1 or DB+D01 |
| `instrumentType`, `tradeType` | derivatives | Simple Instrument, Futures Spread or Inter-Product Spread; Exchange or Trade Registration |
| `timeFrom`, `timeTo` | trades, top of book | Time of day window on one trade date |
| `auctionId`, `indexCode`, `deliveryDay` | auctions, index | One auction, one index (EGSI_D), one delivery day |
| `facilityType`, `seriesSymbol` | ummUnits, time series | Producer, Consumer, Storage or Transmission; the time series data set |
| `modifiedFrom`, `modifiedTo` | messages | Read messages changed in this window |
| `eventStatus`, `unavailabilityType`, `unavailabilityReason`, `adhocType`, `fuelType`, `controlArea`, `marketArea`, `companyId`, `facilityId`, `unitId`, `messageId`, `minOutage`, `onlyModified` | transparency modes | Filters as documented by EEX |
| `fields` | all but listValues | Request only these response fields |
| `maxResults` | all | The most rows this run returns and charges for (default 100, up to 60,000) |
| `apiKey` | all | Your EEX Group DataSource Access Token |

The API is case sensitive and uses upper case codes; the actor upper cases commodity, area, short code and rolling symbol for you. It returns up to 60,000 records per request and allows one request per second per user, which the actor respects.

### Output

One row per record. Example settlement price row (illustrative values, `record` shortened):

```json
{
    "mode": "derivativesSettlements",
    "modeLabel": "Derivatives settlement prices",
    "query": "/v2/spr/derivatives/POWER/DE/2026-10-27/DEBM?limit=100",
    "found": true,
    "recordType": "settlement",
    "market": "derivatives",
    "commodity": "POWER",
    "area": "DE",
    "tradeDate": "2026-10-27",
    "shortCode": "DEBM",
    "maturity": "202612",
    "displayName": "DEBM Dec-26",
    "instrumentIsin": "DE000A0000000",
    "instrumentType": "Simple Instrument",
    "expiryDate": "2026-11-27",
    "timestamp": "2026-10-27T17:40:13Z",
    "price": 98.45,
    "updateAction": "New",
    "currency": "EUR",
    "unit": "MWh",
    "record": { "ShortCode": "DEBM", "Px": 98.45 },
    "note": null
}
```

Example urgent market message row (illustrative values):

```json
{
    "mode": "ummUnits",
    "recordType": "umm",
    "found": true,
    "commodity": "POWER",
    "area": "DE",
    "companyName": "Example Energie AG",
    "unitId": "E110194-001",
    "unitName": "Block A",
    "fuelType": "Fossil Hard coal",
    "facilityType": "Producer",
    "eventStatus": "Active",
    "eventType": "Production unavailability",
    "eventStart": "2026-10-28T06:00:00Z",
    "eventStop": "2026-10-30T18:00:00Z",
    "installedCapacity": 345,
    "unavailableCapacity": 205,
    "unit": "MW"
}
```

Trades fill `price`, `size`, `volume`, `tradeId` and `tradeType`; statistics fill `openPrice`, `highPrice`, `lowPrice`, `lastPrice`, `numberOfTrades`, `totalVolume` and `openInterest`; top of book fills `bidPrice`, `bidSize`, `askPrice` and `askSize`; auction results fill `auctionPrice`, `auctionVolume`, `coverRatio`, `numberOfBidders` and `totalRevenue`; time series give one row per point with `timestamp` and `value`. Every row keeps the full EEX record in `record`.

### Pricing

| Event | Price | Charged for |
| --- | --- | --- |
| `market-record` | 0.01 USD | Each settlement price, statistic, contract, index value, auction, auction result or revenue, urgent market message or company |
| `market-tick` | 0.005 USD | Each trade, top of book quote or time series point |
| `reference-value` | 0.005 USD | Each value the valid values mode lists |

Empty answers and refused lookups are never charged. EEX bills your subscription separately.

### FAQ

#### What is the EEX Group DataSource REST API?

It is the official market data API of the European Energy Exchange group (EEX AG, Leipzig). Version 2 serves real-time and delayed market data for EEX derivatives (power, natural gas, emissions, freight and agricultural futures and options), the EEX gas spot markets, EU ETS primary auctions, EEX indices and the EEX Transparency Platform, over REST with JSON, XML or CSV answers.

#### Do I need my own EEX subscription?

Yes. This actor is bring your own key: it calls EEX with your own Access Token, and your EEX Group DataSource subscription decides which APIs, commodities and areas you can read. Subscriptions are self serve in the EEX Group Webshop.

#### How do I get German power futures settlement prices?

Use the derivatives settlement prices mode with commodity POWER and area DE. Leave the trade date empty for the latest day, or set one. Add short code DEBM (base month), DEBQ (base quarter) or DEBY (base year) to narrow the answer, and a maturity such as 202612 for one contract. For a history, set a from and to date range instead of a trade date.

#### How do I get TTF or THE gas spot prices?

Use the gas spot settlement prices or gas spot statistics mode with area TTF or THE (commodity NATGAS is filled in). Short codes combine the hub and the product, such as TTFDA (day-ahead), TTFWD (within-day) or THEWE (weekend).

#### Where do EU carbon allowance (EUA) auction results come from?

From the auctions API: the auction results mode with area EU (or a national auctioneer area) returns the clearing price, auctioned volume, number of bids and bidders, cover ratio and total revenue of each EEX auction, by auction date or date range.

#### How do I find which codes exist?

Run the valid values mode. With no values it lists the commodities; add a commodity to list its areas, an area to list trade dates, a trade date to list short codes, and a short code to list maturities. Set the market to Indices to list index codes.

#### Can I read EPEX SPOT day-ahead auction prices?

Not through this API: the EEX Group DataSource REST API (v2) documents derivatives, gas spot, auctions (EU ETS allowances), indices and transparency data. EPEX SPOT power spot results are sold separately.

#### What does it cost?

0.01 USD per settlement price, statistic, contract, index value, auction record, urgent market message or company, and 0.005 USD per trade, quote, time series point or valid value, plus your EEX subscription. Empty and refused lookups are free.

### Keyword map

EEX API, EEX market data API, energy futures data, power futures prices, German power futures, EEX settlement prices, Phelix DE futures, French power futures, natural gas futures, TTF gas price API, THE gas spot, gas spot prices, carbon price API, EUA price, EU ETS auction results, emission allowance auctions, EGSI index, ECarbix, open interest data, forward curve data, REMIT urgent market messages, power plant outages API, EEX Transparency Platform API, generation by fuel type, EEX Group DataSource.

### Routes and verification

| Mode | Routes | Source | Probe with an invalid token |
| --- | --- | --- | --- |
| Derivatives (all modes) | GET /v2/rd, /trd, /trds, /tob, /tobs, /stat, /stats, /spr, /sprs under /derivatives/{Cmdty}/{Area}/... | derivatives.yaml | /rd/derivatives/ and /trd/derivatives/POWER/DE/2026-10-27: 401 `Unauthorised: Authentication failed` |
| Gas spot (all modes) | GET /v2/rd, /trd, /trds, /tob, /tobs, /stat, /stats, /spr, /sprs under /spot/{Cmdty}/{Area}/... | gas_spot.yaml | /rd/spot/NATGAS/TTF/2026-10-27 and /sprs/spot/NATGAS/TTF: 401 |
| EEX index values | GET /v2/idx/{Cmdty}/{Area}/{Index}/{TrdDate}, /v2/idxs/{Cmdty}/{Area}/{Index} | index.yaml | /idx/NATGAS/THE/EGSI_D/2026-10-27: 401 |
| Auctions | GET /v2/rd, /rslt, /rslts, /rev, /revs under /auctions/{Cmdty}/{Area}/... | auctions.yaml | /rslt/auctions/ENVIRONMENTALS/EU/2026-10-27: 401 |
| Urgent market messages | GET /v2/umm/transparency/{commodity}/{area}/{facilityType}\[/{modifiedFrom}], /v2/umm/transparency/other\[/{modifiedFrom}] | transparency.yaml | /umm/transparency/other: 401 |
| Time series | GET /v2/series/transparency/..., /v2/series/eurowind/... | transparency.yaml | /series/transparency/POWER/DE/ActualGenerationFuelTypeHourly/... and /series/eurowind/...: 401 |
| Reference data and valid values | GET /v2/rd/{derivatives,spot,auctions,transparency}/..., /v2/idx/... | all five | /rd/derivatives/: 401 |

The rolling symbol route /tob/derivatives/POWER/DE/2026-10-27/DEBM+1 also answered 401. Invented routes on the same host (/v2/quotes/derivatives/POWER, /v2/getSpot, and the near miss /v2/rslt/auction/...) answered 404 `Not Found` on both probe rounds, so routing is checked before the token and the probe tells real routes from invented ones. A request with no token at all answers 403. The index API's delivery day variant (indexDD), which the Hub does not list in its specification viewer, the SFTP file service and the Cloud Stream WebSocket API are not wrapped.

### Licensing and data use

This actor works only with your own EEX Group DataSource Access Token, and your EEX subscription terms apply to the data it returns. Standard subscriptions are licensed for internal usage, which does not allow onward dissemination of the data to third parties; check your licence before you redistribute, display or resell anything this actor collects. This actor is not affiliated with or endorsed by EEX AG, EPEX SPOT SE or Deutsche Boerse Group.

# Actor input Schema

## `mode` (type: `string`):

Settlement prices, OHLC statistics with open interest, trades, top of book and contract reference data for EEX derivatives (power, natural gas, emissions, freight, agriculturals) and for the EEX gas spot markets; EEX index values; EU ETS emission allowance auction results, revenues and calendar; and EEX Transparency Platform data: urgent market messages, generation, consumption and storage time series, EuroWind renewables and company reference data. Valid values lists the commodities, areas, dates, short codes, maturities and index codes you can use.

## `market` (type: `string`):

Valid values mode only. Which API to list values for. Fill in commodity, area, date and short code (or index code) one at a time to go one level deeper.

## `commodity` (type: `string`):

Commodity code in the API spelling (upper case), such as POWER, NATGAS, ENVIRONMENTALS or FREIGHT for derivatives, NATGAS for gas spot (filled in when empty), ENVIRONMENTALS for auctions (filled in when empty), or POWER, NATGAS or OTHER for transparency data.

## `area` (type: `string`):

Market area code, such as DE, FR, IT, HU or JP for power, TTF, THE, NBP or CZVTP for gas, EU for emissions, or a country code (DE, FR, AT and more) for transparency data. The valid values mode lists the areas of each commodity.

## `tradeDate` (type: `string`):

A single trade date (also the auction date or the transparency validity date), such as 2026-10-27. Leave it and the date range empty to use the latest date the API lists. Weekend dates have no derivatives data.

## `dateFrom` (type: `string`):

Start of a date range. For settlement prices, statistics, trades, index values and auction results and revenues it reads the range route (a date such as 2026-10-01). For urgent market messages it is the start of the validity window, and for time series the interval start (a date or an ISO 8601 date-time in UTC).

## `dateTo` (type: `string`):

End of the date range, such as 2026-10-27. Market data ranges need both dates; for messages and time series it is optional, up to one year after the from date.

## `shortCode` (type: `string`):

Optional product short code, such as DEBM (German power base month future), F7BY, DEBQ, FEBM or TTFDA (TTF day-ahead gas spot). Narrows the answer to one product; the valid values mode lists them per trade date.

## `maturity` (type: `string`):

Derivatives only, with a short code. Expiration month as YYYYMM, such as 202612, to read one contract.

## `maturityOffset` (type: `string`):

Derivatives only, with a short code and maturity. A continuous symbol such as Y2 to read the maturity two years on.

## `rollingSymbol` (type: `string`):

Derivatives top of book only. A rolling symbol instead of short code and maturity: DEBM+1 (next month), DEB+W1 (next week), DWB+WE1 (next weekend) or DB+D01 (next day).

## `instrumentType` (type: `string`):

Derivatives only. Leave empty for all instruments, or read only outright contracts or spreads.

## `tradeType` (type: `string`):

Derivatives trades only. Exchange trades (order book) or trade registrations (OTC trades registered for clearing). Leave empty for both.

## `timeFrom` (type: `string`):

Trades and top of book on one trade date. Start time of day, such as 10:00:00 (times are as the API defines them for that market). For top of book it reads the quote history from this time.

## `timeTo` (type: `string`):

Trades and top of book on one trade date. End time of day, such as 16:00:00. For top of book without time from, the latest quotes up to this time.

## `auctionId` (type: `string`):

Auction modes only. A numeric auction ID such as 3455 to read one auction; the valid values mode lists the IDs of an auction date.

## `indexCode` (type: `string`):

Index values mode. Index code such as EGSI_D (European Gas Spot Index, day); the valid values mode with market Indices lists the index codes of each commodity and area.

## `deliveryDay` (type: `string`):

Index values only. Optional delivery day such as 2026-10-28.

## `facilityType` (type: `string`):

Unit unavailability messages. Which kind of facility the messages are about.

## `seriesSymbol` (type: `string`):

Time series modes. Which data set to read. The two EW symbols belong to the EuroWind mode, the others to the transparency time series mode.

## `modifiedFrom` (type: `string`):

Urgent market messages. Read the messages published or updated since this moment (a date or an ISO 8601 date-time in UTC) instead of those valid in the from and to window, which then filters by event start and stop.

## `modifiedTo` (type: `string`):

Urgent market messages, with changed since. End of the change window, up to one year after it.

## `eventStatus` (type: `string`):

Urgent market messages. Active or dismissed messages only; leave empty for both.

## `unavailabilityType` (type: `string`):

Unit unavailability messages. Planned or unplanned outages only.

## `unavailabilityReason` (type: `string`):

Unit unavailability messages. Filter by the cause of the unavailability.

## `adhocType` (type: `string`):

Other market information messages. Simple, MAR (Market Abuse Regulation disclosures), TSO, Balancing or TSM.

## `fuelType` (type: `string`):

Unit unavailability messages and time series. Filter by the energy source of the unit.

## `controlArea` (type: `string`):

Unit unavailability messages and time series (power). A control area such as Amprion, TransnetBW, 50Hertz or TenneT (DE).

## `marketArea` (type: `string`):

Unit unavailability messages and transparency time series (gas). A market area such as THE, TTF or CEGH.

## `companyId` (type: `string`):

Urgent market messages and transparency reference data. A reporting company ID such as BASF_AG; in reference data mode it reads that one company.

## `facilityId` (type: `string`):

Unit unavailability messages. A facility ID such as E110194.

## `unitId` (type: `string`):

Unit unavailability messages and transparency time series. A unit ID such as E110194-001.

## `messageId` (type: `string`):

Urgent market messages. One message ID to read all versions of that event.

## `minOutage` (type: `integer`):

Unit unavailability messages. Only messages with at least this much unavailable capacity.

## `onlyModified` (type: `boolean`):

Transparency reference data mode. Return only the companies whose reference data changed on the validity date.

## `fields` (type: `array`):

Optional. Request only these response fields, such as TrdDate, ShortCode, Maturity and Px, for a smaller answer. Leave empty for every field. Flat columns built from fields you leave out stay empty.

## `maxResults` (type: `integer`):

The most rows this run returns and charges for. The API returns up to 60,000 records per request; a full day of trades in a busy area can run to thousands.

## `apiKey` (type: `string`):

Your EEX Group DataSource Access Token, created under Access Tokens on the DataSource Hub (eds.eex-group.com) after subscribing in the EEX Group Webshop. Stored as a secret, sent only in the Authorization header (Bearer) to api.eex-group.com and never logged. You can instead set the DATA_API_KEY environment secret.

## Actor input object example

```json
{
  "mode": "derivativesSettlements",
  "market": "derivatives",
  "commodity": "POWER",
  "area": "DE",
  "onlyModified": false,
  "maxResults": 100
}
```

# Actor output Schema

## `records` (type: `string`):

One row per record the chosen mode read.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/energy-futures-market-data-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/energy-futures-market-data-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call nabeelbaghoor/energy-futures-market-data-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nabeelbaghoor/energy-futures-market-data-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/z92r0tdc27eHielSs/builds/B0Q7y9CLem9S9rVsp/openapi.json
