API err = ek.get_data returning no results

fields = [    'TR.FiscalPeriodEndDate','TR.PriceClose.date', 'TR.F.TotRevenue.fperiod', 'TR.F.TotRevenue', 'TR.BGS.BusTotalRevenue',    'TR.CompanyIncorpDate', 'TR.RegistrationCountry', 'TR.HQStateProvince', 'TR.HeadquartersCity', 'TR.F.GrossProfMarg',    'TR.InvtrRevenue',  'TR.TURNOVER', 'TURNOVER',   'TR.CompanyNumEmploy', 'TR.F.TotAssets', 'TR.F.TotFixedAssetsNet', 'TR.F.TotCap',  'TR.CAPEXTot', 'TR.CapexActValue', 'TR.F.MaterialExpn',    'TR.F.TotLiab', 'TR.F.TotLiabEq', 'TR.F.SolvRatioPct', 'TR.F.InvntTot', 'TR.F.CashCashEquivTot', 'TR.F.NetCashFlowOp', 'TR.F.TotDebtPctofTotEq' ,   'TR.F.InvstTot',   'TR.F.PPENetTotYoYAvg',  'TR.EnergyUseTotal', 'TR.ROAActValue',    'TR.TRESGScore',  'TR.EnvMgtTeam',  'TR.TRESGWorkforceScore',  'TR.EnvironmentPillarScore', 'TR.EnvMgtTraining', 'TR.TRESGCSRStrategyScore', 'TR.TRESGControversiesScore',  'TR.TRESGResourceUseScore',     'TR.AnalyticBoardFemale',  'TR.PolicyBoardInd', 'TR.AnalyticBoardCulturalDiversity',      'TR.NAICSSectorCode', 'TR.NAICSSector', 'TR.ControvEnv',  'TR.SICIndustryCode', 'TR.GICSSectorCode', 'TR.GICSSector',     'TR.F.COGS',   'TR.F.ComShHoldNum', 'TR.F.BUSNetProfMargPct']
# Define the parameters for data retrieval#parameters = {'SDate': '2000-01-01', 'EDate': '2024-06-30', 'Frq': 'FY','Curn':'USD'}parameters = {'SDate': '0', 'EDate': '-25', 'Frq': 'FY','Curn':'USD'}

try:   

# Assuming `Asia1` is list of instruments

    result_df, err = ek.get_data(instruments=Asia1, fields=fields, parameters=parameters)   

      )

image.png

when I search manually I can find these companies. I have more than 2000, so can't do it manually for all

Answers

  • Hello @MD1,

    Some of the fields in your formula are incorrect/ do not exist. Please use the Data Item Browser (DIB) in Eikon/Workspace to find out the correct fields, relevant to your instruments. Moreover, the time frame specifications int he parameter section can only be applied to the fields which have time series information. Not all fields have series data and hence would return null in the response. You can see in the DIB which fields support series (checkbox) -

    image.png

    In addition, the TR.F.xxx are financial data series fields which will provide multiple data points. Removing these fields from the request, you should get the data (if available) -

    image.png

    PS: Note that for help with data content, it is best to open a support ticket at LSEG MyAccount.

  • MD1
    MD1 Newcomer

    can you please share the code you used for me to double-check it, many thanks for clarifying.

    The goal was to get financial data with their corresponding year of reference and time-invariant variables for the instrument

  • I used the code from your question and removed the timeseries FIDs -

    fields = ['TR.PriceClose.date', 'TR.CompanyIncorpDate', 'TR.RegistrationCountry', 'TR.HQStateProvince', 'TR.HeadquartersCity', 'TR.InvtrRevenue',  'TR.TURNOVER', 'TR.CompanyNumEmploy', 'TR.CAPEXTot', 'TR.CapexActValue', 'TR.EnergyUseTotal', 'TR.ROAActValue',    'TR.TRESGScore',  'TR.EnvMgtTeam',  'TR.TRESGWorkforceScore',  'TR.EnvironmentPillarScore', 'TR.EnvMgtTraining', 'TR.TRESGCSRStrategyScore', 'TR.TRESGControversiesScore',  'TR.TRESGResourceUseScore',     'TR.AnalyticBoardFemale',  'TR.PolicyBoardInd', 'TR.AnalyticBoardCulturalDiversity',      'TR.NAICSSectorCode', 'TR.NAICSSector', 'TR.ControvEnv',  'TR.SICIndustryCode', 'TR.GICSSectorCode', 'TR.GICSSector']
    parameters = {'Period':'FY0', 'Curn':'USD'}
    df, err = ek.get_data(['005090.KS', '042660.KS'], fields=fields, parameters=parameters)