Data Sources (free / paid) for historical fundamental and price information

Basic query for the experienced hands out there:
Which are the most reliable and complete sources of historical fundamental and price information for Indian listed companies for quantitative (not technical) analysis?

I’m referring to data that is available in easy-to-collate and use formats, be it as downloadable spreadsheets or in flat files through python queries for quantitative analysis of the universe of stocks.

Looking to improve on:

  • for historical financials, but has it’s limitations on completeness.
  • python scripts to Yahoo Finance for price data, but some errors in price data compared to NSE

Any inputs, free / paid data will be appreciated.


I use Zerodha’s Kite Connect to fetch historical price data. It’s quite accurate and is adjusted for splits and bonuses.

Their API access along with historical price access costs 4000 / month.

Upstox also has an API and it’s much cheaper than Zerodha.


Apart from the ones mentioned, Trendlyne is pretty good in terms of the fundamental data, be it historical P&L, balance sheet, promoter share holding and research reports etc. Not to mention their own valuation and durability scores which are also pretty decent in gauging the relative valuation.


Can you please help me do it.

Their API is pretty simple to integrate and their documentation is also extensive. Check it out ->

Thanks for helping. Sorry for a naive question but how to use them. I don’t know much about coding and API stuff.

You will have to write some code in order to access their APIs.

You may ask Alok Jain ( I guess he has a Microsoft Excel utility that fetches quotes from Google Finance API. That should involve very little coding.

Thanks again, Will learn more on the topic.

You can check this source with relatively cheap prices This service provides both historical price and fundamental data for more than 60 exchanges all around the world. The data is provided both in JSON and CSV format and with Python examples as you wish (see documentation pages).

For end-of-day data are covered all US stocks, ETFs and Mutual Funds (more than 45 000 in total) from the beginning, for example, the Ford Motors data is from Jun 1972 and so on. Other stock exchanges are covered mostly from Jan 3, 2000.

For fundamentals supported symbols from major US exchanges (around 7000 symbols in total from NYSE, NASDAQ, and ARCA) 10 years both for yearly and quarterly. For other symbols the data for last 5 years and last 10 quarters.

1 Like

Does it cover data about share holding patterns?

At the moment it does not provide shareholding patterns for companies. Basically, it’s not a fundamental data, but more ‘usage data’, but I guess it’s a good idea and definitely could be provided at least for US tickers.
From the other point of view, the service provides Top holdings for almost all ETFs, and it also could be useful for company analyze from the ownership point of view.

I have built price data all the way back from 1990s adjusted for Splits/Bonuses/Dividends and can extend to Rights/Reduction of Capital. I can expose an API if there is sufficient interest, for a small fee. I noticed that most of the EOD adjusted price data was expensive for no reason which is why I decided to build it myself. I have the shareholding data as well accessible for free at which I can expose through an API as well, again for a fee if there is interest. I have built these for personal use in my toolsets as a hobby so monetising them is currently not a priority for me.

1 Like

If someone has shareholding pattern’s data then I would be interested even if the fee is involved

What details level do you need here? Does it ok for you to start only with US symbols or you need more exchanges to be covered?

I am only interested in Indian companies

You can Use IXBRAnalyst to get real-time access to financial data in excel on any of your devices.
iXBRLAnalyst for Microsoft Office (Online) | FinDynamics

Hello everyone. Does anyone know a website where I can find updates on the upcoming quarterly earnings concalls?

Are Splits/Bonuses/Dividends been adjusted manually or their is a automatic way to do so?

And sir which kind of data base you are using SQL or NoSQL?

And do you manually add/run program for regular data or you have deployed cron jobs to do things automatically?

“Are Splits/Bonuses/Dividends been adjusted manually or their is a automatic way to do so?”
Basically, it’s quite easy to adjust data automatically, for example, we use Chicago Booth approach: CRSP Calculations | CRSP - The Center for Research in Security Prices

1 Like

After some SQL queries and coding on python. I made this dataset. In this dataset, all stocks of the Indian Stock Market are present a total of 2435 stocks. The data is of 1-year rows represent stock name and column represent date and I have filled the table with closing price.

Made it open-source on Kaggle

1 Like