API SpotWave
Ceny na SpotWave pochodzą z małego API JSON tylko do odczytu. Możesz z niego korzystać w projektach prywatnych, dashboardach i automatyce domowej, zgodnie z zasadami poniżej.
Podstawy
- Adres bazowy:
https://spotwave.eu/api. Każdy endpoint to zwykłyGETbez klucza API, a CORS jest otwarty, więc możesz go wywołać prosto ze strony internetowej. - Specyfikacja do odczytu maszynowego: dokument OpenAPI. Na jej podstawie wygenerujesz klienta w dowolnym języku.
- Ceny są za kWh w jednostkach waluty (€/kWh w polach EUR). Każdy wiersz ma też blok
nativew walucie danego rynku (DKK, SEK, NOK, PLN, …), przeliczony po dziennym kursie referencyjnym EBC. - Czas jest w formacie ISO 8601, w UTC. Ceny z rynku dnia następnego są podawane w okresach 15-minutowych.
countryprzyjmuje kod rynku z/meta/markets:NL,DE,SE3,DK1,NO2,ITNitd.- Kwoty łączne to cena giełdowa + akcyza + opłata dystrybucyjna za kWh, a potem VAT. Marże sprzedawców nie są wliczone; w źródłach opisujemy, jak powstaje każda liczba.
Endpointy
GET /meta/markets
Wszystkie obsługiwane rynki (strefy cenowe) z nazwą, walutą i stałymi kosztami miesięcznymi (z VAT), których nigdy nie doliczamy do ceny za kWh.
curl https://spotwave.eu/api/meta/markets[
{
"code": "NL",
"name": "Netherlands",
"currency": "EUR",
"fees": {
"gridFixedPerMonth": 39.83,
"energyTaxCreditPerMonth": 52.41,
"netPerMonth": -12.58,
"native": { "currency": "EUR", "gridFixedPerMonth": 39.83, "energyTaxCreditPerMonth": 52.41, "netPerMonth": -12.58 }
}
},
…
]GET /spotprice?country=…&from=…&to=…
Rozbicie ceny łącznej dla każdego okresu w zakresie. from i to to znaczniki czasu ISO (włącznie); zakres dłuższy niż 92 dni jest przycinany do ostatnich 92 dni.
curl "https://spotwave.eu/api/spotprice?country=NL&from=2026-10-20T00:00:00Z&to=2026-10-20T23:59:59Z"[
{
"periodUtc": "2026-10-20T12:00:00Z",
"country": "NL",
"spotEurPerKwh": 0.10301,
"energyTaxEurPerKwh": 0.0916,
"gridFeeEurPerKwh": 0.0,
"vatEurPerKwh": 0.0408681,
"totalEurPerKwh": 0.2354781,
"native": { "currency": "EUR", "spotPerKwh": 0.10301, "energyTaxPerKwh": 0.0916, "gridFeePerKwh": 0.0, "vatPerKwh": 0.0408681, "totalPerKwh": 0.2354781 }
},
…
]GET /forecast?country=…&from=…&to=…
Te same parametry i ta sama odpowiedź co /spotprice, dla jutra. Zwraca pustą tablicę, dopóki nie zostaną opublikowane jutrzejsze ceny, zwykle około 13:00.
curl "https://spotwave.eu/api/forecast?country=DE&from=2026-10-21T00:00:00Z&to=2026-10-21T23:59:59Z"GET /spotprice/current?country=…
Ostatnia zapisana cena hurtowa dla rynku: sama cena giełdowa, bez podatków i opłat. hourUtc to początek okresu. Zwraca 404, gdy rynek nie ma danych.
curl "https://spotwave.eu/api/spotprice/current?country=NL"{ "id": 3179619, "country": "NL", "hourUtc": "2026-10-20T15:45:00Z", "eurPerKwh": 0.25471 }GET /spotprice/stats?country=…
Percentyle ceny hurtowej z ostatnich 30 dni, na podstawie których SpotWave ocenia, czy cena jest niska, czy wysoka.
curl "https://spotwave.eu/api/spotprice/stats?country=SE3"{
"p25": 0.0401, "median": 0.0825, "p75": 0.1208, "avg": 0.0842,
"native": { "currency": "SEK", "p25": 0.4452, "median": 0.9165, "p75": 1.3411, "avg": 0.9352 }
}GET /spotprice/context?country=…
Długoterminowe poziomy odniesienia: krocząca średnia roczna ceny łącznej, średnia z zeszłego roku i pasmo typical (nisko/średnio/wysoko dla każdej godziny doby, UTC) wyliczone z tej samej pory roku w ostatnich latach. Pola mają wartość null, dopóki historia jest za krótka.
curl "https://spotwave.eu/api/spotprice/context?country=NL"{
"yearAvg": 0.2409, "lastYearAvg": 0.2219,
"typical": [ { "i": 0, "low": 0.1694, "mid": 0.2172, "high": 0.2650 }, … ],
"native": { "currency": "EUR", "yearAvg": 0.2409, "lastYearAvg": 0.2219, "typical": [ … ] }
}GET /compare
Migawka wszystkich rynków: bieżąca cena łączna i giełdowa, dzisiejszy zakres, udział podatków, stawka VAT i godzinowy wykres, od najtańszego. Z tego korzysta strona rynków.
curl https://spotwave.eu/api/compare{
"asOf": "2026-10-20T15:58:49Z",
"euAvgSpot": 0.1596,
"zones": [
{
"country": "NL", "name": "Netherlands",
"currentAllIn": 0.4012, "spot": 0.2400, "taxShare": 40.19, "vatRate": 21.0,
"todayMin": 0.2307, "todayMax": 0.4012, "isNegative": false,
"sparkline": [0.1701, 0.1681, 0.1722, …],
"native": { "currency": "EUR", "currentAllIn": 0.4012, "spot": 0.2400, "todayMin": 0.2307, "todayMax": 0.4012, "sparkline": [ … ] }
},
…
]
}GET /meta/status
Kiedy dane zostały ostatnio odświeżone i czy dla danego rynku są już jutrzejsze ceny. Przydatne, żeby wiedzieć, kiedy wywołać /forecast.
curl https://spotwave.eu/api/meta/status{ "lastUpdated": "2026-10-20T13:05:12Z", "tomorrowPublished": { "NL": true, "DE": true, "SE3": false, … } }GET /history
Ceny archiwalne jednego rynku: średnie miesięczne i roczne, rekordowe dni i godziny, godziny poniżej zera i średnia cena dla każdej godziny doby z ostatnich 12 miesięcy. Tylko cena hurtowa, w walucie rynku po dzisiejszym kursie.
curl "https://spotwave.eu/api/history?country=NL"GET /history/month
Jeden miesiąc dzień po dniu: średnia, minimum i maksimum, godziny poniżej zera, najtańszy i najdroższy dzień oraz średnie z poprzedniego miesiąca i tego samego miesiąca rok wcześniej.
curl "https://spotwave.eu/api/history/month?country=NL&month=2026-09"Z asystentami AI
SpotWave jest też serwerem MCP, więc asystenci i agenci AI mogą sami sprawdzać bieżące i archiwalne ceny. Dodaj https://spotwave.eu/api/mcp jako zdalny serwer MCP (streamable HTTP, bez klucza) w dowolnym kliencie obsługującym MCP. Udostępnia cztery narzędzia: list_markets, get_current_price, get_prices (dziś, jutro albo dowolny dzień z przeszłości) i compare_markets.
curl https://spotwave.eu/api/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Pokaż cenę na swojej stronie
Mały widget z dzisiejszą ceną łączną i wykresem, z linkiem do SpotWave. Rynek wybierasz parametrem market (dowolny kod z /meta/markets), język parametrem lang (en, nl, de, da, sv, nb, fi, fr, es, it, pl), a motyw parametrem theme (light albo dark).
<iframe src="https://spotwave.eu/embed?market=NL&lang=pl&theme=light"
width="360" height="300" style="border:0;border-radius:14px"
title="Cena prądu dziś" loading="lazy"></iframe>Uczciwe korzystanie
- API jest darmowe i bez klucza, ale działa na małym serwerze, więc liczba zapytań jest ograniczona. Jeśli zapytania zaczną być odrzucane, odczekaj i spróbuj później.
- Ceny zmieniają się najwyżej co 15 minut, a jutrzejsze pojawiają się raz dziennie: odpytuj nie częściej niż co 15 minut i przechowuj pobrane dane w pamięci podręcznej.
- Wysyłaj opisowy nagłówek
User-Agent(nazwę aplikacji i adres kontaktowy). Niektóre domyślne user agenty bibliotek HTTP są blokowane przez CDN przed API. - Nie ma gwarancji dostępności, a endpointy mogą się zmieniać.
Podanie źródła
Jeśli publikujesz coś opartego na tych danych, podaj SpotWave jako źródło z linkiem do spotwave.eu. Ceny hurtowe pochodzą z platformy przejrzystości ENTSO-E; podatki i opłaty to orientacyjne wartości SpotWave, opisane na stronie źródeł.
Home Assistant
Przygotowujemy integrację z Home Assistant, która korzysta z tego API. Do tego czasu wbudowany w Home Assistant czujnik RESTful może odczytywać /spotprice/current bezpośrednio.