Skip to content
All library documents

Choosing Historical Fundamental Data Sources for Multi-Company Research

Article Quant Q&A · Author: user66554

Summary

The document compares ways to obtain historical company fundamentals for multiple stocks in machine-readable formats. The original request prioritizes several years of data, broad international coverage, index-level or identifier-based retrieval, and sample access before purchase. Responses describe a range of services and datasets, including bulk downloads, APIs, CSV exports, academic databases, and enterprise feeds, with differing coverage, history, frequency, and costs.

The answers show that no single option clearly satisfies every stated requirement. Some services offer broad or global coverage but may require separate downloads, APIs, or paid access; others focus on US-listed firms or provide data through spreadsheets or copyable tables. One contributor cautions that quarterly cash-flow figures can be particularly unreliable and recommends examining sample data before buying. The post is a dated collection of provider suggestions, not an independent assessment, and availability, pricing, coverage, and formats may have changed.

Key ideas

  • The request prioritizes multi-company historical fundamentals, machine-readable downloads, broad market coverage, and sample data.
  • Providers differ in geographic scope, history, reporting frequency, delivery format, and price.
  • Bulk datasets, APIs, academic databases, and enterprise feeds are among the approaches discussed.
  • A contributor recommends checking sample data quality, especially quarterly cash-flow figures.
  • The provider descriptions are historical recommendations rather than a current, verified comparison.

Tags

Full text
# Where can I get historical fundamental data for multiple companies in a single CSV file?


# Where can I get historical fundamental data for multiple companies in a single CSV file?












## Summary

I seek an explicit reference to a source that gives me

- a fixed URL, e.g. `http://example.com/?isin=US1912161007` or `http://example.com/?index=Dow_Jones`, which provides

- an easily parsed format (e.g. CSV, not HTML),

- the fundamental data I need (or at least sufficient data that I can calculate it),

- several years in the same file,

- search functionality by ISIN (or all stocks of an index in a single file).

- The service should not be limited to US stocks but should include at least the stocks of major indices worldwide.

- Paying for it is not the issue, but I need to know beforehand if I that data actually does what I need.

## Original Post

I'm looking for a service that provides historical fundamental data in CSV format, which might look kind of like this (note how more than one company appears in the same file - alternatively I'd like an usable request interface, e.g. `http://example.com/?isin=US1912161007`):

```
stock , ISIN        , year, price       earnings   cash flow  equity     debt     , ...
                            per share , per share, per share, per share, per share, ...
Apple , US0378331005, 2014, 125.32    , 6.49     , 29.78    , 22.3     , 25.1     , ...
Apple , US0378331005, 2013, 125.32    , 5.72     , 26.20    , 24.6     , 32.6     , ...
Boeing, US0970231058, 2014, 152.42    , 7.47     , 123.20   , 12.6     , 120.3    , ...
Boeing, US0970231058, 2013, 152.42    , 6.03     , 112.85   , 21.4     , 101.2    , ...
...
```

That's the barest minimum of data - more fundamentals are better (and getting it per quarter instead of per year would just be a plus). Some values can also be calculated (e.g. `total equity / #shares = equity per share`, `earnings per share / price per share = PER`, `equity / debt = leverage` etc.), hence having different columns in the file is fine as long as all fundamental data can be calculated.

I do not mind having to pay for long-term historical data - but I want to see a sample of several years and several stocks first so I can decide whether the data actually fits my purpose.

It is important that each CSV file contains multiple stocks (at least all of an index). Because I am very much fed up with having to collect the data for every single stock by hand - or rather by a script that has to crawl three different web pages for every single stock to get all of the fundamentals, regularly throwing up at the weird formatting.

As far as I could see, the sources in "What data sources are available online?" are no better than the scraping script I already have. The main problem being that even though some of them provide CSV they still provide one per stock. One file per index I could work with, but one per stock makes far too many files.

Also, they usually are US stocks only. While having information on US stocks is nice, being restricted to them is not.

Furthermore, a source with a CSV giving a list of the stocks with their current price (or yesterday's - I'm not picky) would be nice, too (and, again, not one file per stock) - though utterly useless without a CSV that gives me the fundamental data.

## Answer by MRC89 (score 24)

https://quant.stackexchange.com/a/29624

A friend of mine has created a free source for fundamental financial company data of US listed stocks. All of the data is easily available from https://simfin.com/. Feel free to check it out and send him some feedback, so he can improve the service.

Update 30.07.17: So he has just updated the site and now standardized company statements for over 2000 US equities and financial ratios are available. If you are looking for a bulk data download feel free to reach out to him.

Update 27.05.20: a new version of the bulk download is now available here: https://simfin.com/data/bulk or via the SimFin python API on github: https://github.com/SimFin/simfin

## Answer by Quantopik (score 7)

https://quant.stackexchange.com/a/17318

You can find dataset you need on QUANDL (although some data service is for paying, it is a good data source and not expensive); there are a lot of fundamentals data, surely all you need and you download them in CSV format too. I also know that they provide different frequencies and so even the quarterly frequency.

The only problem is that you have to download data separately in csv files and after put them together since I think they do not provide a full and complete dataset. If you need that kind of service the only sources available are Bloomberg/ Reuters.

## Answer by Raquel003 (score 7)

https://quant.stackexchange.com/a/26044

I'd just like to share that I work at Quandl and noticed this thread. We now have global fundamentals data that can be downloaded in various formats including CSV. Our Global Select Stock Fundamentals database can be found here: https://www.quandl.com/data/RB1 The database covers 75 harmonized financials, ratios and forecasts for 4500+ most liquid global stocks. There's a special focus on Asian and European companies. The database also covers 6 years history and is updated daily. Another source of global fundamentals that we offer is Global Fundamentals data from Mergent here: https://www.quandl.com/databases/MF1 Key features: Fundamentals data providing 50+ fundamental indicators, including derived margins and ratios, for 10,000+ companies across 67 countries as covered by the Russell Global Index. Also includes auditor status for each company. History goes back to 2005. Updated daily.

We'd also like to comment that we're very conscious of our search feature's shortcomings and we're working very hard to improve our search so that users can find the exact data they need more easily.

## Answer by Andrew Carpenter (score 3)

https://quant.stackexchange.com/a/34525

You can get that data from Intrinio in an API call that outputs a CSV download or you can use the Excel add-in to build EXACTLY what you are looking for and save it to CSV- it will update with the latest data each time you open the work book:

You can see from that picture that an Excel add-in is designed to let you put a list of tickers in column A, a list of "tags" across the top row, and then to drag formulas down with relative references to pull in the data. You can add more tickers or tags to get any fundamentals you want (revenue, EPS, debt, etc).

The CSV download looks like this- you just paste it into your browser and you will download the information:

```
http://api.intrinio.com/prices.csv?ticker=AAPL
```

That syntax will download Apple's price history, or you can download Apple's total revenue to CSV:

```
https://api.intrinio.com/historical_data?identifier=AAPL&item=totalrevenue&start_date=2014-01-01&end_date=2015-01-01
```

The problem with a CSV download for what you are looking for is that you are putting 3 dimensional data (ticker, tag, date) into a 2 dimensional format (rows, columns). It's better to put group different time periods in different spreadsheets or tabs in a single spreadsheet if you want to work in a 2D medium like Excel. For example:

As you can see in this example, I can use the add-in to adjust the time period- in this case I'm pulling daily marketcap, but I could also get yearly, quarterly, ttm, etc. Getting this in 3D, so I'm pulling marketcap AND other metrics for multiple tickers and multiple time periods is not a thing with CSV downloads.

You can use this Excel add-in for free depending on how much data you need in a day and you can use the CSV download functionality to get the data you want, just not in a single CSV. Let me know if I missed any of your requirements- you can definitely get unique identifiers for the stocks as well if you don't want to use the ticker symbols.

## Answer by William Tard (score 2)

https://quant.stackexchange.com/a/60202

All the other answers are either paid services or don't provide the data in a very user-friendly way.

I would use graphfundamentals.com, it's free and provides all the quarterly fundamentals of a stock sourced directly from the SEC filings.

To get the information into an Excel, you can just search the company you are looking for, select the fields you want, and then copy and past the data table that it displays.

## Answer by phdstudent (score 1)

https://quant.stackexchange.com/a/18818

If paying for it is not an issue you should get CRSP dataset which is available on Wharton Research Data Services. I think the only thing you can't do is search by ISIN. However, you do can get all stocks of an index in a single file.

Also you can search by ticker, permno, permco, secid, etc.

## Answer by Christopher Lewis (score 1)

https://quant.stackexchange.com/a/25518

I've spent a fair amount of time with the type of fundamentals data you are looking for, and I am not aware of any site or provider that meets all of your criteria. Specifically, I am not aware of a provider that provides multi-company fundamentals data, in CSV format, retrievable at an ISIN-addressed URL.

Given the above, if you are willing to build the URL interface you desire, you can acquire all of the raw fundamentals data you are looking for by using S&P CapitalIQ's Xpressfeed product with the appropriate data packages. They provide fundamentals on global companies, indexable by the ISIN of an issued security, and there is a package that provides information on index constituents. Some of the data is delivered in CSV format, but other portions are delivered in a custom text format. All of the data can easily be loaded into a database, assuming your familiar with relational databases. If you were willing to go this route, you might find that after loading all of the data in a database, you don't really need the URL interface you described.

Be warned, given it's price, these are not products targeted at individuals (I don't know what you mean by "non-institutionalized"), and you're not going to find all the details you want at the above link; you're going to have to talk to a sales representative.

## Answer by michael engmann (score 0)

https://quant.stackexchange.com/a/25552

Sage Data Service - www.sagedataservice.com can provide the raw fundamental data you are looking for.

All U.S. stocks are covered with 7 years of quarterly history and an additional 5 years of yearly history. The price of this offering is substantially below that offered by the big vendors. They don't offer ISIN codes. These codes are available at www.isin.org for a reasonable price.

API's and FTP are offered for downloading at Sage Data Service.

## Answer by Judo (score 0)

https://quant.stackexchange.com/a/59266

I used Intrinio in the past and it is a very solid source although I think it is only via API and doesn't provide CSV downloads.

For CSV downloads you could try financialDatadb.

You should always request a sample before purchasing as the quality for this type of data varies enormously. As a quick test, I always check the quarterly cash flow statements as these usually need to be calculated by the provider and are the most unreliable of the three accounts (Bal Sheet, Income Statement and CashFlow Statement).

## Answer by Lars Wissler (score 0)

https://quant.stackexchange.com/a/66148

I work at Leeway, and we offer API access to global stock data (quotes and fundamentals). You can find the documentation here: https://leeway.tech/data-api. We cannot offer the data for free, but it is certainly cheaper than typical alternatives like Bloomberg.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.