Pull Subsidiary Data Accurately Using lseg-data (TR.RelatedOrg Fields Misaligned and Incomplete)

Hi all,

I'm currently working with the lseg-data Python SDK (v2.1.1) in a local refinitv Anaconda environment using a Desktop Workspace session. My objective is to extract a full and accurate list of a company’s subsidiaries, along with relevant identifiers and relationship types.

I attempted to retrieve related organizations for MSFT.O (Microsoft) using the following fields:
fields = ["TR.RelatedOrgId", "TR.RelatedOrgName", "TR.RelatedOrgType"]

My code:
import lseg.data as ld

ld.open_session(name="desktop.workspace")

print("Session opened successfully.")

# Company RIC (can also try a PermID or Ticker)

ric = "MSFT.O"

# Fetch related organization names (includes subsidiaries)

response = ld.get_data(

universe=ric,

fields=['TR.RelatedOrgId','TR.RelatedOrgName','TR.RelatedOrgType']

)

# Print raw response

print("Related Entities / Subsidiaries:")

print(response)

# Excel

today = datetime.date.today().isoformat()

output_file = f"related_entities_msft_{today}.xlsx"

response.to_excel(output_file, index=False)

print(f"\nData saved to: {output_file}")

→ Issues I'm Facing

1. Field Misalignment

Although the SDK returns data, the organization names, types, and IDs appear to be misaligned — e.g., the name of a company may not correspond to its actual relationship type. It seems like these fields return lists, but there is no clear documentation on whether the lists align element-wise.

2. Incomplete Subsidiary Coverage

Microsoft has dozens of known subsidiaries, but the query returns only a handful. I’m unsure whether this is due to:

  • An incomplete API view,
  • Using a RIC instead of a PermID,
  • Limited entitlements,
  • Or needing a different endpoint or query method.

Questions:

  1. Are the TR.RelatedOrgId, TR.RelatedOrgName, and TR.RelatedOrgType fields guaranteed to be aligned as parallel lists?
  2. What’s the recommended way to reliably extract subsidiaries (with PermID, ISIN, etc.)?
  3. Would querying by PermID instead of RIC improve coverage or structure?
  4. Is there a method to retrieve full subsidiary hierarchy, beyond immediate relationships?
  5. Could Workspace entitlements be affecting the visibility of the full set of related orgs?

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @Khushi

    Thank you for reaching out to us.

    I ran the code and it returned 215 rows of data. I ran this formula on Excel and Excel returned the same data.

    =@RDP.Data("MSFT.O","TR.RelatedOrgId;TR.RelatedOrgName;TR.RelatedOrgType","CH=Fd RH=IN",B2)
    

    You need to contact the helpdesk team via MyAccount to verify the data. The get_data method can be used to retrieve the same data as the =@RDP.Data Excel function.

    1. Are the TR.RelatedOrgId, TR.RelatedOrgName, and TR.RelatedOrgType fields guaranteed to be aligned as parallel lists?
      I can't verify which rows are misaligned. Please contact the helpdesk team via MyAccount to verify the data.
    2. What’s the recommended way to reliably extract subsidiaries (with PermID, ISIN, etc.)?
    3. Would querying by PermID instead of RIC improve coverage or structure?
      I tested it and found that both RIC (MSFT.O) and PermID (4295907168) returned the same amount of data.
    4. Is there a method to retrieve full subsidiary hierarchy, beyond immediate relationships?
    5. Could Workspace entitlements be affecting the visibility of the full set of related orgs?
      As this forum is more for programming type queries, rather than content queries - I would recommend you raise a 'I need help understanding content within the product' ticket with our helpdesk. That way a Content specialist can work closely with you and verify the assumption.