> ## Documentation Index
> Fetch the complete documentation index at: https://developer.plugchoice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Energy Profile

Returns what the user told you about the energy setup at a location: solar panels, a home battery, the electricity contract and its prices. A location without any answers returns every field as `null`.

<ParamField path="site" type="string" required>
  The UUID of the location.
</ParamField>

## Response

<ResponseField name="data" type="object">
  The energy profile of the location.

  <Expandable title="data">
    <ResponseField name="has_solar_panels" type="boolean">
      Whether the location has solar panels, or `null` when not answered.
    </ResponseField>

    <ResponseField name="has_home_battery" type="boolean">
      Whether the location has a home battery, or `null` when not answered.
    </ResponseField>

    <ResponseField name="contract_type" type="string">
      The electricity contract. One of `fixed`, `variable` or `dynamic`, or `null` when not answered.
    </ResponseField>

    <ResponseField name="supplier" type="string">
      The energy supplier as the user entered or picked it, or `null`.
    </ResponseField>

    <ResponseField name="price_per_kwh" type="number">
      The price per kWh in euro including VAT, or `null`. For a fixed or variable contract this is the normal or single rate.
    </ResponseField>

    <ResponseField name="off_peak_price_per_kwh" type="number">
      The off-peak (low) rate per kWh in euro including VAT, or `null`.
    </ResponseField>

    <ResponseField name="feed_in_price_per_kwh" type="number">
      What the user gets per kWh fed back to the grid, in euro including VAT, or `null`.
    </ResponseField>

    <ResponseField name="dynamic_markup_per_kwh" type="number">
      For a dynamic contract, the supplier's markup per kWh on the day-ahead price, in euro including VAT, or `null`.
    </ResponseField>

    <ResponseField name="completed_at" type="string">
      When the user first finished answering, as an ISO 8601 UTC timestamp (for example `2026-10-08T07:12:34Z`), or `null`.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      When an answer last changed, as an ISO 8601 UTC timestamp, or `null` when there are no answers yet.
    </ResponseField>
  </Expandable>
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.