Energi Data Service Scraper - Nordic Power & Balancing
Pricing
Pay per event
Energi Data Service Scraper - Nordic Power & Balancing
Pull electricity and gas data from Energinet API (Denmark TSO). Covers Day-Ahead spot prices (DK1/DK2/DE/NO/SE), production by technology (wind, solar, central), consumption by industry, balancing-market clearing (FCR, aFRR, mFRR), cross-border exchanges, real-time CO2 and gas-flow data.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract electricity and gas data from Energinet's Energi Data Service — Denmark's TSO (Transmission System Operator) public REST API. Covers the full Nordic + Baltic + Central European power market.
No API key required. Free public data. One run = one dataset.
What You Can Get
| Dataset | Records | Description |
|---|---|---|
DayAheadPrices | ~128K+ | Current wholesale spot prices (DK1, DK2, DE, NO1-NO5, SE1-SE4, FI) — EUR/MWh + DKK/MWh, hourly |
Elspotprices | ~1.8M | Historical Elspot prices (discontinued after 2025-09-30, use DayAheadPrices for live data) |
ProductionConsumptionSettlement | ~374K | Hourly generation by technology (offshore wind, onshore wind, solar by size bucket, central power, local power), gross consumption, cross-border exchanges (DE/NO/SE/NL/GB) |
ElectricityBalanceNonv | ~197K | Non-validated electricity balance: total load, offshore wind, onshore wind, solar, fossil, biomass |
PowerSystemRightNow | ~3.9M | 5-minute real-time: CO2 intensity, production >= 100MW / < 100MW, solar, wind, cross-border MW, aFRR + mFRR activated |
mFRRCapacityMarket | ~51K | mFRR balancing market: up/down demand, procured volume, clearing price (EUR/MWh) |
ImbalancePrice | ~83K | Imbalance settlement prices + aFRR/mFRR VWAP prices |
FcrNdDK2 | ~1.77M | FCR-N and FCR-D clearing volume + price in DK2 |
ConsumptionDK3619IndustryHour | ~1.54M | Hourly consumption by industry sector (NACE DK36 + DK19 codes) |
ConsumptionConsumerCategoryHour | ~701K | Hourly consumption by consumer category and grid region |
Gasflow | ~4.5K | Daily Danish gas balance: Tyra, North Sea, biogas, Germany, Sweden, storage |
Input
| Field | Type | Default | Description |
|---|---|---|---|
datasetName | string | DayAheadPrices | Which dataset to fetch (see table above) |
startDate | string | (empty) | Filter from this datetime: YYYY-MM-DDThh:mm e.g. 2026-01-01T00:00. Leave empty for no lower bound |
endDate | string | (empty) | Filter up to this datetime: YYYY-MM-DDThh:mm. Leave empty for no upper bound |
sortOrder | string | DESC | DESC = newest first, ASC = oldest first |
maxItems | integer | 10 | Maximum records to return. Datasets have millions of records — use date filters |
Example: Day-Ahead Prices for one month
{"datasetName": "DayAheadPrices","startDate": "2026-01-01T00:00","endDate": "2026-02-01T00:00","sortOrder": "ASC","maxItems": 5000}
Example: Production by Technology (recent week)
{"datasetName": "ProductionConsumptionSettlement","startDate": "2026-05-01T00:00","sortOrder": "DESC","maxItems": 2000}
Example: Balancing Market Clearing
{"datasetName": "mFRRCapacityMarket","startDate": "2026-01-01T00:00","endDate": "2026-04-01T00:00","maxItems": 10000}
Output Schema
Each record includes dataset (which dataset it came from) and source_url, plus dataset-specific fields:
| Field | Datasets | Description |
|---|---|---|
hour_utc | all | Timestamp in UTC |
hour_dk | most | Timestamp in Danish local time |
price_area | price datasets | Bidding zone: DK1, DK2, DE, NO1-NO5, SE1-SE4, etc. |
day_ahead_price_eur | DayAheadPrices, Elspotprices | Price in EUR/MWh |
day_ahead_price_dkk | DayAheadPrices, Elspotprices | Price in DKK/MWh |
solar_power_mwh | ProductionConsumptionSettlement | Summed solar production across all size brackets |
offshore_wind_ge100mw_mwh | ProductionConsumptionSettlement | Large offshore wind (MWh) |
gross_consumption_mwh | ProductionConsumptionSettlement | Total gross consumption (MWh) |
exchange_no_mwh | ProductionConsumptionSettlement | Exchange to/from Norway (MWh) |
up_procured_mw | mFRRCapacityMarket | mFRR up-regulation procured (MW) |
up_price_eur | mFRRCapacityMarket | mFRR up-regulation clearing price (EUR/MWh) |
co2_emission | PowerSystemRightNow | CO2 emission intensity (g/kWh) |
industry_code | ConsumptionDK3619IndustryHour | NACE sector code |
consumption_mwh | ConsumptionDK3619IndustryHour | Hourly consumption (MWh) |
extra_fields | all | Additional dataset-specific fields as JSON string |
Use Cases
- Energy trading desks — Pull wholesale prices and balancing market data for spread analysis and real-time position tracking
- Battery / V2G operators — Monitor FCR, aFRR, mFRR clearing prices to optimize charging schedules and bid frequency reserve markets
- Cleantech investors — Track wind/solar penetration and cross-border exchange patterns to evaluate grid integration
- Grid decarbonisation researchers — Hourly CO2 intensity + generation mix + exchange data for lifecycle analysis
- Industrial PPA hedgers — Correlate industrial consumption patterns with wholesale price volatility
Notes
- Date filters: Required for large datasets. Without a date range,
maxItemslimits results from the most recent records. - Elspotprices is discontinued: Data stops at 2025-09-30. Use
DayAheadPricesfor live market data. - PowerSystemRightNow: 5-minute intervals produce ~288 records/day per area — use tight date ranges.
- No proxy needed: Public government API with no rate limiting for normal usage.