Tutorial :Stock ticker symbol lookup API [closed]



Question:

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?


Solution:1

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.


Solution:2

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.


Solution:3

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.


Solution:4

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


Solution:5

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...


Solution:6

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/


Solution:7

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


Solution:8

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


Solution:9

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.


Solution:10

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!


Solution:11

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


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »