http://www.finviz.com/screener.ashx Bottom right, hit the 'export' link. Not sure if it's completely exhaustive but they have ~6430 listed securities, should be a good start considering it's free and takes ~3 seconds.
Thanks, good resource Possible to get historical stock lists also like over last 10 years? Any source for that (Free ofcourse)? I guess CRSP might have that information on payment.
Google here for nasdaq ftp: http://stackoverflow.com/questions/...ete-list-of-ticker-symbols-from-yahoo-finance That's right, nasdaq has a ftp server that allows public logins where you can download a list of all tickers. It updates before the start of each trading day too.
it does? cause last time i tried it-it was full of delisted tickers. not to mention that for OP it would be hard to figure out which one is common stock,etf,adr,fund or whatever. to be honest- i hate how difficult to find such simple information. i mean-not one piece here and another-over there. why it's so hard for them to provide ALL info in one place? it's a f**g exchange and it's really easy for them. one f** click at the end of the day(which also can be automated) like in this nasdaq link-why not to add just few more fields? for example-is it common stock? company address,CUSIP or whatever ID. and so on. nope,you can't have it all.. not on nasdaq,not on SEC . site.assholes from my experience that file from IQ feed is most up to date and accurate(but you have to go thru tens of thousands of tickers and securities). i just import whole list into MS access and retrieve stocks using SQL. which is also pain in ass Thank you for yahoo API idea! i might try it someday. but my previous experience with their YQL was not pleasant. this garbage returns whatever it feels like. same request might return completely different results
My solution to building a database from Yahoo Finance is to just scrape the pages: 1. Go to the sectors page. Scrape the 10 or so Sectors, and obtain the links to each individual Sector page 2. Parse each Sector page, obtaining the name and URL of each Industry in that Sector. 3. Parse each Industry page, obtaining the symbol and name of every US stock in that Industry. After these quick steps, I have a list of the 6,300 US stocks and 950ish ETFs recognized by Yahoo. From there, I get each stock's name, exchange, whether they trade options, shares outstanding, and historical prices. I use Perl with the Furl, HTML::TreeBuilder, and Parallel::ForkManager modules.