Backend error. 400 Bad Request -- Seeking work around

Can someone help me break a large request for data into smaller chunks to I avoid overloading the server?


Here is the offending Python

for universe in [",primary", ",countryprimaryquote"] :
    exchange_filter = ""
    name_suffix = ""
    if(universe == ",countryprimaryquote") :
        exchange_filter = "IN(TR.ExchangeCountryCode,'US'), NOT_IN(TR.HQCountryCode,'US'),"
    else :
        exchange_filter = "NOT_IN(TR.ExchangeCountryCode,'US') OR IN(TR.HQCountryCode,'US'),"        
    df, err = ek.get_data(f"SCREEN(U(IN(Equity(active,public{universe}))), {exchange_filter} CURN=USD)",
                          "TR.TickerSymbol;TR.CommonName;TR.TRBCIndustry;TR.CompanyMarketCap(curn=USD);TR.HeadquartersCountry;TR.ExchangeCountry;TR.HistDividendYieldCommStockPrimaryIssuePct;TR.HistDividendYieldCommStockPrimaryIssuePct5YrAvg;TR.DividendYield;TR.PriceClose(curn=USD);TR.ExchangeName;TR.ShortExchangeName;TR.AvgDailyValTraded5D(curn=USD);TR.DRType")


In the past, when I got a "Backend Error", I resubmitted the request later, and it went through. Now, I can't get it through, so I'm stuck.

Thanks

Brent

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @Brent Gregory

    Thank you for reaching out to us.

    It is a limitation in the API, as mentioned in the Eikon Data API Usage and Limits Guideline.

    1695202990362.png

    According to the error, it could be the server timeout.

    You may need to add additional filters to get a subset of data instead of the full result. You can contact the content support team directly via MyRefinitiv for additional filters that can be used in the formula.