I am doing a regression analysis of all companies listed on s&p 500. It requires their 10-k reports. Where can I download all of them once?
Tidyquant also has a nice function tq_get() for getting all sorts of equity data from freely available sources including financial statements.
The API's found on this site http://developer.edgar-online.com/docs allow you to acces historical SEC filings for most securities.
If you are using R then try Quandl package to download the data, there you can find almost every kind of report.
1. Another data provider: Compustat
The canonical source in academic research for the accounting data disclosed in 10-K filings is the Compustat annual database. The Compustat quarterly database contains information listed in 10-Qs and 10-Ks (and can be a bit trickier to work with).
I have no idea on the cost of those products.
2. Downloading 10-Ks and extracting data yourself...
I would NOT recommend this. It's a huge programming project. (I did it myself once to extract share repurchase data from the HTML of 10-Q, 10-K filings and it took months and months of testing.)