Automatically updated CSV lists of US-listed stocks from NASDAQ (grouped by industry), plus a daily S&P 500 constituent list matched against the NASDAQ universe and sorted by market capitalization.
├── tickers/ # General ticker lists
│ ├── all.csv # All US stocks (~5,300+)
│ ├── sp500.csv # Current S&P 500 constituents
│ ├── top_50.csv # Top 50 by market cap
│ ├── top_100.csv # Top 100 by market cap
│ └── top_200.csv # Top 200 by market cap
│
└── by_industry/ # Tickers grouped by industry
├── technology.csv
├── health_care.csv
├── finance.csv
├── uncategorized.csv
└── ... # One file per industry
Data is automatically updated daily at 10:00 UTC (before US market open) via GitHub Actions.
| Column | Description |
|---|---|
symbol |
Stock ticker symbol (e.g., AAPL) |
name |
Company name |
price |
Last market price |
marketCap |
Market capitalization (USD) |
volume |
Trading volume |
industry |
Sector/industry |
All files are sorted by market cap (largest first).
tickers/all.csv,tickers/top_50.csv,tickers/top_100.csv,tickers/top_200.csv, andby_industry/*.csvare generated from the NASDAQ Stock Screener API.tickers/sp500.csvuses Wikipedia only for S&P 500 membership and then matches those symbols back to NASDAQ rows for the output fields.tickers/sp500.csvcurrently contains all matched constituent tickers, which can be more than 500 rows because the index can include multiple share classes.
Other people can use this repo in a few simple ways:
- Consume the CSVs directly from the raw GitHub URLs without cloning the repository.
- Use the generated files as static datasets in scripts, notebooks, dashboards, or screeners.
- Read only the specific file you need, such as the full list, the S&P 500 list, or an industry slice.
Common starting points:
tickers/all.csv: all US tickers in this datasettickers/sp500.csv: current S&P 500 constituent tickerstickers/top_50.csv,tickers/top_100.csv,tickers/top_200.csv: largest names by market capby_industry/*.csv: sector-grouped subsetsby_industry/uncategorized.csv: rows where NASDAQ does not provide a sector value
Raw GitHub URL examples:
https://raw.githubusercontent.com/Ate329/top-us-stock-tickers/main/tickers/all.csv
https://raw.githubusercontent.com/Ate329/top-us-stock-tickers/main/tickers/sp500.csv
https://raw.githubusercontent.com/Ate329/top-us-stock-tickers/main/tickers/top_50.csv
https://raw.githubusercontent.com/Ate329/top-us-stock-tickers/main/by_industry/technology.csv
Example with Python:
import pandas as pd
df = pd.read_csv(
"https://raw.githubusercontent.com/Ate329/top-us-stock-tickers/main/tickers/sp500.csv"
)
print(df.head())Example with the standard library:
import csv
import urllib.request
url = "https://raw.githubusercontent.com/Ate329/top-us-stock-tickers/main/tickers/top_50.csv"
with urllib.request.urlopen(url) as response:
rows = list(csv.DictReader(line.decode("utf-8") for line in response))
print(rows[0])python -m pip install -r requirements.txt
python update_tickers.py- NASDAQ provides the output fields used in every generated CSV:
symbol,name,price,marketCap,volume,industry. - Wikipedia is used only to determine current S&P 500 membership.
- Symbol normalization is required for some share classes, such as
BRK.B<->BRK/BandBF.B<->BF/B. - The GitHub Actions workflow runs the update automatically on weekdays.