Unauthorized when pulling data by Eikon Python API with App Key registered

image

Error code 401 | Client Error: Unauthorized - Eikon API Proxy requires authentication.

Best Answer

  • @jianfenglu
    Thanks for sharing your code. I take it it's the get_timeseries method that results in the error you mentioned, right? I don't think I've seen this error before. Would you mind including the full trace?
    Since this used to work for you before, have you tried restarting Eikon and your Python IDE? Or better yet restarting the machine? If the issue persists, as the first step in troubleshooting I would suggest running Fiddler or another HTTP analyzer to see if any request is being sent to the remote Web service. This will tell if the error is produced by Eikon API Proxy or it comes from remote Web service that delivers timeseries data to Eikon Data APIs. And if the error comes from the Web service, it would be interesting to see of the HTTP response contains any additional info about the error.
    When the timeseries data request is executed by get_timeseries method you should see an HTTP POST to https://amers1.apps.cp.thomsonreuters.com/Apps/UDF/MSF
    On a side note, the same timeseries data can be retrieved using get_data method:

    ek.get_data(["MSFT.O"],["TR.OPENPRICE","TR.HIGHPRICE","TR.LOWPRICE","TR.CLOSEPRICE","TR.ACCUMULATEDVOLUME"],{"Sdate":"2016-01-01","Edate":"2016-01-10"})

    It would be interesting to see if you can retrieve timeseries using this method.

Answers

  • I followed quickstart guide and was able to pull data into python the other day. But then I came back the next day and re-login and got the error.

    Here is my code, just a simple one copied from your example.

    import eikon as ek
    ek.set_app_key('xxxx')
    df = ek.get_timeseries(["MSFT.O"],start_date="2016-01-01",end_date="2016-01-10")
    print(df)
  • Thanks! It works after a restart. Don't know why but it fixed the problem.