Skip to main content
By Fruit Stand Team · November 3, 2026 · Guides To get every US stock and ETF ticker in SQL, query a security master table filtered to active stocks and ETFs. In Fruit Stand’s Historical Stock Prices listing on Snowflake, that’s one query against security_vw, which returns about 18,200 active stocks and 5,960 ETFs, each with its exchange, ISIN and status. The rest of this post shows that query, what’s in the list by exchange, and how to narrow it to what you need, such as exchange-listed stocks only or tickers that traded recently.

The query

Don’t have stock data in Snowflake yet? How to Get Historical Stock Prices into Snowflake covers the three ways to load it, from a Marketplace listing to your own pipeline.
asset_class is stock, etf or fund (about 25,700 mutual funds are in the same table). is_inactive marks securities that have stopped trading, with the date in inactive_date, so leaving out that filter adds the 455 inactive stocks and ETFs we still carry.

What’s in the list

Counts of active securities as of November 2, 2026: The single biggest group is OTC stocks: about 8,450 on the Pink market alone. Most lists you find online stop at exchange-listed stocks, which is about 6,500 here. Whether you want OTC securities depends on the job.

Narrowing the list

Exchange-listed stocks only, leaving out OTC:
Tickers that actually traded recently, which drops securities that are listed but quiet:
Run on November 2, 2026, it returned 18,282 stocks and ETFs with volume in the previous seven days. Preferred shares use a -P suffix in code, such as JPM-PC. Filter with code like '%-P%' to include or exclude them.

Things to watch

  • Tickers change. Companies rename and reuse symbols. Join on isin where you can, and treat code as the current ticker rather than a permanent ID.
  • Share classes. BRK-A and BRK-B, GOOGL and GOOG are separate rows. Count companies and tickers separately.
  • Duplicates across formats. Some preferred shares appear in more than one ticker format. If you count preferreds, check for pairs such as JPM-P-C and JPM-PC.
  • Free lists go stale. CSV ticker lists from websites are snapshots. A table that updates daily picks up new listings and delistings without another download.

Where else to get a ticker list

  • Exchange symbol directories. Nasdaq publishes daily symbol directory files covering Nasdaq-listed and other exchange-listed securities. They’re free and authoritative for exchange listings but don’t include OTC stocks or price history.
  • SEC company tickers file. The SEC publishes a JSON file mapping tickers to company CIKs. It’s useful for joining to filings, but it’s keyed by company, not by every share class or ETF.
  • A Marketplace listing. The list above comes with daily prices for every ticker in the same database, so the list and the data never drift apart.

F.A.Q.

About 6,500 stocks trade on the main US exchanges (Nasdaq, NYSE and NYSE American) in our data, plus about 11,350 on OTC markets. Counts differ by source depending on whether OTC stocks, preferred shares and share classes are included.
About 5,960 active ETFs in our data, most listed on NYSE Arca (about 2,490), Cboe BZX (about 1,540) and Nasdaq (about 1,200).
The table keeps securities marked inactive, but the Historical Stock Prices listing doesn’t carry full history for delisted companies. For survivorship-bias-free research, CRSP is the standard source.
Yes. Use asset_class = 'fund' for about 25,700 active US mutual funds, with daily NAV in the same price table.
To get the full list with daily prices for every ticker, start a free 30-day trial of the Historical Stock Prices listing on the Snowflake Marketplace. The schema is in the dataset docs. Questions? Reach out at contact@fruitstand.dev.