Can't download data from Yahoo Finance using Quantmod in R

Daniel picture Daniel · May 17, 2017 · Viewed 23.7k times · Source

I'm trying to download data from Yahoo using this code:

library(quantmod)
getSymbols("WOW", auto.assign=F)

This has worked for me in the past in every occasion except now, 5 days before my group assignment is due.

Except now I receive this error:

Error in download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,  : cannot download all files
In addition: Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,  :
  URL 'https://ichart.finance.yahoo.com/table.csv?
s=WOW&a=0&b=01&c=2007&d=4&e=17&f=2017&g=d&q=q&y=0&z=WOW&x=.csv': status was 
'502 Bad Gateway'

Answer

solrak18 picture solrak18 · May 17, 2017

The price history csv URL's appear to have changed

Old https://chart.finance.yahoo.com/table.csv?s=AAPL&a=2&b=17&c=2017&d=3&e=17&f=2017&g=d&ignore=.csv

New: https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1492438581&period2=1495030581&interval=1d&events=history&crumb=XXXXXXX

The new version appends a "crumb" field which appears to reflect cookie information in the user's browser. It seems they are intentionally blocking automated downloads of price histories and forcing queries to provide information to validate cookies in a web browser