I am looking for a method to retrieve all underwriters of a specific bond using a python API.
Within the Refinitiv Workspace, you can open a bond and retrieve a set of multiple underwriters, as exampel
Following the article Debt Structure Analysis on an Organizational Level, I constructed the following Python code:
import refinitiv.data as rd from refinitiv.data.content import search # opens session with refinitiv-data.config.json rd.open_session() organization = "4295885383" # YARA International ASA # Fields fields = [ # basic bond data "PermID", "ISIN", "IssueDate", "Currency", "FaceIssuedTotal", # underwriter fields "UnderwriterCode", "UnderwriterID", "UnderwriterName", "UnderwriterSetupDate", "UnderwriterAmount", ] df = search.Definition( view=search.Views.GOV_CORP_INSTRUMENTS, filter=f"ParentOAPermID eq '{organization}' and IsActive eq true", select=",".join(fields), ).get_data() data = df.data.df print(data)
The result is per obligation the underwriter, as such:
However, you can see that for obligation permID NO0010727993, there is only 1 underwriter, but in the Workspace you see 3 underwriters.
Another way to search for this field is using the data Item Browser. Searching for the permID you see the fields can be called: "TR.Underwriter", "TR.UnderwriterCode", "TR.UnderwriterRankDescription", "TR.UnderwriterAmount", "TR.FIUseOfProceedsAmount".
However, these fields are not known in the search engine. I retrieve the error: "Error code 221 | The access to field(s) denied".
Alternative, I can use the followings calls: "fundamental_and_reference.Definition", "rd.get_history" and "rd.get_data". They all give errors and no data.
As such, My question is:
What Python API should I use, and how do I set this up, to retrieve ALL underwriters of a obligation.