11

I'm new to YQL. Perhaps this is very trivial, but I couldn't quite figure this out. I know, for instance, how to query current stock data from Yahoo/YQL using the YQL console:

http://developer.yahoo.com/yql/console/

with the query string:

select * from yahoo.finance.quotes where symbol in ("YHOO","AAPL","GOOG","MSFT") 

However, what if I want, say, the same data from yesterday, or a week ago? I tried things such as

select * from yahoo.finance.quotes where symbol in ("YHOO","AAPL","GOOG","MSFT") and date=20120913

But it doesn't appear to work.

Any suggestion is appreciated!

Ricardo Altamirano
  • 14,650
  • 21
  • 72
  • 105
user780069
  • 431
  • 2
  • 5
  • 6

3 Answers3

13

You're using the wrong table.

select * from yahoo.finance.historicaldata where symbol = "YHOO" and startDate = "2009-09-11" and endDate = "2010-03-10"

Alternatively, you could use stockretriever.py for this. In the source code, you can find a workaround for historical data.

Jared Burrows
  • 54,294
  • 25
  • 151
  • 185
Def_Os
  • 5,301
  • 5
  • 34
  • 63
9

The table is correct. You need to append the store parameter in your query string. Here is the sample string.

http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.historicaldata where symbol = "YHOO" and startDate = "2014-02-11" and endDate = "2014-02-18"&diagnostics=true&env=store://datatables.org/alltableswithkeys

Hope it helps you.

Shahid Iqbal
  • 2,059
  • 2
  • 21
  • 29
4

yahoo.finance.historicaldata is working, but you have to use startDate and endDate:

select * from yahoo.finance.historicaldata where symbol in ("YHOO","AAPL","GOOG","MSFT") and startDate = "2012-09-13" and endDate = "2012-09-13"
Spas
  • 840
  • 16
  • 13
  • Although the table historicaldata does not appear in the console window one can still find that this is a service which YQL still supports. Yahoo has observed that this particular table causes spikes in server load and has tried to discourage individuals from using it. – j.raymond Jul 08 '13 at 22:02