I am being throttled by the usage limits for the Eikon Data API when I have played fairly
I am using the Eikon API with Python on Windows (with a desktop session). I am instantiating a historic_pricing.Definition class and calling .get_data() to retrieve a time series of hourly prices per RIC.
query_definition = historical_pricing.summaries.Definition(
universe=refined_rics,
interval=interval,
fields=[pricing_field],
start=query_start.strftime("%Y-%m-%d %H:%M:%S"),
end=query_end.strftime("%Y-%m-%d %H:%M:%S"),
sessions=[
historical_pricing.MarketSession.NORMAL,
],
)
As you can see in the log, I have batched the requests to be a max of 50 RICs and the date filter restricts the amount of historical price points returned. Typically I am receiving around 5000 data points back per request, which doesn't seem like a problem when I look at the usage limits. Additionally, I am making synchronous calls so I am not going to breach 5 requests per second. Lastly, the daily limit of 5Gb and minute limit of 50Mb are much larger than the data I am requesting per day.
Therefore I cannot understand why I am getting this error:
Error code 429 | Client Error: Too Many Requests - Too many requests, please try again later.
Best Answer
-
Hi @Matt.Whiteley ,
There is another limit of 10,000 request per day, I think you are reaching that one (Documentation | Devportal (lseg.com)):
Best regards,
Haykaz
1
Answers
-
Hi Aramyan,
It shouldn't (in theory!) be anywhere close to 10,000 requests. Of course, I am counting one method call of 'get_data()' as one request, which may not be strictly true. One thing to note is that my internet was very intermittent that day, and perhaps the poor connection was triggering a lot of retry requests, which is why I was then throttled. That's my best guess, as I don't know how it works under the hood.
Thanks
Matt
0 -
Hi @Matt.Whiteley ,
As you perhaps rightfully noticed the get_data request with several RICs is not a single call. You can refer also to this thread, which provides more light on it.
Try Except would be another thing obviously which will result in additional API calls.
Best regards,
Haykazs
1 -
Hi @aramyan.h - thanks, I read through the thread and that makes a lot more sense, I didn't know the RICs were being iterated over and thus it was one API call per RIC. Is this also how it worked in the 'eikon' library? I see that price streaming is another option but that doesn't seem to let me access historic data, which is critical for my application.
0 -
Hi @aramyan.h - thanks, I read through the thread and that makes a lot more sense, I didn't know the RICs were being iterated over and thus it was one API call per RIC. Is this also how it worked in the 'eikon' library? I see that price streaming is another option but that doesn't seem to let me access historic data, which is critical for my application.
0 -
Hi @Matt.Whiteley ,
That should be the same for Eikon as well. I realize your usecase might be different I just provided that thread as an explanation of the situation, but perhaps, you can build the history in a couple of days and then use the streaming, if an option for your use case at all. You may also want to talk to your Account Manager who may suggest another product or workflows.
Best regards,
Haykaz
0 -
For reference, this
thread suggests the original eikon library didn't make a request per RIC. I have also checked the source code for the eikon implementation and it appears to send one payload per function call. This will solve my problem but I will verify that with some tests today and confirm here, if that is useful.0 -
That would be very useful indeed, would appreciate you posting your test results here, thank you!0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛