You can get a list of tickers for free using Finnhub's API.
You just need to request a free API key.
Check out the following documentation: https://finnhub.io/docs/api#stock-symbols
#pip install finnhub-python
import pandas as pd
import finnhub
#list of available exchanges
df=pd.read_html("https://docs.google.com/spreadsheets/d/1I3pBxjfXB056-g_JYf_6o3Rns3BV2kMGG1nCatb91ls/edit#gid=0")
df1=df[0]
exc=df1.loc[:,"A"].dropna()
exclist=[]
for i in exc:
exclist.append(str(i))
exclist=exclist[1:] #take out "name" from the list
#retrieve tickers from every exchange available
tickers=[]
finnhub_client = finnhub.Client(api_key="c46qn9iad3iagvmhdk7g")
for exchange in exclist:
listofdicts=finnhub_client.stock_symbols(exchange)
for dicts in listofdicts:
tickers.append(dicts['symbol'])
print("You just got a list of %s tickers worldwide." % len(tickers), tickers)