Search code examples
cookiessession-cookiesfinanceyahoo-apiyahoo-finance

Yahoo Finance Historical data downloader url is not working


I have used the following url to fetch the historical data from yahoo finance. From last 16th May, 2017 the url is not working.

http://real-chart.finance.yahoo.com/table.csv?s=AAL&a=04&b=01&c=2017&d=04&e=02&f=2017&g=d&ignore=.csv

Seems like they have changed the url and the new url is:

https://query1.finance.yahoo.com/v7/finance/download/AAL?period1=1494873000&period2=1494959400&interval=1d&events=history&crumb=l0aEtuOKocj

In the above changed URL has a session cookie which is crumb. Is there any idea how to get this cookie programmatically(in JAVA)?


Solution

  • Got it to work, now I just have to parse the csv. Thought I'd share since I was having trouble with the syntax.

    Dim crumb As String:    crumb = "xxxx"
    Dim cookie As String:   cookie = "yyyy"
    
    Dim urlStock As String: urlStock = "https://query1.finance.yahoo.com/v7/finance/download/SIRI?" & _
        "period1=1274158800&" & _
        "period2=1495059477&" & _
        "interval=1d&events=history&crumb=" & crumb
    
    Dim http As MSXML2.XMLHTTP:   Set http = New MSXML2.ServerXMLHTTP
    http.Open "GET", urlStock, False
    http.setRequestHeader "Cookie", cookie
    http.send