post https://enactapifd.lcp.uk.com/enactApi/Leaderboard/v2/data
This endpoint returns the Leaderboard for the specified date range (see Enact's leaderboard page).
To request data for a single day, set the from and to fields of the request body equal to each other.
Using the LCPDelta Python Package (version 2.0.0 and later)
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_leaderboard_data(
  date(2023,6,21),
  date(2023,6,23),
  "Plant", # leaderboard type ("Plant", "Owner" or "Optimiser")
  "Pound", # revenue metric
  "WeightedAverageDayAheadPrice", # market price assumption
  "DayAheadForward", # gas price assumption
  False, # whether to include capacity market revenues,
  "FrequencyAndReserve", # aggregate option for ancillary profits ("FrequencyAndReserve", "ByProduct", "ByDirection")
  False, # whether to group DC, DR, and DL profits will be grouped into "Dx"
  None, # aggregation option ("Day", "Week", "Month"), defaults to None
  False, # whether to show fuel types of co-located assets
  False, # Whether the availability of the plant is taken into account when normalising the revenues
  ['Battery'], # Fuels to include
  False, # whether to include imbalance payments for non-BM and secondary BMUs
  False, # whether to include estimated charging/discharging costs for non-BM and secondary BMUs
  False, # whether to include estimated wholesale revenue for BM (No FPN) assets
  "IntradayPrice", # price assumption using for the estimated charging/discharging costs of non-BM and secondary BMUs
  "PreviousEFABlock", #The charging cost assumption used for the estimated charging/discharging costs for non-BM and secondary BMUs
  "Show", # whether to show, hide or absorb BM Non-Delivery charges 
)
 
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 = await enact_api_helper.get_leaderboard_data_async(
      date(2023,6,21),
      date(2023,6,23),
      "Plant", # leaderboard type ("Plant", "Owner" or "Optimiser")
      "Pound", # revenue metric
      "WeightedAverageDayAheadPrice", # market price assumption
      "DayAheadForward", # gas price assumption
      False, # whether to include capacity market revenues,
      "FrequencyAndReserve", # aggregate option for ancillary profits ("FrequencyAndReserve", "ByProduct", "ByDirection")
      False, # whether to group DC, DR, and DL profits will be grouped into "Dx"
      None, # aggregation option ("Day", "Week", "Month"), defaults to None
      False, # whether to show fuel types of co-located assets
      False, # Whether the availability of the plant is taken into account when normalising the revenues
      ['Battery'], # Fuels to include
      False, # whether to include imbalance payments for non-BM and secondary BMUs
      False, # whether to include estimated charging/discharging costs for non-BM and secondary BMUs
      False, # whether to include estimated wholesale revenue for BM (No FPN) assets
      "IntradayPrice", # price assumption using for the estimated charging/discharging costs of non-BM and secondary BMUs
      "PreviousEFABlock", #The charging cost assumption used for the estimated charging/discharging costs for non-BM and secondary BMUs
      "Show", # whether to show, hide or absorb BM Non-Delivery charges
    )
print(response_dataframe)
 
asyncio.run(main())