user1179317
user1179317

Reputation: 2903

DataReader google finance date not working

I was just using pandas datareader to get the stock data for the past two weeks or so and it was working fine. All of a sudden since yesterday the date provided wasnt working anymore. It just gives me the past year data and I cant change the date. Used to work with the one commented out, but now its not. I even changed it to use datetime object, but still not working. Any idea? I updated pandas and pandas_datareader still no luck. Used another computer still didnt work. Did they just recently change the API?

from pandas_datareader import data
import datetime

#start = '2010-01-01'
#end = '2017-7-31'
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2017,7, 31)
f = data.DataReader('AAPL', 'google', start, end)
print(f.head())

output:

              Open    High     Low   Close    Volume
Date                                                
2016-09-19  115.19  116.18  113.25  113.58  47023046
2016-09-20  113.05  114.12  112.51  113.57  34514269
2016-09-21  113.85  113.99  112.44  113.55  36003185
2016-09-22  114.35  114.94  114.00  114.62  31073984
2016-09-23  114.42  114.79  111.55  112.71  52481151

Upvotes: 3

Views: 5111

Answers (3)

Vaishali
Vaishali

Reputation: 38415

According to data reader docs, Yahoo!, Google Options, Google Quotes and EDGAR have been immediately deprecated due to large changes in their API and no stable replacement. Use 'iex' instead

import pandas_datareader.data as web
import datetime as dt    

start = dt.datetime(2018,1,1)
end = dt.datetime(2019,1,1)

aapl = web.DataReader('AAPL', 'iex', start, end)

aapl.shape
(251, 5)

aapl.head()

    open    high    low close   volume
date                    
2018-01-02  167.6431    169.7514    166.7564    169.7120    25555934
2018-01-03  169.9780    171.9682    169.4165    169.6825    29517899
2018-01-04  169.9879    170.9041    169.5347    170.4707    22434597
2018-01-05  170.8746    172.7760    170.4904    172.4115    23660018
2018-01-08  171.7711    173.0125    171.3573    171.7711    20567766

Upvotes: 0

Peter
Peter

Reputation: 577

The url has now been updated, so upgrading datareader will fix the problem:

sudo pip install pandas_datareader --upgrade

Upvotes: 1

Gary Liang
Gary Liang

Reputation: 51

Google has changed the Google Finance URL to finance.google.com/finance/historical rather than www.google.com/finance/historical, which is used as the URL in the pandas_datareader.

Server returns HTTP 302 when fetching data from the old URL and redirect to the new URL. However, the parameters startdate/enddate are missing during the HTTP redirection.

The url is set in the source code: https://github.com/pydata/pandas-datareader/blob/master/pandas_datareader/google/daily.py

Maybe you can modify the URL and use your own version of pandas_datareader.

Upvotes: 5

Related Questions