The cheapest_hours API returns ranked electricity hours for the next 24h — built on day-ahead market data, with a ready-to-use scheduling signal. No math, no custom logic. Just call it and act on the answer.
Most APIs return a list of prices and leave the scheduling logic to you. Elecz returns a decision-ready signal so an agent or automation can act immediately.
next_cheap_hour for when to resume.curl "https://elecz.com/signal/cheapest-hours?zone=GB&hours=5"
{
"zone": "GB",
"currency": "GBP",
"unit": "p/kWh",
"current_hour_signal": "low",
"current_hour_is_cheap": true,
"current_hour_rank": 2,
"cheap_window_ends": "2026-05-12T06:00:00+01:00",
"next_cheap_hour": "2026-05-12T23:00:00+01:00",
"hours_until_next_cheap": 17,
"data_complete": true,
"cheapest_hours": [
{ "rank": 1, "hour": "2026-05-12T04:00", "price": 8.3 },
{ "rank": 2, "hour": "2026-05-12T05:00", "price": 9.1 },
{ "rank": 3, "hour": "2026-05-12T03:00", "price": 9.7 },
{ "rank": 4, "hour": "2026-05-12T23:00", "price": 10.2 },
{ "rank": 5, "hour": "2026-05-12T02:00", "price": 11.4 }
]
}
Every field is designed to be actionable — no post-processing required.
| Field | Type | Description |
|---|---|---|
| current_hour_signal | string | low / medium / high — ready to use as a run/wait/stop signal |
| current_hour_is_cheap | boolean | True if current hour is within the requested cheapest window |
| current_hour_rank | integer | Rank of current hour by price (1 = cheapest of the day) |
| cheap_window_ends | ISO 8601 | When the current cheap window ends — useful for scheduling a stop time |
| next_cheap_hour | ISO 8601 | Start of the next cheap period — useful for scheduling a delayed start |
| hours_until_next_cheap | integer | Hours until the next cheap period — useful for natural language responses |
| data_complete | boolean | True if tomorrow's day-ahead prices are already published and included in the ranking. Day-ahead data typically available from ~13:00 CET for ENTSO-E zones, ~10:30 JST for Japan. |
| cheapest_hours | array | Ranked list of cheapest hours with price and timestamp |
The cheapest hours API is the core signal for any energy-aware automation.
current_hour_signal — if low, start charging now. Otherwise delay to next_cheap_hour. No custom price comparison needed.cheap_window_ends to know how long the cheap period lasts before switching to stored heat.cheapest_hours array directly.cheapest_hours, answers with a concrete time and estimated saving. Works via MCP in Claude, Grok, Cursor.The cheapest_hours tool is available via the Elecz MCP server. Any MCP-compatible AI client can call it directly.
{
"mcpServers": {
"elecz": {
"url": "https://elecz.com/mcp"
}
}
}
User: "Should I start the dishwasher now?" Agent (via Elecz MCP): "Now is actually a good time — you're in the 2nd cheapest hour of the day at 9.1 p/kWh. The cheap window runs until 06:00, so you have about 50 minutes. If you miss it, the next cheap period starts at 23:00 tonight."
cheapest_hours. Next-day prices are published daily (~13:00 CET for ENTSO-E zones, ~10:30 JST for Japan) and automatically included in the ranking when available. The data_complete flag tells you whether tomorrow's data is already in. No API key or registration required.cheapest_hours API for 40 countries. No API key, no account, no registration. Call GET /signal/cheapest-hours?zone=GB and you get a ranked list of cheapest hours plus scheduling signals.data_complete flag tells you whether tomorrow's prices are already published (typically from ~13:00 CET). When both days are available, the ranking covers the full 24h window ahead.hours parameter — for example ?zone=FI&hours=3 returns the 3 cheapest hours. Default is 5. The current_hour_signal is calculated relative to your requested window.cheapest_hours is not available for those zones.n8n-nodes-elecz), cheapest_hours integrates into any automation platform. The current_hour_signal field returns low, medium, or high — ready to use as a trigger condition without any custom logic.cheapest_hours also returns current_hour_signal, cheap_window_ends, next_cheap_hour, and hours_until_next_cheap. These context fields are what make the response actionable for agents and automations without additional logic.Free. No API key. 40 countries. Works via MCP or REST.