Sweden Nord Pool Day-Ahead Historical Price API
You need reliable, copy-pasteable time series access to Sweden’s Nord Pool Day-Ahead power price for valuation, hedging, and backtesting. By the end of this guide, you will query the Energy API for the NORDPOOL_SE_DA symbol, read the price in EUR/MWh, parse the response fields you actually need, and integrate the results into finance workflows like mark-to-market and scenario analysis.
What you get from this symbol and how to authenticate
The Energy API provides the Sweden Nord Pool Day-Ahead price as a daily time series suitable for financial modeling and risk workflows.
- Symbol name: Sweden Nord Pool Day-Ahead
- Symbol code: NORDPOOL_SE_DA
- Unit: EUR/MWh
- Authentication: api_key as a query parameter (use YOUR_API_KEY)
Important note from the catalog facts: do not pass base=USD when you also need TTF_GAS or EUA_CO2. For this guide, we remain in EUR throughout, as shown in the responses.
Starter plan details from the catalog: $19.99/mo with a 7-day trial and 50 calls. If you need more, check limits and options in the Documentation.
Endpoint and query parameters
Use the timeseries endpoint to fetch the Sweden Nord Pool Day-Ahead price:
- Endpoint: GET /api/v1/timeseries
- Base URL: https://energy-api.com/api/v1/timeseries
- Query parameters:
- start: inclusive start date (YYYY-MM-DD)
- end: inclusive end date (YYYY-MM-DD)
- symbols: NORDPOOL_SE_DA
- api_key: YOUR_API_KEY
The response includes:
- base: expected to be EUR for this symbol
- rates: the measured value keyed by the symbol (see notes below)
- dates: the ISO date keyed by the symbol
- currencies: the currency keyed by the symbol
- success and base_filter_note metadata
Official cURL sample (copy-paste ready)
The following cURL is the official sample for the timeseries endpoint. Keep the URL, parameters, and structure exactly as shown. You will supply your API key in the api_key parameter.
curl -G "https://energy-api.com/api/v1/timeseries" --data-urlencode "start=2026-01-01" --data-urlencode "end=2026-03-31" --data-urlencode "symbols=NORDPOOL_SE_DA" --data-urlencode "api_key=YOUR_API_KEY"
Official JSON sample (from the timeseries endpoint)
This is the official JSON sample block from the live source. It demonstrates the field names and top-level structure. Note that this example shows a different symbol, OMIE_ES_DA, but the structure is the same you will use for NORDPOOL_SE_DA.
{
"success": true,
"date": "2026-10-19",
"base": "EUR",
"rates": {
"OMIE_ES_DA": 216.6622
},
"dates": {
"OMIE_ES_DA": "2026-10-19"
},
"currencies": {
"OMIE_ES_DA": "EUR"
},
"base_filter_note": null
}
Real JSON response for Sweden Nord Pool Day-Ahead
The block below is a real response for the Sweden Nord Pool Day-Ahead symbol. Use this to mirror how you’ll extract the value and its date in your finance code paths.
{"success":true,"date":"2026-10-18","base":"EUR","rates":{"NORDPOOL_SE_DA":47.1002},"dates":{"NORDPOOL_SE_DA":"2026-10-18"},"currencies":{"NORDPOOL_SE_DA":"EUR"},"base_filter_note":null}
Fields you will actually use:
- rates.NORDPOOL_SE_DA: The daily price level for Sweden Nord Pool Day-Ahead (unit: EUR/MWh).
- dates.NORDPOOL_SE_DA: The ISO date for which the price applies.
- base: EUR (ensure your downstream models treat this as EUR/MWh without additional FX conversion).
- currencies.NORDPOOL_SE_DA: EUR (redundant with base, but confirms the per-symbol currency).
Another complete JSON example with the same symbol
In practice, if you query a range that includes the date above, you may receive a structurally identical response for that day. Here is a second complete JSON example (same symbol and values for clarity and testing repeatability):
{"success":true,"date":"2026-10-18","base":"EUR","rates":{"NORDPOOL_SE_DA":47.1002},"dates":{"NORDPOOL_SE_DA":"2026-10-18"},"currencies":{"NORDPOOL_SE_DA":"EUR"},"base_filter_note":null}
How to call the API from Python
This Python example calls the same endpoint, filters for NORDPOOL_SE_DA, and extracts price, date, and currency for use in financial models such as spark spread calculations, PPA valuation, or VaR inputs.
import requests
from datetime import date
BASE_URL = "https://energy-api.com/api/v1/timeseries"
params = {
"start": "2026-01-01",
"end": "2026-03-31",
"symbols": "NORDPOOL_SE_DA",
"api_key": "YOUR_API_KEY"
}
resp = requests.get(BASE_URL, params=params, timeout=30)
resp.raise_for_status()
data = resp.json()
# Validate success flag
if not data.get("success", False):
raise RuntimeError("API call was not successful")
symbol = "NORDPOOL_SE_DA"
# Read the fields you actually need
base_ccy = data.get("base") # Expect "EUR"
price = data.get("rates", {}).get(symbol) # EUR/MWh
price_date = data.get("dates", {}).get(symbol) # e.g., "2026-10-18"
symbol_ccy = data.get("currencies", {}).get(symbol) # Expect "EUR"
if price is None or price_date is None:
raise ValueError("Missing price or date for symbol: %s" % symbol)
print("Symbol:", symbol)
print("Date:", price_date)
print("Price (EUR/MWh):", price)
print("Base currency:", base_ccy)
print("Per-symbol currency:", symbol_ccy)
# Example: store into your finance data store as a daily mark
record = {
"symbol": symbol,
"valuation_date": price_date,
"price_eur_per_mwh": price
}
# persist(record) # integrate with your warehouse or risk system
Practical integration notes that save you time
- Units: Prices are in EUR/MWh. Keep this unit in your downstream models; avoid mixing with USD unless you explicitly convert elsewhere. The API returns base: EUR for this symbol.
- Dates: The date string in dates.NORDPOOL_SE_DA is the market date for the day-ahead price. Treat it as a daily time series label, not a timestamp.
- Timezone: The response uses date-only labels. If your finance warehouse requires timestamps, store as a date column and avoid guessing timezones.
- Currencies: Use currencies.NORDPOOL_SE_DA to enforce per-symbol currency checks. For this symbol it is EUR.
- Caching: Daily power prices do not change intraday after publication. Cache by symbol and date key to reduce calls during backfills and portfolio runs.
- Non-trading days: Power markets publish daily day-ahead schedules; validate your date range and handle days without data gracefully by skipping or carrying rules defined by your risk policy.
- Don’t mix bases: The catalog note states not to pass base=USD when you also need TTF_GAS or EUA_CO2. For NORDPOOL_SE_DA workflows keep EUR as received.
Building a finance-grade timeseries pull
1) Query the range you need
Use the provided cURL or Python example to request your backfill window (for instance, a quarter or year). Always pass symbols=NORDPOOL_SE_DA and your api_key. Store raw responses for audit.
2) Normalize fields
Map to a canonical schema: symbol, price_date (ISO date), price_eur_per_mwh (numeric), currency (EUR), load_time (ingestion timestamp), source (energy-api.com). Avoid adding an FX conversion step unless your portfolio mandates a single reporting currency.
3) Validate completeness
Ensure you have one record per date in your analytics calendar. If a date is missing, log it and optionally re-query or apply a business rule (e.g., skip or flag). Do not fabricate values.
4) Downstream usage
- Backtesting: Use the daily EUR/MWh series as the driver for strategy P&L or hedge effectiveness.
- Valuation: Feed mark-to-market curves for power PPAs and swaps with the daily day-ahead fix.
- Risk: Insert the series into VaR/ES calculations; cache immutable historical values for reproducibility.
End-to-end example with cURL and parsing
Start with the official cURL (unchanged). Then parse the result in your preferred language similarly to the Python example above.
curl -G "https://energy-api.com/api/v1/timeseries" --data-urlencode "start=2026-01-01" --data-urlencode "end=2026-03-31" --data-urlencode "symbols=NORDPOOL_SE_DA" --data-urlencode "api_key=YOUR_API_KEY"
When testing your pipeline, you can validate your parser against this real Sweden Nord Pool Day-Ahead JSON:
{"success":true,"date":"2026-10-18","base":"EUR","rates":{"NORDPOOL_SE_DA":47.1002},"dates":{"NORDPOOL_SE_DA":"2026-10-18"},"currencies":{"NORDPOOL_SE_DA":"EUR"},"base_filter_note":null}
Frequently asked questions
Q1: What symbol should I use for Sweden’s day-ahead price?
NORDPOOL_SE_DA, unit EUR/MWh.
Q2: How do I authenticate?
Send your key via the api_key query parameter. Use the literal placeholder YOUR_API_KEY in examples; replace with your key in production.
Q3: Which fields should I store for finance workflows?
rates.NORDPOOL_SE_DA (EUR/MWh), dates.NORDPOOL_SE_DA (ISO date), base (EUR), currencies.NORDPOOL_SE_DA (EUR), plus your ingestion timestamp.
Q4: Can I change the base currency to USD?
The catalog note warns not to pass base=USD when you also need TTF_GAS or EUA_CO2. For this symbol, keep EUR and handle any FX conversion outside the Energy API if required by reporting.
Q5: How do I handle missing days?
Do not fabricate values. Log missing dates, re-query if needed, and apply a clear policy (skip/flag) in risk and backtesting.
Ready to integrate Sweden’s Nord Pool Day-Ahead price into your finance stack? Create an account and start your 7-day trial now: Register. For full endpoint details and field references, see the Documentation.
Ready to get started?
Get your API key and start querying energy commodity prices in minutes.
Get API KeyRelated posts
Discover how to integrate the Sweden Nord Pool day-ahead price into your finance API for accurate valuation an...
Read more →
Unlock the power of the Finance API to access Denmark West Nord Pool Day-Ahead historical prices. Enhance your...
Read more →
Unlock the power of the Finance API to access Norway Nord Pool Day-Ahead historical prices. Enhance your strat...
Read more →
Discover how to use the Finance API to access Norway Nord Pool day-ahead prices. Enhance your finance workflow...
Read more →
Unlock the power of the Finance API with our guide to fetching Denmark West Nord Pool Day-Ahead prices. Stream...
Read more →