Hi. We are looking for the maximum price, the minumum price, and the max and min closing price for a period for a list of RICS and Eikon API says Error code 429 Client Error: Too Many Requests - Too many requests, please try again later. We are downloading info for less than 100 Rics. In the image you can see some inputs and the code. This is urgent for Banco Santander. Thanks in advance. PD: Please note after this error, we can download data for two single RICs. It seems it is not related with daily limits (but we're not sure). <br>
There's indeed a limit on how many requests can be sent per second. But given that data retrieval methods of Eikon Data APIs are synchronous executing these methods in a loop or inside dataframe 'apply' method in itself is highly unlikely to saturate the throttle. I think realistically the throttle will only be saturated by code running on multiple threads. I think there must have been something else (another Julyter notebook or another script executed in a separate process) running on the machine when the issue occurred.
It may nevertheless be preferable to retrieve timeseries for multiple RICs in a single request, as @davidk suggested. However in this case I would advise using get_data method rather than get_timeseries because get_timeseries returns a max of 3K rows of timeseries per request, and this limit is shared by all RICs in the same request. get_data method does not impose such limitation.
Whichever method you choose to use, I suggest always keeping an eye open for multiple scripts running simultaneously.
We have not exceeded the daily data limit, since it works for a single RIC.
I understand that what happens is that queries per second are exceeded (or something related).
How can we then use the API to download historical information for a list of RICs?
Can you please review the code and give us a suggestion or solution?
If it is not possible to make such a simple query in the API, then it is not a useful API for us ...
Thanks in advance.
@Nabil Edriss Sánchez I am a quant at another firm, not from Reuters, but there is a limit of n requests per second, so running a query like this inside df.apply is always failure-prone. However you can request many RICs in a single request. My suggestion would be to refactor your request if possible to request all the RICs at once. If the time series start and end dates that you require vary by security, just get the whole date range from min start to max end for all the securities, and then subset it down ex post.