Stock ticker symbol lookup API [closed]
Asked Answered
T

11

104

Is there any sort of API that just offers a simple symbol lookup service? i.e., input a company name and it will tell you the ticker symbol? I've tried just screen-scraping Google Finance, but after a little while it rate limits you and you have to enter a CAPTCHA. I'm trying to batch-lookup about 2000 ticker symbols. Any ideas?

Tiv answered 19/5, 2009 at 23:3 Comment(6)
No better luck with Yahoo Finance?Blocky
You need to add a delay between lookups. Say 5 seconds.Occipital
This script might be useful: github.com/kevin91nl/scrape-ticker-symbolsInhabited
I did a recent evaluation of available trading APIs. strategic-options.com/insight/…Minded
This one does exactly what you want and it is updated daily rapidapi.com/logicione/api/…Woolfell
I use github.com/portfolioplus/pytickersymbols the package offers an offline collection of many stock symbols.Irremissible
F
106

You can use yahoo's symbol lookup like so:

http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback

Where query is the company name.

You'll get something like this in return:

YAHOO.Finance.SymbolSuggest.ssCallback(
{
    "ResultSet": {
        "Query": "ya",
        "Result": [
            {
                "symbol": "YHOO",
                "name": "Yahoo! Inc.",
                "exch": "NMS",
                "type": "S",
                "exchDisp": "NASDAQ"
            },
            {
                "symbol": "AUY",
                "name": "Yamana Gold, Inc.",
                "exch": "NYQ",
                "type": "S",
                "exchDisp": "NYSE"
            },
            {
                "symbol": "YZC",
                "name": "Yanzhou Coal Mining Co. Ltd.",
                "exch": "NYQ",
                "type": "S",
                "exchDisp": "NYSE"
            },
            {
                "symbol": "YRI.TO",
                "name": "YAMANA GOLD INC COM NPV",
                "exch": "TOR",
                "type": "S",
                "exchDisp": "Toronto"
            },
            {
                "symbol": "8046.TW",
                "name": "NAN YA PRINTED CIR TWD10",
                "exch": "TAI",
                "type": "S",
                "exchDisp": "Taiwan"
            },
            {
                "symbol": "600319.SS",
                "name": "WEIFANG YAXING CHE 'A'CNY1",
                "exch": "SHH",
                "type": "S",
                "exchDisp": "Shanghai"
            },
            {
                "symbol": "1991.HK",
                "name": "TA YANG GROUP",
                "exch": "HKG",
                "type": "S",
                "exchDisp": "Hong Kong"
            },
            {
                "symbol": "1303.TW",
                "name": "NAN YA PLASTIC TWD10",
                "exch": "TAI",
                "type": "S",
                "exchDisp": "Taiwan"
            },
            {
                "symbol": "0294.HK",
                "name": "YANGTZEKIANG",
                "exch": "HKG",
                "type": "S",
                "exchDisp": "Hong Kong"
            },
            {
                "symbol": "YAVY",
                "name": "Yadkin Valley Financial Corp.",
                "exch": "NMS",
                "type": "S",
                "exchDisp": "NASDAQ"
            }
        ]
    }
}
)

Which is JSON and very easy to work with.

Hush... don't tell anybody.

Flush answered 4/11, 2009 at 19:11 Comment(12)
hey is it possible to use wild char in the query? tried % and * but no luck...Martymartyn
this returns a maximum of 10 results in JSON !!!! How can we bypass this limitation of ONLY 10 results ??Gilemette
thank you so much! is there a way to return pure JSON from yahoo finance if the query is a stock symbol instead of a name?Offend
Also looking for a solution to bypass the limit of 10 results. Any ideas?Ula
As of a few days ago, this solution seems to be broken. Yahoo now requires a "region" parameter, and setting it to "US" doesn't make any difference. If anybody has a workaround, I would love to hear it!Dixie
seems like they added 2 additional param,"region" and "lang". try the following d.yimg.com/autoc.finance.yahoo.com/…Duckling
And now it doesn't support fuzzy search anymore, it can only lookup "Exactly" symbol. :( Anyone has the workaround or any hidden parameter to turn on the fuzzy search feature?Areaway
This answer shows how to get the same functionality as before: https://mcmap.net/q/206023/-yahoo-finance-api-stock-ticker-lookup-only-allowing-exact-matchDemonstrable
For anyone else looking for this...Nothing I found was that good and Yahoo's docs suck so I created one: chstocksearch.herokuapp.com/welcomeReadjust
This URL has been changed to: d.yimg.com/aq/…Nigrescent
@VermaJr. where can I find the documentation for this API, in case the URL should change again? How did you know the new URL?Vermiculite
You could do fuzzy search using this rapidapi.com/logicione/api/…Woolfell
S
33

Google Finance does let you retrieve up to 100 stock quotes at once using the following URL:

www.google.com/finance/info?infotype=infoquoteall&q=[ticker1],[ticker2],...,[tickern]

For example:

www.google.com/finance/info?infotype=infoquoteall&q=C,JPM,AIG

Someone has deciphered the available fields here:

http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py

The current price ("l") is real-time and the delay is on par with Yahoo Finance. There are a few quirks you should be aware of. A handful of stocks require an exchange prefix. For example, if you query "BTIM", you'll get a "Bad Request" error but "AMEX:BTIM" works. A few stocks don't work even with the exchange prefix. For example, querying "FTWRD" and "NASDAQ:FTWRD" both generate "Bad Request" errors even though Google Finance does have information for this NASDAQ stock.

The "el" field, if present, tells you the current pre-market or after-hours price.

Scummy answered 23/12, 2009 at 19:24 Comment(4)
Moved to qsb-mac-plugins.googlecode.com/svn-history/r4/trunk/…Goodden
Unfortunately it looks like the Google Finance API is deprecated and will be shutdown on 20 October 2012 developers.google.com/financeTokharian
Yes having a look and google finance is now depricated and not open for business. Given googles track record closing apis I would be very hesitant to base a business or app on it unless you had a contract and sla with themGunrunning
Any new docs? Service still works, Looking for a stock search too :) like yahoo oneHoffmann
C
25

You can send an HTTP request to http://finance.yahoo.com requesting symbols, names, quotes, and all sorts of other data. Data is returned as a .CSV so you can request multiple symbols in one query.

So if you send:

http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn

You'll get back something like:

"MSFT","Microsoft Corp"
"F","FORD MOTOR CO"
"ATT","AT&T"

Here is an article called Downloading Yahoo Data which includes the various tags used to request the data.

Cannibalize answered 19/5, 2009 at 23:31 Comment(4)
Unfortunately, finding the company name from a symbol is easy. I'm looking for a way to automate a batch-lookup of ticker symbols from a list of company names. Google has by far the best search, I can find the symbol for almost any company in my list without having to manually search, but Google has rate-limiting and will give you a 503 error after about 1000 requests.Tiv
not an answer, but useful for the domainMacron
looks like that api usage has legal issues. When opening [Downloading Yahoo Data] one will see a note of Yahoo that using their service in those way is illegalUniversity
You can see the same interface documented at jarloo.com/yahoo_finance. Or search for the original at archive.org.Southing
C
23

The NASDAQ site hosts separate CSV lists for ticker symbols in each stock exchange (NYSE, AMEX and NASDAQ). You need to complete the captcha and get the CSV dump.

http://www.nasdaq.com/screening/company-list.aspx

Circosta answered 6/12, 2010 at 22:25 Comment(0)
A
9

If you didn't want to sign up for a service, I'd probably go back to the exchanges themselves; most of them aren't CAPTCHAed yet...

The symbol lookup page for:

etc...

Ardy answered 19/5, 2009 at 23:33 Comment(2)
Better yet, skip symbol lookup at the exchange sites -- just screen-scrape their full listings into your own local table and do the lookup yourself.Fidelia
@John Pirie: Yeah, that too... :-)Ardy
I
7

Use YQL and you don't need to worry. It's a query language by Yahoo and you can get all the stock data including the name of the company for the ticker. It's a REST API and it returns the results via XML or JSON. I have a full tutorial and source code on my site take a look: http://www.jarloo.com/yahoo-stock-symbol-lookup/

Ideomotor answered 25/11, 2010 at 16:17 Comment(1)
That looks nice but it returns a result with a limit of 10 results. Any chance of getting more?Ula
S
6

Currently, the NASDAQ web site publicly provides CSV files containing bulk listings -- it is broken up by first letter.

http://www.nasdaq.com/screening/companies-by-name.aspx?letter=A&render=download

Stryker answered 11/3, 2011 at 3:34 Comment(0)
F
2

Google Finance has an API - you probably have to apply for a developers key, but at least you'd save yourself the hassle of screen-scraping: http://code.google.com/apis/finance/reference.html

Frampton answered 19/5, 2009 at 23:26 Comment(1)
Google is now depricated an not longer open for businessGunrunning
B
1

Your best bets are probably going with one of the other lookup services (still screen-scraping), and checking whether they don't require CAPTCHAs.

The last appears the least likely to require a CAPTCHA at any point, but it's worth checking all three.

Blocky answered 19/5, 2009 at 23:16 Comment(0)
R
0

Use YQL: a sql-like language to retrieve stuff from public api's: YQL Console (external link)

It gives you a nice XML file to work with!

Riancho answered 18/3, 2010 at 14:42 Comment(0)
B
0

You can use the "Company Search" operation in the Company Fundamentals API here: http://www.mergent.com/servius/

Buoyage answered 2/8, 2010 at 20:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.