aWATTar Market Data API
Free aWATTar API with no key: hourly German and Austrian day-ahead electricity market prices in EUR/MWh, published as soon as the exchange releases them. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the aWATTar Market Data API?
aWATTar publishes day-ahead wholesale electricity market prices for Germany and Austria as a free JSON API with no key. Each entry covers one hourly delivery period with its market price in euros per megawatt hour.
Day-ahead electricity prices are set once a day in an auction and then apply hour by hour through the following delivery day. This endpoint exposes exactly that curve, unadorned and without a key, which is why it underpins a large number of home-automation setups that shift a dishwasher or a car charger into the cheapest hours.
Three details govern correctness. Timestamps are **milliseconds** since epoch, not seconds, and `end_timestamp` is exclusive. The unit is EUR per MWh, so reaching cents per kWh means dividing by ten — 167.83 EUR/MWh is 16.783 ct/kWh before any network fee, levy or tax, which typically more than doubles what a household actually pays. And prices can be **negative** when generation exceeds demand; that is a real market outcome, not a data error, so never clamp at zero.
Quick facts
- Base URL
https://api.awattar.de/v1- Authentication
- No key or registration. The Austrian market is served from api.awattar.at with an identical interface.
- Rate limit
- No published limit. Prices publish once a day, so caching costs you nothing.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the aWATTar Market Data API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. German hourly day-ahead electricity prices
GET https://api.awattar.de/v1/marketdata
curl 'https://api.awattar.de/v1/marketdata'const res = await fetch("https://api.awattar.de/v1/marketdata");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.awattar.de/v1/marketdata", timeout=20)
res.raise_for_status()
print(res.json()){
"object": "list",
"data": [
{
"start_timestamp": 1787295600000,
"end_timestamp": 1787299200000,
"marketprice": 167.83,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787299200000,
"end_timestamp": 1787302800000,
"marketprice": 149,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787302800000,
"end_timestamp": 1787306400000,
"marketprice": 138.88,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787306400000,
"end_timestamp": 1787310000000,
"marketprice": 135.21,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787310000000,
"end_timestamp": 1787313600000,
"marketprice": 140.5,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787313600000,
"end_timestamp": 1787317200000,
"marketprice": 141.17,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787317200000,
"end_timestamp": 1787320800000,
"marketprice": 149.75,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787320800000,
"end_timestamp": 1787324400000,
"marketprice": 166.49,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787324400000,
"end_timestamp": 1787328000000,
"marketprice": 186.21,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787328000000,
"end_timestamp": 1787331600000,
"marketprice": 196.99,
"unit": "Eur/MWh"
},
{
"start_timestamp": 1787331600000,
"end_timestamp": 1787335200000,
"marketprice": 204.42,
"unit": "EuParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start | query | Optional | Start of the window as Unix milliseconds. Defaults to the current hour. 1787295600000 |
end | query | Optional | End of the window as Unix milliseconds, exclusive. 1787382000000 |
Response fields
objectstring- Always `list` — an envelope marker.
data[].start_timestampinteger- Start of the delivery hour in Unix **milliseconds**. Divide by 1000 for a seconds-based timestamp.
data[].end_timestampinteger- End of the delivery hour, exclusive.
data[].marketpricenumber- Wholesale price for that hour. Can be negative.
data[].unitstring- `Eur/MWh`. Divide by 10 for cents per kWh.
What you can build with the aWATTar Market Data API
- Schedule an EV charge or heat pump into the cheapest hours of the day
- Chart the day-ahead price curve for a German or Austrian delivery day
- Estimate the wholesale component of an energy bill
- Trigger a home automation rule when the price crosses a threshold
Common errors and how to fix them
Timestamps a thousand years out
Milliseconds were parsed as seconds.
Fix: Divide `start_timestamp` by 1000 before passing it to a seconds-based date function.
Empty data array
The window is beyond what the auction has published.
Fix: Next-day prices appear in the early afternoon CET. Before that, requesting tomorrow returns nothing.
Negative prices treated as errors
They are real market outcomes.
Fix: Negative wholesale prices occur when generation exceeds demand. Do not clamp them at zero — the sign carries information.
aWATTar Market Data API — frequently asked questions
Is the aWATTar price API free?
Yes. The market data endpoint needs no key or registration, and the Austrian equivalent at api.awattar.at behaves identically.
Are these the prices a household pays?
No. They are wholesale day-ahead market prices. A retail bill adds network charges, levies and taxes on top, which usually more than doubles the figure.
Why are some prices negative?
Because when generation exceeds demand the market clears below zero. It is a genuine outcome of the day-ahead auction and appears in the data as a negative `marketprice`.
When do tomorrow's prices become available?
After the day-ahead auction clears, typically in the early afternoon Central European Time. Requesting tomorrow before that returns an empty array.
Tools that pair with this API
Electricity Cost Calculator
Calculate what appliances cost to run: enter watts, hours per day and days per week to get kWh and cost per day, month and year, for a whole list of devices.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
Percentage Change Calculator
Work out the percentage increase or decrease between an old and a new value. See the absolute change and whether it went up or down, instantly and privately.
aWATTar Market Data is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.