etf_id), the portfolio it invests through (portfolio_id), and its exchange listings — and different datasets are keyed to different grains. Every ETF endpoint accepts an etf_id, a ticker, an ISIN or a CUSIP as the identifier.
Plan: Fund · Credits: 1 per call
What You Can Use ETF Identifiers For
Resolve a ticker a user typed into a stable internal id before storing it. Detect that two tickers are share classes of the same portfolio and must not be double-counted. Follow a fund across a ticker change, because former tickers and former names are kept on the record. Join an ETF to its SEC registration throughcik, sec_series_id and sec_class_id.
The Three ETF Grains
etf_id identifies the share class, for example E000011. NAV, shares outstanding, net assets, fees, splits and distributions are all share-class facts and are keyed here.
portfolio_id identifies the portfolio, the pool of securities the share class owns a slice of. Holdings, classification labels and exposure are portfolio facts. Several share classes can sit on one portfolio, mutual-fund siblings included, and they share those rows.
The listing carries the ticker, the exchange and the trading currency. A fund can have more than one listing, so a ticker is not a primary key.
series_class_count says how many share classes sit on the portfolio, and is_sole_class is true when only one does. When more than one does, a portfolio-level asset figure is not that share class’s size — VTI’s portfolio is roughly 3.3 times its share class.
Key ETF Identifier Fields
etf_id and portfolio_id are FocusAlpha identifiers. ticker, exchange and currency describe the primary listing, and listings carries every listing. isin and cusip are the standard security identifiers for the share class. cik, sec_series_id and sec_class_id are the fund’s SEC registration identifiers. former_tickers and former_names carry the record’s own history. active is false when the newest fetch reports the fund as inactive or delisted.
How ETF Identifier Resolution Works
Identifier resolution is exact and most-specific first. A value matchingE or M followed by six digits is read as an etf_id. A twelve-character value in ISIN shape is tried as an ISIN and then as a ticker. Everything else is tried as a ticker and then as a CUSIP.
Ticker lookup is unambiguous or nothing. When a symbol maps to more than one fund, the lookup returns no row rather than guessing, because the listing registry it reads refuses ambiguous symbols by design.
ETF Identifier Sources
Registration identifiers come from SEC filings. Tickers, exchanges and listing currency come from the listing registry. ISIN and CUSIP come from the issuer files and the registration record. Nothing in this dataset is inferred.Search the ETF Registry
Use the ETF search endpoint to find a fund and its identifiers by name, ticker, ISIN or CUSIP. Calling it with no filter and paging withcursor and limit=1000 is the supported way to pull the whole registry as a table.
string
Fund-name substring, case-insensitive, minimum 2 characters.
string
Exact ticker, case-insensitive, resolved at the listing level.
string
Exact ISIN.
string
Exact CUSIP.
boolean
default:"true"
Funds whose newest fetch reports them inactive or delisted are excluded. Pass
false to include them.integer
default:"50"
Rows per page, between 1 and 1000. Page through with
cursor.