# Electricity Market API
> Live European wholesale (day-ahead) electricity prices and the live power-generation mix, from the Fraunhofer ISE Energy-Charts public data. Electricity is one of Europe's largest traded commodities: each bidding zone (Germany, France, the Nordics, Iberia, Italy …) clears a day-ahead auction priced in EUR/MWh, and the resulting curve drives industrial costs and energy-stock moves. The price endpoint returns a zone's day-ahead price right now plus the day's min/max/average; the prices endpoint returns the full hourly day-ahead curve; the zones endpoint lists the supported bidding zones; the power endpoint returns a country's current generation mix by source with the renewable share. Read live, nothing stored. This is Europe's own wholesale-electricity price and generation layer — distinct from fuel/metal commodity feeds and from FX or equity APIs.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/electricity-api/..."
```

## Pricing
- **Free** (Free) — 3,200 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 85,000 calls/Mo, 12 req/s
- **Pro** ($23/Mo) — 420,000 calls/Mo, 35 req/s
- **Scale** ($53/Mo) — 2,600,000 calls/Mo, 110 req/s

## Endpoints

### Price

#### `GET /v1/price` — A zone's day-ahead price now + day stats

**Parameters:**
- `zone` (query, optional, string) — Bidding zone (DE-LU, FR, NO2 …) Example: `DE-LU`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/electricity-api/v1/price?zone=DE-LU"
```

**Response:**
```json
{
    "data": {
        "unit": "EUR / MWh",
        "zone": "DE-LU",
        "points": 96,
        "source": "Energy-Charts (Fraunhofer ISE)",
        "day_avg": 122.51,
        "day_max": 239.68,
        "day_min": 64,
        "zone_name": "Germany / Luxembourg",
        "current_time": "2026-06-10T21:45:00.000Z",
        "current_price": 140.56
    },
    "meta": {
        "timestamp": "2026-06-10T22:57:04.346Z",
        "request_id": "b059dd27-a31a-4d99-895b-4c294cc8e087"
    },
    "status": "ok",
    "message": "Price retrieved successfully",
    "success": true
}
```

### Prices

#### `GET /v1/prices` — Full hourly day-ahead price curve for a zone

**Parameters:**
- `zone` (query, optional, string) — Bidding zone Example: `FR`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/electricity-api/v1/prices?zone=FR"
```

**Response:**
```json
{
    "data": {
        "unit": "EUR / MWh",
        "zone": "FR",
        "count": 96,
        "prices": [
            {
                "time": "2026-06-09T22:00:00.000Z",
                "price": 85.28
            },
            {
                "time": "2026-06-09T22:15:00.000Z",
                "price": 83.7
            },
            {
                "time": "2026-06-09T22:30:00.000Z",
                "price": 76.92
            },
            {
                "time": "2026-06-09T22:45:00.000Z",
                "price": 61.39
            },
            {
                "time": "2026-06-09T23:00:00.000Z",
                "price": 77.64
            },
            {
                "time": "2026-06-09T23:15:00.000Z",
                "price": 76.44
            },
            {
                "time": "2026-06-09T23:30:00.000Z",
                "price": 76.2
            },
            {
                "time": "2026-06-09T23:45:00.000Z",
                "price": 74.2
            },
            {
                "time": "2026-06-10T00:00:00.000Z",
                "price": 70
            },
            {
                "time": "2026-06-10T00:15:00.000Z",
                "price": 65.03
            },
            {
                "time": "2026-06-10T00:30:00.000Z",
                "price": 56.63
            },
            {
                "time": "2026-06-10T00:45:00.000Z",
                "price": 42.7
            },
            {
                "time": "2026-06-10T01:00
…(truncated, see openapi.json for full schema)
```

### Zones

#### `GET /v1/zones` — All supported bidding zones

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/electricity-api/v1/zones"
```

**Response:**
```json
{
    "data": {
        "count": 32,
        "zones": [
            {
                "code": "DE-LU",
                "name": "Germany / Luxembourg"
            },
            {
                "code": "AT",
                "name": "Austria"
            },
            {
                "code": "BE",
                "name": "Belgium"
            },
            {
                "code": "CH",
                "name": "Switzerland"
            },
            {
                "code": "CZ",
                "name": "Czech Republic"
            },
            {
                "code": "DK1",
                "name": "Denmark West"
            },
            {
                "code": "DK2",
                "name": "Denmark East"
            },
            {
                "code": "ES",
                "name": "Spain"
            },
            {
                "code": "FI",
                "name": "Finland"
            },
            {
                "code": "FR",
                "name": "France"
            },
            {
                "code": "GR",
                "name": "Greece"
            },
            {
                "code": "HU",
                "name": "Hungary"
            },
            {
                "code": "IT-North",
                "name": "Italy North"
            },
            {
                "code": "IT-Centre-North",
                "name": "Italy Centre-North"
            },
            {
                "code": "IT-South",
                "name":
…(truncated, see openapi.json for full schema)
```

### Power

#### `GET /v1/power` — Country generation mix by source + renewable share

**Parameters:**
- `country` (query, optional, string) — 2-letter country code Example: `de`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/electricity-api/v1/power?country=de"
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/electricity-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Prices in EUR/MWh (day-ahead auction); power in MW. Data: Bundesnetzagentur | SMARD.de, CC BY 4.0.",
        "source": "Energy-Charts (api.energy-charts.info, Fraunhofer ISE, live)",
        "service": "electricity-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/power": "A country's current generation mix by source with renewable share (country=de).",
            "GET /v1/price": "A zone's day-ahead price now plus day min/max/average (zone=DE-LU).",
            "GET /v1/zones": "All supported bidding zones.",
            "GET /v1/prices": "The full hourly day-ahead price curve for a zone (zone=FR)."
        },
        "description": "Live European wholesale (day-ahead) electricity prices and the live power-generation mix, from the Fraunhofer ISE Energy-Charts public data. Electricity is one of Europe's largest traded commodities: each bidding zone (Germany, France, the Nordics, Iberia, Italy …) clears a day-ahead auction priced in EUR/MWh. The price endpoint returns a zone's day-ahead price right now plus the day's min/max/average; the prices endpoint returns the full hourly day-ahead curve; the zones endpoint lists the supported bidding zones; the power endpoint returns a country's current generation mix by source with the renewable share. Live, no key, nothing stored. Distinct from fuel/metal commodity feeds and from FX or equity APIs — this is Europe's own wholesale-electricity price and g
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/electricity-api
OpenAPI spec: https://www.oanor.com/api/electricity-api/openapi.json
