For my finance textbook, I would like to recommend data sources that students can afford. Obviously, Compustat is not affordable.

Are there any low-cost or free data bases that offer basic historical financial statements on US (and maybe non-US) companies in panel format? I am thinking of just about 10-20 key items for at least 20 years for all US corps: Assets, Current Assets, Liabilities, Current Liabilities, Long-Term Debt, Working Capital, Revenues, Gross Profit, Operating Income, Interest Expense, Income Tax Expense, Net Income, CF Operations, CF Investing, and CF Financing. Plus a ticker, a period date, and a release date.

Presumably, this could even be scraped from Edgar, but I would rather not have to do this myself.

Pointers appreciated.





  • Costs: free
  • Data provided: income statements, balance sheets, cash flow statements, EOD price, volume, splits, dividends
  • Data format: JSON
  • Data access method: RESTful API + websockets (real-time)
  • Misc.: excellent documentation, very active github issue tracking
  • Drawbacks: historical data goes back by only 2 years



  • Costs: $10/month
  • Data provided: quarterly/yearly income statements, balance sheets, cash flow statements, EOD price, dividends
  • Data format: JSON
  • Data access method: RESTful API
  • Misc.: sign up is very easy, documentation is good
  • Drawbacks: I detected missing EOD prices for historical months

InteractiveBrokers API


Note: requires to open a trading account with them. Approval times vary, and might not be suitable to students.

  • Costs: sign-up free.
  • Data provided: everything (including dividends)
  • Data format: depends on the client library (C++, Java, Python)
  • Data access method: only via libraries (C++, Java, Python), no RESTful API. (personal opinion: only suitable for people with a very strong developer background).
  • Misc.: documentation isn't very good.
  • Drawbacks: taking approval time, and time to learn their technical nomenclature into account, I don't recommend using it for student projects. It's good for professionals.



  • Costs: $29/month to access 5 years worth of data
  • Data provided: 14,000 companies and 150 indicators (alternative data is also provided, but costs more)
  • Data format: JSON, CSV, or library specific (R,Python, Matlab, Excel)
  • Data access method: RESTful API, and via libraries
  • Misc.: documentation + support is very good, excellent data quality
  • Drawbacks: the more data you want to access, the more you need to pay.

I developed software using all of the above services. eodhistoricaldata.com is my favourite so far.

  • $\begingroup$ can you comment on availability of dividend info? without it, it is impossible to calculate rates of return. $\endgroup$ – ivo Welch Dec 28 '18 at 21:30
  • $\begingroup$ Yes, all three services provide dividend information. $\endgroup$ – Jan Dec 28 '18 at 23:16

I have compiled a pretty exhaustive list on my website: http://the-world-is.com/blog/resources/general-investor-resources/

Particularly, look under the following headings: "Tools" >> "Research Platforms" and, "Data" >> "Fundamental Financial Data"

There are a lot resources there to get you started. Personally, I use Portfolio123 which might also be appropriate for your purposes. It has several panel-based displays of financial data, some of which are customizable. Moreover, its core data holdings are actually derived from Compustat yet it is much more affordable than purchasing a license to Capital IQ.

In this business, you often get what you pay for. I believe that paying a little coin for premium data is well worth the cost, especially since the costs have come down significantly for retail investors.

  • $\begingroup$ yes, I think one does get what one pays for. this is very useful for students that need relatively little and pay relatively little. PS: I will also be glad to reference your list in my book! $\endgroup$ – ivo Welch Jul 12 '17 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.