Skip to main content

Finding Ticker Symbols

Finding the ticker symbol, security identifier, the sector, and other metadata is easy if you know where to look. This guide is intended to introduce some methods for searching, screening, and discovery.

note

For maximum coverage and functionality, install OpenBB with [all] packages.

The examples on this page will assume that the OpenBB Platform has been installed, the environment is active, and it has been imported into a Python session.

from openbb import obb

If the installation is fresh, or an extension was just installed, the Python interface will need to be rebuilt. It will only take a few moments to complete.

The simplest way to find tickers is with a basic text query.

Search Nasdaq

Details
obb.equity.search("JPMorgan", provider="nasdaq").to_df().head(3)
symbolnamenasdaq_tradedexchangemarket_categoryetfround_lot_sizetest_issuefinancial_statuscqs_symbolnasdaq_symbolnext_shares
0AMJBJPMorgan Chase & Co. Alerian MLP Index ETNs due January 28, 2044YPY100NAMJBAMJBN
1BBAGJPMorgan BetaBuilders U.S. Aggregate Bond ETFYPY100NBBAGBBAGN
2BBAXJPMorgan BetaBuilders Developed Asia Pacific-ex Japan ETFYZY100NBBAXBBAXN

Search Cboe

Details
obb.index.search("SPX", provider="cboe").to_df().tail(5)
symbolnamedescriptiondata_delaycurrencytime_zoneopen_timeclose_timetick_daystick_frequencytick_period
32SPXVIVPROSHARES S&P 500 EX-HEALTH CARE ETFPROSHARES S&P 500 EX-HEALTH CARE ETF15USDAmerica/Chicago08:00:0016:00:00MonToFriCRegular
33VIX1DCboe 1-Day Volatility Index®Estimates expected volatility by aggregating the weighted prices of P.M.-settled S&P 500 Index (SPX℠) puts and calls over a wide range of strike prices.15USDAmerica/Chicago08:00:0016:00:00MonToFriCRegular
34VIX3MCboe S&P 500 3 Month Volatility IndexThe Cboe 3-Month Volatility Index (VIX3M) is designed to be a constant measure of 3-month implied volatility of the S&P 500? (SPX) Index options.15USDAmerica/Chicago08:00:0016:00:00MonToFriCRegular
35WPUTCboe S&P 500 One-Week PutWrite IndexTracks the value of a portfolio that overlays a short weekly SPX put on one-month Treasury bills15USDAmerica/Chicago08:00:0016:00:00MonToFriCRegular
36XSPAMMini SPX Index (AM Settlement)Mini SPX Index (AM Settlement)15USDAmerica/Chicago08:00:0016:00:00MonToFriCRegular

Search ETFs

Details
obb.etf.search("gold", provider="tmx").to_df().iloc[-5:]
VALT.BVALT.UXGDZGDZJG
nameCI Gold Bullion FundCI Gold Bullion FundiShares S&P/TSX Global Gold Index ETFBMO Equal Weight Global Gold Index ETFBMO Junior Gold Index ETF
short_nameVALT.B:CACI Gold BullioniShares S&P/TSXBMO Equal WeightBMO Junior Gold
inception_date2021-03-172021-01-062001-03-232012-11-142010-01-19
issuerCI Global Asset ManagementCI Global Asset ManagementRBC iSharesBMO ETFBMO ETF
investment_styleGoldGoldMid Cap GrowthMid Cap BlendSmall Cap Blend
esgFalseFalseFalseFalseTrue
currencyCADUSDCADCADCAD
unit_price27.2320.2515.1565.357.9
close27.3120.2215.1563.958.1
prev_close27.3520.2615.4465.359.16
return_1m0.0008210000000000001-0.012248000000000002-0.080416-0.077245-0.052842
return_3m-0.0108620.027784-0.023677-0.0093520000000000010.000172
return_6m0.0567060000000000060.041046-0.082551-0.07498-0.048376
return_ytd-0.003618-0.007048-0.074745-0.067335-0.04167099999999999
return_1y0.066893000000000010.06554299999999999-0.129462-0.0836-0.08241899999999999
beta_1y0.579580.7256250.3722250.4691850.433886
return_3ynan0.030979999999999997-0.033076-0.021792-0.028114
beta_3y0.6812450.6997660.5150240.6718060.654367
return_5ynannan0.0765590.089202999999999990.068623
beta_5y-0.0086130.2337210.7383290.9972671.103204
return_10ynannan0.0446969999999999940.055850.041349
beta_10y0.6333140.6333140.384280.4454040.452332
beta_15ynannan0.395464nannan
return_from_inception0.08311199999999999nan0.069155-0.006563-0.022995
avg_volume430690456399436511
avg_volume_30d14284747119445334171491
aum14976500.028147500.0986265000.041396935.052271541.0
pe_rationannan26.443617.228526.8283
pb_rationannan1.9091.38911.531
management_fee0.001550.001550.00609999999999999950.00550000000000000050.0055000000000000005
mernannan0.00609999999999999950.00620.0060999999999999995
distribution_yield0.0153470.0161450.0162129999999999980.0083050.009537
dividend_frequencyAnnuallyAnnuallySemi-AnnuallyAnnuallyAnnually
beta_20ynannan0.560996nannan

Search the SEC

Details

Use an empty string, "", to return the complete list - over 10,000.

all_companies = obb.equity.search("", provider="sec")

len(all_companies.results)
Out: 10840

The SEC sorts this list by market cap. Applying the to_df() method to all_companies will show Apple on top

all_companies.to_df().head(10)
symbolnamecik
AAPLApple Inc.320193
MSFTMICROSOFT CORP789019
GOOGLAlphabet Inc.1652044
AMZNAMAZON COM INC1018724
NVDANVIDIA CORP1045810
METAMeta Platforms, Inc.1326801
BRK-BBERKSHIRE HATHAWAY INC1067983
TSLATesla, Inc.1318605
LLYELI LILLY & Co59478
VVISA INC.1403161
tip

This endpoint can be used to map a ticker symbol to a CIK number.

Find an Institution

Some reporting companies, like investment trusts and insurance companies, do not have a ticker symbol directly associated with them. Filers in the US will have a CIK number, used to retrieve documents from the SEC.

obb.regulators.sec.institutions_search("Berkshire Hathaway").to_df()
namecik
BERKSHIRE HATHAWAY ENERGY CO0001081316
BERKSHIRE HATHAWAY FINANCE CORP0001274791
BERKSHIRE HATHAWAY HOME STATE INSURANCE CO.0000829771
BERKSHIRE HATHAWAY INC /DE/0000109694
BERKSHIRE HATHAWAY INC/DE0000109694
BERKSHIRE HATHAWAY INC0001067983
BERKSHIRE HATHAWAY LIFE INSURANCE CO OF NEBRASKA0001015867
LMZ & BERKSHIRE HATHAWAY CO0001652795

Find a Filing

Search for filings by CIK or ticker symbol.

homestate_filings = obb.equity.fundamental.filings(cik="0000829771", provider="sec")

homestate_filings.to_df().iloc[-1]
2023-11-14
type13F-NT
linkhttps://www.sec.gov/Archives/edgar/data/0000829771/000095012323010929/xslForm13F_X02/primary_doc.xml
report_date2023-09-30
accepted_date2023-11-14 16:15:06+00:00
act34
primary_doc_description
primary_docxslForm13F_X02/primary_doc.xml
accession_number0000950123-23-010929
file_number028-02226
film_number231406391
is_inline_xbrl0
is_xbrl0
size2960
complete_submission_urlhttps://www.sec.gov/Archives/edgar/data/0000829771/0000950123-23-010929.txt
filing_detail_urlhttps://www.sec.gov/Archives/edgar/data/0000829771/0000950123-23-010929-index.htm

Or, search by form type.

obb.equity.fundamental.filings("AAPL", type="4", provider="sec").to_df().iloc[-1]
2023-11-14
type4
linkhttps://www.sec.gov/Archives/edgar/data/0000320193/000032019323000109/xslF345X05/wk-form4_1700004649.xml
report_date2023-11-10
accepted_date2023-11-14 18:31:09+00:00
primary_doc_descriptionFORM 4
primary_docxslF345X05/wk-form4_1700004649.xml
accession_number0000320193-23-000109
is_inline_xbrl0
is_xbrl0
size5066
complete_submission_urlhttps://www.sec.gov/Archives/edgar/data/0000320193/0000320193-23-000109.txt
filing_detail_urlhttps://www.sec.gov/Archives/edgar/data/0000320193/0000320193-23-000109-index.htm

Screen Markets

Details

Screeners provide a targeted search, a tool for comparison and discovery. Find stocks from around the world with the screener endpoint, and the openbb-fmp provider.

Find Stocks From India

results = obb.equity.screener(country="IN", provider="fmp").to_df()
len(results)
Out: 1821

Search by Sector

results = obb.equity.screener(country="IN", sector="Financial Services", provider="fmp").to_df()
len(results)
Out: 190
results.iloc[0]
symbolHDFCBANK.NS
nameHDFC Bank Limited
market_cap11344796293939
sectorFinancial Services
industryBanks—Regional
beta0.714285
price1505.1
last_annual_dividend19.0
volume11850413
exchangeNSE
exchange_nameNational Stock Exchange of India
countryIN
is_etfFalse
actively_tradingTrue

Search by Industry

results = obb.equity.screener(country="IN", industry="manufacturing").to_df()
len(results)
Out: 119
results.iloc[0]
symbolPAGEIND.NS
namePage Industries Limited
market_cap418222172840
sectorConsumer Cyclical
industryApparel Manufacturing
beta0.462
price37495.6
last_annual_dividend300.0
volume12166
exchangeNSE
exchange_nameNational Stock Exchange of India
countryIN
is_etfFalse
actively_tradingTrue

Search by Exchange

Some countries, like America, have multiple exchanges. Narrow the search by combining two or more parameters. The example below finds the companies listed on the American Stock Exchange (AMEX) that are domiciled in China.

obb.equity.screener(exchange="amex", country="CN").to_df()
symbolnamemarket_capsectorindustrybetapricevolumeexchangeexchange_namecountryis_etfactively_trading
AMBOAmbow Education Holding Ltd.4041842Consumer DefensiveEducation & Training Services0.4480.1425203994AMEXAmerican Stock ExchangeCNFalseTrue
ITPIT Tech Packaging, Inc.2945282Basic MaterialsPaper & Paper Products-0.10.292614954AMEXAmerican Stock ExchangeCNFalseTrue
DXFDunxin Financial Holdings Limited1291625Financial ServicesCredit Services1.6320.3252829238AMEXAmerican Stock ExchangeCNFalseTrue
CPHIChina Pharma Holdings, Inc.1024379HealthcareDrug Manufacturers—Specialty & Generic0.8750.0896539863AMEXAmerican Stock ExchangeCNFalseTrue

Filter by Metric

Applying some filters refines and targets the search. The example below finds listing on the NYSE domiciled in the USA, with a market cap between $100-300 billion, and exhibiting a beta value of less than 0.5

obb.equity.screener(
exchange="nyse",
mktcap_min=100000000000,
mktcap_max=300000000000,
country="us",
beta_max=0.5,
provider="fmp",
).to_df()
symbolnamemarket_capsectorindustrybetapricelast_annual_dividendvolumeexchangeexchange_namecountryis_etfactively_trading
MRKMerck & Co., Inc.258192673024HealthcareDrug Manufacturers—General0.375101.752.926760568NYSENew York Stock ExchangeUSFalseTrue
VZVerizon Communications Inc.152314546478Communication ServicesTelecom Services0.39136.232.6614960968NYSENew York Stock ExchangeUSFalseTrue

Get Available Indices

Details

List all indices from a source with:

indices = obb.index.available(provider="yfinance").to_df()

len(indices)
Out: 274

Filter the list down by querying the DataFrame.

indices[indices["name"].str.contains("ASX 200")]
namecodesymbol
S&P/ASX 200 Index (AUD)au_asx200^AXJO
S&P/ASX 200 Energy Sector Index (AUD)au_energy^AXEJ
S&P/ASX 200 Resources Sector Index (AUD)au_resources^AXJR
S&P/ASX 200 Materials Sector Index (AUD)au_materials^AXMJ
S&P/ASX 200 Industrials Sector Index (AUD)au_industrials^AXNJ
S&P/ASX 200 Consumer Discretionary Sector Index (AUD)au_discretionary^AXDJ
S&P/ASX 200 Consumer Staples Sector Index (AUD)au_staples^AXSJ
S&P/ASX 200 Health Care Sector Index (AUD)au_health^AXHJ
S&P/ASX 200 Financials Sector Index (AUD)au_financials^AXFJ
S&P/ASX 200 A-REIT Industry Index (AUD)au_reit^AXPJ
S&P/ASX 200 Info Tech Sector Index (AUD)au_tech^AXIJ
S&P/ASX 200 Communications Sector Index (AUD)au_communications^AXTJ
S&P/ASX 200 Utilities Sector Index (AUD)au_utilities^AXUJ
tip

With the openbb-yfinance extension, index time series can be loaded using the ticker symbol or short code. Non-American indices have a code beginning with the two-letter country code.

(
obb.index.price.historical("au_utilities", provider="yfinance").to_df().tail(1)
== obb.index.price.historical("^AXUJ", provider="yfinance").to_df().tail(1)
)
dateopenhighlowclosevolume
2023-11-17TrueTrueTrueTrueTrue

The examples above show demonstrate the most basic ways to find ticker symbols with the OpenBB Platform. Create your own custom scripts for discovery by combining these with other methods.