BM Data by Day Range

This endpoint returns BM data for a given date range. It can return all accepted bids and offers as well as all bids and offers on the table, with optional filters for plants and fuels. Data is returned in daily increments with the cursor keeping track of the day with which to get data. Each day of data returned corresponds to one API call.


Using the LCPDelta Python Package

Synchronous

from lcp_delta import enact
from datetime import date

enact_api_helper = enact.APIHelper(username, public_api_key)

#bm acceptances, table bids and offers for a given date
response_dictionary = enact_api_helper.get_bm_data_by_day_range(
  	date(2025, 7, 23), # start date to return data for
		date(2025, 7, 30), # end date to return data for
    option="all", # optional filter, defaults to 'all'
    include_accepted_times=True, # option to include accepted times for accepted bids/offers
    include_on_table=True # option to include all bids and offers
)

accepted_bids = response_dictionary[(response_dictionary['isAccepted']) & (response_dictionary['isBid'])]
accepted_offers = response_dictionary[(response_dictionary['isAccepted']) & (~response_dictionary['isBid'])]

table_bids = response_dictionary[(~response_dictionary['isAccepted']) & (response_dictionary['isBid'])]
table_offers = response_dictionary[(~response_dictionary['isAccepted']) & (~response_dictionary['isBid'])]

Asynchronous (package version 1.3.0 and later)

from lcp_delta import enact
from datetime import date
import asyncio

async def main():
    enact_api_helper = enact.APIHelper(username, public_api_key)

    #bm acceptances, table bids and offers for a given date
    response_dictionary = await enact_api_helper.get_bm_data_by_day_range_async(
      	date(2025, 7, 18), # start date to return data for
				date(2025, 7, 30), # end date to return data for
        option="all", # optional filter, defaults to 'all'
        include_accepted_times=True, # option to include accepted times for accepted bids/offers
        include_on_table=True # option to include all bids and offers
    )


asyncio.run(main())

Return Types

This method returns a data object as well as the value of the next cursor representing the next day of data to get. If there is no more days of data to get then the cursor is null.

The data objects returned are as described in BM Data by Day.

Query Params
date
required

The start date for range to get BM data

date
required

The end date for range to get BM data

string
Defaults to all

The search option. Can be "all", "plant" or "fuel".

string
Defaults to null

If Option is 'plant', this filters by BMU ID (e.g. 'CARR' for all Carrington units). If Option is 'fuel', this filters by fuel type (e.g. 'Coal'). If Option is 'all', this should not be sent in the request.

boolean
Defaults to true

Option to include the times that accepted bids/offers are accepted in returned object.

boolean
Defaults to true

Option to return all accepted bids and offers as well as all on table bids and offers

date
Defaults to null

The current day to return.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json