Finding Global Equity Financial Statements and Data Feeds
Summary
The discussion surveys possible sources for company financial statements, prompted by difficulty finding balance-sheet data for a Swedish listed company through common finance sites. One response reports using Morningstar exports for income statements, balance sheets, and cash-flow data, while raising uncertainty about whether scraping is permitted. Other replies point to MarketWatch for some company financials and to a service offering US company and industry datasets in CSV format.
The thread therefore provides leads on data access and formats, rather than a systematic comparison of coverage, accuracy, or licensing. A separate reply describes historical Google Finance price retrieval and a browser-based way to scrape JavaScript-rendered pages; these concern prices and scraping technique, not financial statements. Availability, terms of use, and current operation of the named sources are not established, so users would need to verify them before relying on or integrating the data.
Key ideas
- Morningstar is described as offering financial statement exports in CSV format.
- MarketWatch is cited as a source for financial statements for some companies.
- A separate service is described as providing US company and industry data in CSV form.
- The discussion raises uncertainty about whether scraping a data provider is permitted.
- A reply also discusses historical prices and browser automation, which are distinct from fundamental financial data.
Tags
Full text
# Data sources for financials of global equities
# Data sources for financials of global equities
I looked through the master list of data sources but could not find any data sources for financial data of global equities. An example would be the balance sheet of, say, `STO:HM-B`. The company can be found on both Yahoo Finance and Google Finance but they do not give any financial data.
Morningstar.com is the only online site I've found so far that even has the data, but I suspect that isn't free data to use in applications. Also, even if I were to want to scrape that data it would be near impossible since it appears to be JavaScript generated post-page load.
What I'm hoping to find is something in XML format or in a format I can myself translate to XML. Even HTML is fine, just as long as it's one site for all financials for most global equities.
## Answer by Doggie52 (score 1, accepted)
https://quant.stackexchange.com/a/10195
Morningstar is the best one I've found so far. It has all the data required and, as I've recently found, can export it quite easily to CSV. The key is to send the right parameters to `/ajax/ReportProcess4CSV.html`. In what scenarios scraping this is allowed, I do not know. I will endeavor to find out once I start building this application.
For anyone looking to do the same thing, the following parameters are the ones I use:
```
$defaults = array(
't' => '', // The ticker
'reportType' => '', // 'is', 'bs' or 'cf' depending on what you want
'period' => 12,
'dataType' => 'A',
'columnYear' => 5,
);
```
The last three parameters are not there for you to change but simply have to be part of the URL.
## Answer by user1157 (score 2)
https://quant.stackexchange.com/a/10191
Marketwatch has financials for a lot of companies, including H&M: Annual Financials for H&M Hennes & Mauritz AB Series B
## Answer by MonkeyDoug (score 1)
https://quant.stackexchange.com/a/9689
The prices you are looking for can be found at https://www.google.com/finance/getprices?q=HM-B&x=STO&i=60&p=5d&f=d,c,o,h,l&df=cpct&auto=1&ts=1266701290218
URL breakdown, I am lazy so I copied
> q= stock symbol on Google finance x= exchange symbol i= interval (here 60 means 60 sec (1 minute interval)) p= no of period(here 5d denotes 5days of data) f= parameters (day, close, open, high and low) df= difference (cpct is may be in % change ) auto =1, ts = time start…
Source
> http://www.marketcalls.in/database/google-realtime-intraday-backfill-data.html
Javascript page scraping...
This is a tip for dealing with the javascript driven pages when scraping. If you write a scraper in .Net, use a visible or invisible WebBrowser control, suppress errors and allow the page to load. After load, you can force the click state (control.InvokeMember("onclick")) on whatever control you need and you are good.
Below is a snipit in VB:
```
WebB.ScriptErrorsSuppressed = True
WebB.Navigate("http://......")
WaitForPageLoad() 'this is custom, search stackoverflow for this
Dim doc As HtmlDocument = WebB.Document
For Each c As HtmlElement In doc.All
If c.Name = "someelementname" Then
Dim ctrlAll As HtmlElement = doc.All(c.Id)
c.InvokeMember("onclick")
End If
Next
WaitForPageLoad()
```
## Answer by Ali Khosro (score 1)
https://quant.stackexchange.com/a/39724
For free core financial data of any US firm or industry, you can use data.finmint.us.
The following datasets include over 12000 US firms, covering the past 25 years, and updated daily:
- Core Consolidated Data: http://data.finmint.us/sec/cik.csv
- Financial Ratios and Indicators: http://data.finmint.us/indicators/ticker.csv
- Industry and Sector Indicators: http://data.finmint.us/indicators/industryid.csv
Data output is in csv format, easy to view or process or do http call.
> instead of ticker use company's ticker symbol like AAPL for cik use CIK number (assgined by SEC) like 1000228 for industryid use their SIC code of that industry.
data.finmint.us provides more info oh how to use data.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.