Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 0 5 9

Fetching Revenue, net income and Eps data.

I'm trying to retrieve the revenue, net income, and EPS data for around 4000 RICs, one RIC at a time, but I'm having trouble doing so. I'm able to get the data up e1.pnge2.pngto 100 but after that I get a 400 backend error message. I'm using Refinitiv Eikon's most recent version, 4.0.63. Additionally, I am not exceeding the limit according to the API docs.

The code screenshot I attempted with the Refinitiv Eikon version is posted below.

#productsupporthelpdesk
e1.png (87.4 KiB)
e2.png (93.5 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
83.1k 281 53 77

@vishnu01

Thank you for reaching out to us.

According to the Eikon Data API Usage and Limits Guideline, this error indicates that the platform is overwhelmed. 1695094308026.png

You may catch this exception and then send the request again. Moreover, you can add the sleep code after sending each request.


1695094308026.png (37.9 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi, I converted the dataframe of 4063 rics into the chunks of 50. I used this code and added 2 time.sleep after one request and 5 sec sleep after one chunk. Still I'm getting the error . What is the best approch to resolve it.



import pandas as pd


# Initialize an empty DataFrame with column name 'split_ratio'

stock_split = pd.DataFrame(data=None)


try:

i = 0

for chunk in chunks:

for index, row in chunk.iterrows():

try:

df, err = ek.get_data(str(row['ric']), ['TR.CAAdjustmentFactor'], {'SDate': '2023-10-03', 'EDate': '2023-10-04'})

df.fillna(1, inplace=True)

df.rename(columns={'Adjustment Factor': 'split_ratio'}, inplace=True)

stock_split = pd.concat([stock_split, df], ignore_index=True)

except Exception as e:

print('Error:', e)

time.sleep(1)

i += 1

print(i, end=' ')

print('sleeping for 5 seconds before the next chunk...')

time.sleep(5)

except Exception as e:

print('Error:', e)


Upvotes
3 0 5 9

Hi, Thank you for the response. I added the the sleep code after sending the request but still the problem persist.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@vishnu01

Can you share RICs? Therefore, I can test the code on my machine.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.