Download all stock symbol list of a market [closed]
Solution 1:
Exchanges will usually publish an up-to-date list of securities on their web pages. For example, these pages offer CSV downloads:
- http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ&render=download
- http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download
- http://www.asx.com.au/asx/research/ASXListedCompanies.csv
NASDAQ Updated their site, so you will have to modify the URLS:
NASDAQ
- https://old.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download
AMEX
- https://old.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download
NYSE
- https://old.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download
Depending on your requirement, you could create the map of these URLs by exchange in your own code.
Solution 2:
There does not seem to be a straight-forward way provided by Google or Yahoo finance portals to download the full list of tickers. One possible 'brute force' way to get it is to query their APIs for every possible combinations of letters and save only those that return valid results. As silly as it may seem there are people who actually do it (ie. check this: http://investexcel.net/all-yahoo-finance-stock-tickers/).
You can download lists of symbols from exchanges directly or 3rd party websites as suggested by @Eugene S and @Capn Sparrow, however if you intend to use it to fetch data from Google or Yahoo, you have to sometimes use prefixes or suffixes to make sure that you're getting the correct data. This is because some symbols may repeat between exchanges, so Google and Yahoo prepend or append exchange codes to the tickers in order to distinguish between them. Here's an example:
Company: Vodafone
------------------
LSE symbol: VOD
in Google: LON:VOD
in Yahoo: VOD.L
NASDAQ symbol: VOD
in Google: NASDAQ:VOD
in Yahoo: VOD
Solution 3:
You can download a list of symbols from here. You have an option to download the whole list directly into excel file. You will have to register though.
Solution 4:
This may be old, but... if you change the link in google stock list as below:
https://www.google.com/finance?q=%5B(exchange%20%3D%3D%20%22NASDAQ%22)%5D&restype=company&noIL=1&num=30000
- note for the noIL=1&num=30000
It means, starting for row 1 to 30000. It shows all results in one page.
You may automate it using any language or just export the table to excel.
Hope it helps.