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

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

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.

Rynki · Poradnik · API