Last active
May 16, 2025 20:07
-
-
Save leftmove/dd9d981c8c37983f61e423a45085e063 to your computer and use it in GitHub Desktop.
Company name to ticker using Yahoo Finance API endpoint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def get_ticker(company_name): | |
yfinance = "https://query2.finance.yahoo.com/v1/finance/search" | |
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' | |
params = {"q": company_name, "quotes_count": 1, "country": "United States"} | |
res = requests.get(url=yfinance, params=params, headers={'User-Agent': user_agent}) | |
data = res.json() | |
company_code = data['quotes'][0]['symbol'] | |
return company_code |
Thank you for this!
I'm currently doing CS50 pset9 Finance. The distribution code only gives the ability to search by Symbol.
I wanted a way to search company name and retrieve the symbol. I tried Alpha Vantage and IEX API but AV would return different symbols and IEX used to work but as of 22 July 2023, started returning random gibberish names.
Using your code, I was able to do what I wanted and this was way cleaner and simpler. Even better, no api key needed for yfinance so I don't need to keep creating new accounts like I did with IEX.
@bruhbruhroblox Thank you very much!
Thanks @leftmove
Working
As of 19.04.2025, it is still working. ๐
Good job @leftmove ๐
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@gpetrone84 works for me.
get_ticker("Tesla")
returns"TSLA"
. The trick is to make sure yourcompany_name
is generic enough. I tried"Tesla Corporation"
and it didn't work.