Get Electricity Consumption


Returns the electricity consumption on a specific service location during a specified range of time. The call support different aggregation levels to obtain different levels of details. 

A range of time is always interpreted as a closed-open interval, meaning that the start is inclusive, the end is exclusive. So requesting all 5min intervals for e.g. Oct 10 2020 (timezone Europe/Brussels) is done with the following range: [1602280800000, 1602367200000) where 1602280800000 is the UTC timestamp for Oct 10th 2020 and 1602367200000 is the UTC timestamp for Oct 11th 2020 (both timezone Europe/Brussels). The interval with timestamp 1602280800000 is already part of the next day so you do not want that. Using an open interval avoid that you always have to take one step back and subtract 5mins from 1602280800000. You can simply decide on the start of your interval and add the duration you are interested in and we will do the rest.

(lightbulb) TIP: To convert the 5 minute interval from Energy [Wh] to Power [W], like the Smappee Dashboard reports these, you have to do these values times 12 as there are 12 x 5 minute intervals in an hour.

Resource URL[SERVICELOCATIONID]/consumption

HTTP method


HTTP header

Authorization: Bearer [ACCESS_TOKEN]

(info) [ACCESS_TOKEN] being the access token received from the Get token or Refresh token authentication calls.


SERVICELOCATIONIDPath ParameterThe actual id of an accessible service location (see Get Servicelocations)
aggregationQuery Parameter

The level of detail and should be one of:

  • 1 to obtain the 5 minute data (most detailed level)
  • 2 to obtain hourly values
  • 3 to obtain daily values
  • 4 to obtain monthly values
  • 5 to obtain quarterly values

Additional aggregations have been added based on the collected 5 minute data to report in the interval of your market:

  • 6 to obtain 10 minute intervals
  • 7 to obtain 15 minute intervals
  • 8 to obtain 20 minute intervals
  • 9 to obtain 30 minute intervals
fromQuery ParameterThe UTC timestamp in milliseconds indicating the beginning of the requested period
toQuery ParameterThe UTC timestamp in milliseconds indicating the end of the requested period



(info) Numbers are fictional and applied on a Smappee Genius series device


Version 1 (v1)

This version of the API always returns "alwaysOn" values as W.

Version 2 (v2)

This version of the API returns "alwaysOn" values as Wh as soon as aggregation type is 2, 3, 4 or 5, i.e. when level of detail exceeds the lowest level of reporting of your market and we effectively need to aggregate data. When requesting 5 minute (based) data, the unit for alwaysOn is W.

Additional aggregation levels based on "aggregation" query parameter, possible values: 6, 7, 8 and 9. See above.

Version 3 (v3)

Up until this version of the API the consumption values were returned simply one after the other, returning up to 9 values for a PRO device. However, for Genius devices that have a lot more measurement slots and are highly configurable, some slots could end up not being used. In previous versions of the API, these unused slots were simply ignored making it very difficult to find the consumption values for the load that client code is interested in. As an example, the Genius device could be configured to measure phase A of the grid load at index 5 but due to unused slots, it would be possible for that to be returned at index 0. This version of the API will respect that index and return null, null, null, null, null, <value>,... instead. To match the measurements to their correct indices, one needs to use "consumptionIndex" returned with the Get metering configuration call.