API Request: Error code 1422 | Can not process metadata for request: DataGrid_StandardAsync.reque...

...sts.instruments - non-empty is required

I reran the following code I had successfully run before, but the error appeared this time.

Code:

Complete_Data, err = ek.get_data(List_RIC_Arr,

['TR.RetireDate','TR.ClosePrice.date','TR.ClosePrice','TR.CompanyMarketCap',

'TR.Volume','TR.TtlCmnSharesOut','TR.NumberOfAnalysts','TR.EPSNumberofEstimates',

'TR.EPSNumIncEstimates'],

{'Scale': 6, 'SDate': '2016-01-01', 'EDate': '2016-01-31', 'FRQ': 'D', 'Curn': 'AUD'})


List_RIC_Arr is a list of all RIC for ASX-listed companies.


I am wondering what is going on, and how should I handle this?

Best Answer

  • yiyezhou
    yiyezhou Newcomer
    Answer ✓

    Yeah. I think I figured out what is going on. EQSRCH updated the screening output, which includes three empty cells in between, and this cause the data pull issue.

Answers

  • Hi @yiyezhou

    Please restart your pc and Eikon Desktop application.

    Then try again.

    I can successfully retrieve the data (I repeated it for 10 times)

    image


  • Hello @yiyezhou

    Could you please also share the error message/exception that you encountered?

  • yiyezhou
    yiyezhou Newcomer

    I did restarted everything today, but the problem still exists. My list is all of the ever listed ASX- listed companies, so there are 2612 companies in the list. I am wondering is it because Eikon updated the screen in EQSRCH function, which somehow cause the data pulling issue. I pulled the list by using the code List, err = ek.get_data("lists('ASX-Listed Company List')",["TR.RIC","TR.RetireDate"]).

  • yiyezhou
    yiyezhou Newcomer

    Yes. Below is the major piece of the error message:

    ~\AppData\Local\Continuum\miniconda3\lib\site-packages\eikon\data_grid.py in get_data(instruments, fields, parameters, field_name, raw_output, debug)
    187 payload = {'requests': [payload]}
    188 --> 189 result = eikon.json_requests.send_json_request(_endpoint, payload, debug=debug)
    190 191 if result.get('responses'):

    ~\AppData\Local\Continuum\miniconda3\lib\site-packages\eikon\json_requests.py in send_json_request(entity, payload, debug)
    125 ticket = _check_ticket_async(result)
    126 --> 127 _check_server_error(result)
    128 return result
    129 else:

    ~\AppData\Local\Continuum\miniconda3\lib\site-packages\eikon\json_requests.py in _check_server_error(server_response)
    201 status, reason_phrase, version, content, headers = error_message.split(',')[:5]
    202 logger.error(error_message)
    --> 203 raise EikonError(int(server_response['ErrorCode']), error_message)
    204 205 # check DataGrid response (server response is JSON and it can contain error + transactionId keys)
  • Hi @yiyezhou

    I do not have the same list as you.

    Anyway, please try to reduce the number of RIC lists in a single API call.

    Please refer to https://developers.refinitiv.com/eikon-apis/eikon-data-api/docs?content=49692&type=documentation_item

    The return datapoint should not exceed 10000 datapoints.

    small_list = List_RIC_Arr[0:200]

    Please split the list into a smaller list and try again.