Throttling API requests using refinitiv.data
Hi All,
I am trying to extract prices using the following screept.
import refinitiv.data as rd
rd.get_history(
list_RIC,
fields=['BID','HIGH_1', 'LOW_1','MID_PRICE','ASK','ASK_HIGH_1', 'ASK_LOW_1'],
start = '2022-12-31',
end = '2023-06-30',
interval="daily"
)
The language used is Python.
the library is refinitiv-data 1.4.0
I have a list of about four thousand RICs.
However, when I run it I get blocked, surely I exceed the limits allowed by the API, but I can't figure out what they are.
Do you have an idea to handle this and avoid getting stuck every time?
Thanks
Best Answer
-
Typically, the error 429 indicates that the application exceeds the request limit of the endpoint. For example, the interday-summaries endpoint limits 50 outstanding requests at a time and 50 requests allowed in one second.
You may split four thousand RICs to multiple requests.
Otherwise. you can enable logging in the API to verify what the problem is. Add the following configuration to the RD configuration file (refinitiv-data.config.json).
{
"logs": {
"level": "debug",
"transports": {
"console": {
"enabled": false
},
"file": {
"enabled": true,
"name": "refinitiv-data-lib.log"
}
}
...
}The refinitiv-data-lib.log file will created in the current directory.
Please refer to the example on GitHub how to load the configuration file. For example:
import os
os.environ["RD_LIB_CONFIG_PATH"] = "../../Configuration"0
Answers
-
Hi @Francesco.De.Venuto ,
I'm afraid that this errror is instrument specific. What I mean is that it may come up depending on the RICs in the `universe`. The best way to see this is by using different instrument types, e.g.:
rd.get_history(
universe=["USDSR3L10Y=", "LSEG.L"],
fields=['BID','HIGH_1', 'LOW_1','MID_PRICE','ASK','ASK_HIGH_1', 'ASK_LOW_1', 'TR.ClosePrice'],
start = '2022-12-31',
end = '2023-06-30',
interval="daily"
)In this example, "LSEG.L" returns 'TR.ClosePrice' data, but "USDSR3L10Y=" does not.
The best way to check if there is data for the fields you are after, for the instrument you are after is via the Data Item Browser. Have you tried using it?
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 中文论坛