Requesting large amount of data

I am using Eikon API to get daily data on an index constituents over a large period of time (10-20 years), but I keep receiving "Backend error. 400 Bad Request". I think it might be because of a request limit, since the code works smoothly for small data ranges. This is the part of code where it fails:

RIC = '.OEX'



def get_tickers_by_date(RIC, date):

data, _ = ek.get_data(f"0#{RIC}({date})", ["TR.CompanyName"])

all_tickers = list(data.Instrument)

return all_tickers



#start and end date

start_date = str(20100101)

end_date = str(20230531)



dates = [str(i).split(' ')[0] for i in pd.date_range(start_date, end_date)]



all_data = {}

for i, date in enumerate(dates):

all_data[date] = get_tickers_by_date(RIC, date)

if i % 100 == 0:

print(f"Processed date {date}, iteration {i}")


Is there a more efficient way of getting the desired data over a long data range?

Best Answer