SmartPrice.be — Free live EPEX Spot Belgium API for automations (negative prices, cheapest hours)

Hi all,

I built SmartPrice.be — a free Belgian energy price platform with a public REST API
that works perfectly with Home Assistant. No API key needed, no rate limits.

What it gives you

  • Live EPEX Spot price for Belgium (updated every 15 min)
  • The N cheapest upcoming hours (great for automations)
  • TTF gas price
  • Belgium generation mix (nuclear/solar/wind/gas)

Belgian prices have been extreme lately — last week went from −€479/MWh to
+€269/MWh in the same week. 140 hours with negative prices (grid paying you
to consume). Automations based on this can save serious money.

Basic configuration.yaml

sensor:

  • platform: rest
    name: “EPEX Spot Belgium”
    resource: https://smartprice.be/api/current
    value_template: “{{ value_json.current.price_eur_mwh }}”
    unit_of_measurement: “€/MWh”
    scan_interval: 900
    json_attributes_path: “$.current”
    json_attributes:

    • hour
    • price_category
    • is_negative
  • platform: rest
    name: “Belgium Cheapest Hour”
    resource: https://smartprice.be/api/cheapest?hours=1
    value_template: “{{ value_json.cheapest_hours[0].hour }}”
    unit_of_measurement: “h”
    scan_interval: 3600

Example automation — charge EV when price is negative

automation:

  • alias: “Charge EV when electricity is free”
    trigger:
    • platform: state
      entity_id: sensor.epex_spot_belgium
      condition:
    • condition: template
      value_template: “{{ states(‘sensor.epex_spot_belgium’) | float < 0 }}”
      action:
    • service: notify.mobile_app
      data:
      message: “:high_voltage: Electricity is FREE right now ({{ states(‘sensor.epex_spot_belgium’) }} €/MWh) — start charging!”

Example automation — run dishwasher at cheapest hour

automation:

  • alias: “Schedule dishwasher for cheapest hour”
    trigger:
    • platform: time
      at: “22:00:00”
      action:
    • service: notify.mobile_app
      data:
      message: >
      :light_bulb: Cheapest hour tonight:
      {{ states(‘sensor.belgium_cheapest_hour’) }}:00
      ({{ state_attr(‘sensor.epex_spot_belgium’, ‘price_category’) }})

Full API docs

The API returns enriched data including hour (Brussels timezone), day
(today/tomorrow), is_current, is_negative, price_category. All free,
no auth needed.

Happy to help with more complex automations — post below!

https://community.home-assistant.io/t/how-to-help-us-help-you-or-how-to-ask-a-good-question/114371#oneone-format-it-properly-16