← Zurück

Börsenstrompreise als offene Daten

Die stündlichen Day-Ahead-Preise für die Gebotszone DE-LU, die hinter unseren Rechnern stecken, liegen als offene JSON-Datei bereit. Ohne Anmeldung, ohne API-Schlüssel, ohne Registrierung. Wer selbst etwas damit bauen will, findet hier das dokumentierte Schema.

Der Endpoint

Datenstand: 05.08.2026, 14:44 Uhr.

https://wattlabor.de/data/prices.json
Stundenwerte
888 Stunden
Erster Wert
01.07.2026
Letzter Wert
06.08.2026
Aktualisierung
2× täglich 06:10 und 14:40

Einheit: ct/kWh, Börsenpreis netto, also ohne Steuern, Abgaben, Umlagen und Netzentgelte. Das ist nicht der Preis, den du auf deiner Stromrechnung zahlst.

Aufbau der Datei

Die Datei enthält ein einzelnes JSON-Objekt mit vier Feldern:

{
  "updated": "2026-08-05T04:10:31Z",
  "source":  "Bundesnetzagentur | SMARD.de, CC BY 4.0, abgerufen ueber Energy-Charts
              (Fraunhofer ISE). Bearbeitung durch wattlabor.de: Viertelstundenwerte zu
              Stundenmitteln zusammengefasst und EUR/MWh in ct/kWh umgerechnet.",
  "unit":    "ct/kWh (Boersenpreis netto, ohne Steuern/Abgaben/Netzentgelte)",
  "hours": [
    { "t": 1782856800, "p": 16.49 },
    { "t": 1782860400, "p": 15.02 }
  ]
}

Der source-String ist im Original einzeilig; hier ist er nur zur Lesbarkeit umbrochen. Er ist zugleich die fertige Quellenangabe, die du bei einer Weitergabe übernehmen kannst.

FeldTypBedeutung
updatedStringZeitpunkt des letzten erfolgreichen Abrufs, ISO 8601 in UTC.
sourceStringHerkunft genau dieses Abzugs samt Lizenz und Änderungshinweis, formuliert als fertige Quellenangabe. Maßgeblich für die Nachnutzung, siehe Abschnitt Lizenz.
unitStringEinheit und Abgrenzung der Preisangabe.
hoursArrayDie Stundenwerte, aufsteigend nach Zeit sortiert.
hours[].tIntegerBeginn der Stunde als Unix-Zeitstempel in Sekunden (UTC). Die Stunde läuft von t bis t+3600.
hours[].pZahlPreis in ct/kWh, netto, auf drei Nachkommastellen gerundet. Kann negativ sein.

Es gibt bewusst keine Lücken-Auffüllung: Stunden ohne veröffentlichten Preis fehlen schlicht im Array. Das gilt auch für angefangene Stunden, denn eine Stunde erscheint nur, wenn alle ihre Marktzeiteinheiten vorliegen. Rechne also nicht mit einer festen Anzahl Einträge pro Tag, sondern werte t aus.

Beispiele

Kommandozeile

curl -s https://wattlabor.de/data/prices.json | jq '.updated, (.hours | length)'

Python

import json, urllib.request

url = "https://wattlabor.de/data/prices.json"
d = json.load(urllib.request.urlopen(url))

guenstigste = min(d["hours"], key=lambda h: h["p"])
print(d["updated"], guenstigste["p"], "ct/kWh")

JavaScript

CORS ist nicht freigeschaltet. Dieses Beispiel läuft daher serverseitig oder in einer Node-Umgebung, nicht im Browser einer fremden Webseite.

(async () => {
  const r = await fetch("https://wattlabor.de/data/prices.json");
  if (!r.ok) throw new Error("HTTP " + r.status);
  const d = await r.json();

  const jetzt = Math.floor(Date.now() / 1000);
  const h = d.hours.find(x => x.t <= jetzt && jetzt < x.t + 3600);
  if (!h) {
    console.log("Fuer die aktuelle Stunde liegt kein Preis vor, Stand " + d.updated);
    return;
  }
  console.log(`Aktuell ${h.p} ct/kWh, Stand ${d.updated}`);
})();

Die Prüfung auf !h ist kein Zierrat: Weil Stunden ohne vollständige Daten fehlen und die Datei bei einer Störung der Quelle auch einmal älter sein kann, ist find() ohne Absicherung ein Absturz mit Ansage.

Lizenz und Namensnennung

Die Ausgangsdaten sind Großhandelspreise der Bundesnetzagentur (SMARD) und stehen unter CC BY 4.0. Wir beziehen sie über den Endpunkt /price der Energy-Charts-API des Fraunhofer-Instituts für Solare Energiesysteme ISE. Die Lizenzangabe nehmen wir dabei nicht an, sondern lesen sie bei jedem Abruf aus dem Feld license_info der Antwort. Steht dort etwas anderes als CC BY, wird nichts veröffentlicht und die vorherige Datei bleibt stehen. Markt der Auktion selbst ist EPEX SPOT, das ist aber nicht der Lizenzgeber dieser Daten.

Wir haben die Ausgangsdaten verändert: Viertelstundenwerte wurden zu Stundenmitteln zusammengefasst und Euro je Megawattstunde in Cent je Kilowattstunde umgerechnet. Soweit an unserer Auswahl oder Aufbereitung eigene Rechte bestehen, stellen wir auch diese unter CC BY 4.0 bereit. Die Rechte am Ausgangsmaterial werden dir unmittelbar vom jeweiligen Lizenzgeber eingeräumt. Du darfst die Datei damit nutzen, weiterverarbeiten und veröffentlichen, auch kommerziell.

So sieht eine korrekte Quellenangabe aus. CC BY 4.0 verlangt bei einer Weitergabe mehr als nur einen Namen, nämlich die Nennung des Urhebers, einen Hinweis auf die Lizenz samt Link, einen Link auf das Material und die Kennzeichnung deiner und unserer Änderungen. Übernimm am einfachsten diese Zeile, sie steht wortgleich im Feld source der Datei:

Quelle: Bundesnetzagentur | SMARD.de, CC BY 4.0, abgerufen über Energy-Charts
des Fraunhofer ISE. Bearbeitung durch wattlabor.de: Viertelstundenwerte zu
Stundenmitteln zusammengefasst und EUR/MWh in ct/kWh umgerechnet.

Datenlizenz und API-Zugang sind zweierlei. Die CC-Lizenz regelt, was du mit den Daten tun darfst. Sie sagt nichts darüber, unter welchen Bedingungen du die Energy-Charts-API selbst abfragen darfst. Für die gelten deren eigene Nutzungs- und Zugangsregeln, unter anderem Grenzen für die öffentliche Schnittstelle. Wenn du dort selbst abrufen willst, halte dich an deren Vorgaben und kläre gewerbliche Nutzung direkt mit dem Fraunhofer ISE.

Kein ungeklärter Ersatzweg. Wir veröffentlichen ausschließlich Daten, deren Weiterverbreitung durch CC BY 4.0 gedeckt ist. Antwortet die Quelle einmal nicht, weichen wir nicht auf eine andere Schnittstelle aus, sondern lassen die letzte gültige Datei stehen. Sie ist dann schlimmstenfalls veraltet, was du am Feld updated sofort erkennst. Maßgeblich für deine Nachnutzung ist trotzdem immer das Feld source in der Datei, die du tatsächlich geladen hast.

Fairer Umgang

Das ist eine statische Datei auf einem kleinen Server, keine kommerzielle API mit Zusagen. Ein paar Bitten:

Grenzen, die du kennen solltest

Häufige Fragen

Brauche ich einen API-Schlüssel oder eine Anmeldung?

Nein. Es ist eine statische JSON-Datei unter einer festen Adresse. Kein Schlüssel, kein Konto, kein Rate-Limit-Header, keine Registrierung.

Darf ich die Daten kommerziell nutzen?

Ja. Die Ausgangsdaten stehen unter CC BY 4.0, und diese Lizenz erlaubt kommerzielle Nutzung und Bearbeitung. Sie verlangt dafür eine vollständige Quellenangabe: Urheber, Lizenz mit Link, Link auf das Material und die Kennzeichnung der Änderungen. Übernimm dafür einfach den fertigen Text aus dem Feld source der Datei, er lautet: Quelle: Bundesnetzagentur | SMARD.de, CC BY 4.0, abgerufen über Energy-Charts des Fraunhofer ISE. Bearbeitung durch wattlabor.de: Viertelstundenwerte zu Stundenmitteln zusammengefasst und EUR/MWh in ct/kWh umgerechnet. Davon zu trennen sind die Zugangsbedingungen der Energy-Charts-API, falls du dort selbst abrufen willst.

Warum ist der Preis manchmal negativ?

Wenn viel Wind- und Solarstrom eingespeist wird und gleichzeitig wenig verbraucht wird, kann der Börsenpreis unter null fallen. Das ist ein normales Marktergebnis und kein Fehler in den Daten. Rechne in deinem Code also mit negativen Werten.

In welcher Zeitzone sind die Zeitstempel?

Das Feld t ist ein Unix-Zeitstempel in Sekunden und damit zeitzonenfrei. Rechne ihn für die Anzeige in Europe/Berlin um. Weil Deutschland zwischen Sommer- und Winterzeit wechselt, solltest du nicht mit festen Stundenoffsets arbeiten, sondern mit einer echten Zeitzonenbibliothek. Sonst verrutschen dir zweimal im Jahr alle Werte um eine Stunde.

Kann ich die Datei direkt aus meiner Webseite heraus laden?

Aus dem Browser heraus nicht, es sind keine CORS-Header gesetzt. Hol die Datei serverseitig ab und liefere sie über deine eigene Domain aus. Das ist ohnehin schonender, weil du sie dann einmal je Aktualisierung abrufst statt einmal je Besucher.

Bekomme ich auch historische Jahre?

Von uns nicht. Wir halten nur ein rollierendes Fenster ab heute minus 35 Tage bis einschließlich heute vor, dazu den Folgetag, sobald er veröffentlicht ist. Vollständige Zeitreihen über Jahre bekommst du bei energy-charts.info und bei SMARD der Bundesnetzagentur, beides kostenfrei.