Unfortunately there isn't any official source of tickers or method of getting them.
You can use this script link to download tickers but as creator mentioned:
it is not possible to get all the symbols due to limitations set by
Yahoo. About 75%-90% of all symbols are gathered using this script
depending on type.
And it also downloads some no longer existing or inaccessible tickers.
From this site link you can download list of almost all tickers but about 30% of tickers are either in wrong category or aren't working. Checking whether ticker exists is easy because when API returns no data then we can deduce that ticker is incorrect. But checking if category is appropriate is a bit more complicated.
I've filtered tickers from the second site but only ETFs and Mutual Funds, you can find them on my GitHub. Those files contain about 99% of ETFs and Mututal Funds avaiable on Yahoo. I might consider filtering stocks later and then I'll upload them with script too. Be aware that filtering tickers is impossible on one run without for example VPN because Yahoo limits request to about 10k-20k per day and there are about 20k tickers per category and checking each ticker requires 2 requests.