Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Yahoo finance webservice API

I am trying to get realtime stock data from BSE and NSE using yahoo finance web-services. I was able to get some data using following URL

http://finance.yahoo.com/webservice/v1/symbols/COALINDIA.NS/quote?format=json 

But it gives me very limited information.

{   "list": {     "meta": {       "type": "resource-list",       "start": 0,       "count": 1     },     "resources": [       {         "resource": {           "classname": "Quote",           "fields": {             "name": "COAL INDIA LTD",             "price": "367.649994",             "symbol": "COALINDIA.NS",             "ts": "1418895539",             "type": "equity",             "utctime": "2014-12-18T09:38:59+0000",             "volume": "2826975"           }         }       }     ]   } } 

I need more information like yearly high, low, last traded price etc. and I couldn't find any documentation related to this from yahoo where it details how to get more information.

Is there documentation available related to these services? Or please suggest if there are any alternatives available.

like image 553
Adi Avatar asked Dec 18 '14 09:12

Adi


People also ask

Is Yahoo Finance API still available?

Yahoo Finance API is Discontinued.

Can I web scrape Yahoo Finance?

Web scraping stock data on yahoo financeUsing a web scraper, you will be able to choose a specific set of stocks from Yahoo Finance and extract the exact information you'd need from each stock.


2 Answers

I don't know where the definitive documentation might be but for your particular example try appending &view=detail to your URL.

http://finance.yahoo.com/webservice/v1/symbols/COALINDIA.NS/quote?format=json&view=detail

This will at least give you the year_high and year_low that you asked after.

Now, even though the following won't work for your COALINDIA.NS symbol (I suspect the exchange is not supported), it might be worth exploring the following two examples:

Example 1: As before, but for Apple and Yahoo symbols, with &view=detail appended:

http://finance.yahoo.com/webservice/v1/symbols/YHOO,AAPL/quote?format=json&view=detail

Example 2: And now using a completely different url, resulting in much more response data. One key caveat is this data is delayed by 15 minutes:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20IN%20(%22YHOO%22,%22AAPL%22)&format=json&env=http://datatables.org/alltables.env

If you discover the major differences between those two options and what impact they might have then please do let us all know; I'd be interested in finding out more.

like image 158
zacjordaan Avatar answered Sep 23 '22 15:09

zacjordaan


If you are fine with getting NSE qoutes, you can use this package for the purpose, it is extremely easy to setup.

http://nsetools.readthedocs.org/en/latest/index.html

Since it uses NSE website/services as data source, the quotes will not be delayed (max few seconds).

like image 45
Vivek Jha Avatar answered Sep 23 '22 15:09

Vivek Jha