post https://enact-functionapp-siteapi.azurewebsites.net/api/GbIndexData
This endpoint returns the daily revenues of a specified Index (see Enact's GB index page).
The indices have been backfilled from 1st January 2020 and include daily data up to and including yesterday.
To access the data of a specified index, you'll need its corresponding GUID which can be found by clicking the information icon next to an index on the GB index page.
Using the LCPDelta Python Package
Synchronous
from lcp_delta import enact
from datetime import date
enact_api_helper = enact.APIHelper(username, public_api_key)
# see 'BODY PARAMS' section below for details on corresponding parameter values
response_dataframe = enact_api_helper.get_gb_index_data(
date(2025,5,1),
date(2025,5,31),
index_id = "fa8e0adc-399a-40e5-adaf-27f973f98985",
normalisation ="PoundPerKwPerYear",
granularity ="Week",
show_profit = "false",
gas_price_assumption = None,
market_price_assumption = "WeightedAverageDayAheadPrice",
account_for_availability_in_normalisation = "false",
include_wholesale_split = "false",
bm_split_out_option = None,
ancillary_revenue_type = "ByProduct",
group_dx = "false",
include_capacity_market = "true",
include_non_delivery_charges = "true",
)
print(response_dataframe)
Asynchronous
from lcp_delta import enact
from datetime import date
import asyncio
async def main():
enact_api_helper = enact.APIHelper(username, public_api_key)
# see 'BODY PARAMS' section below for details on corresponding parameter values
response_dataframe = enact_api_helper.get_gb_index_data_async(
date(2025,5,1),
date(2025,5,31),
index_id = "fa8e0adc-399a-40e5-adaf-27f973f98985",
normalisation ="PoundPerKwPerYear",
granularity ="Week",
show_profit = "false",
gas_price_assumption = None,
market_price_assumption = "WeightedAverageDayAheadPrice",
account_for_availability_in_normalisation = "false",
include_wholesale_split = "false",
bm_split_out_option = None,
ancillary_revenue_type = "ByProduct",
group_dx = "false",
include_capacity_market = "true",
include_non_delivery_charges = "true",
)
print(response_dataframe)
asyncio.run(main())