Alternative to google finance apiapi


I'm way late, but check out Quandl. They have an API for stock prices and fundamentals.

Here's an example call, using Quandl-api download in csv


They support these languages. Their source data comes from Yahoo Finance, Google Finance, NSE, BSE, FSE, HKEX, LSE, SSE, TSE and more (see here).


I wanted to use Google Finance API to get stock data about the company but this API is deprecated since 2011/26/05.

What do you use as free API to get stock data in real time?

Yahoo Finance API

IMHO the best place to find this information is:

I used to use the "gummy-stuff" too but then I found this page which is far more organized and full of easy to use examples. I am using it now to get the data in CSV files and use the files in my C++/Qt project.

You may use YQL however* tables are not the core yahoo tables. It is an open data table which uses the 'csv api' and converts it to json or xml format. It is more convenient to use but it's not always reliable. I could not use it just a while ago because it the table hits its storage limit or something...

You may use this php library to get historical data / quotes using YQL

google finance json stock quote stopped working

As Peter Said, Google Finance API was to shut down on October 2012. Google left the servers functioning without supporting or monitoring them. They will turn off the servers when a major bug or security hole is discovered as mentioned by Jeff Nelson here.

You can use Yahoo finance to get the prices for multiple stock symbols as follow :

Google Ticker:

Or you can use Google Realtime Intraday Backfill Data.

This is an overview about the above google api since it is a litile tricky. I will use the url you wrote in the comment:,o,h,l,c,v

Here the parameter i(interval) = 600 seconds = 10 minutes.

One tricky bit with the first column(date) has the full and partial timestamp.(Please check the notes in image )

The first row has timestamp = 1504669800. The second row in the data set in image has an interval of 1. You can multiply this number by our interval size (600 s, in this example) and add it to the last Unix Timestamp. That gives you the date for the current row. (So our second row is 10 minutes after the first row. Easy.)

1504669800 + (1 * 600) = 1504670400 -> timestamp for second row
1504670400 + (2 * 600) = 1504671600 -> timestamp for Third row ... and so on.

The last row (in the bottom) has the highest date and the latest tick.

It is easy to convert the unix time stamp to formatted date in any programming language, php example:

echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);

Online Convertor Here

Hope this help.