Skip to main content
FocusAlpha ETF Data is a set of datasets describing exchange-traded funds: their identifiers, their daily NAV and shares outstanding, their security-level holdings, their fund flows, their distributions, their prospectus fees, and a holdings-derived classification. Every dataset is built from SEC filings and the issuers’ own published files, and each observation carries the date the issuer attached to it. All of it is available through the FocusAlpha API and MCP.
Plan: Fund · Credits: 1 per call

What an ETF Is in This Data Model

An ETF is three different things at three different grains, and mixing them is the most common source of wrong numbers. The share class is identified by etf_id (for example E000011). NAV, shares outstanding, assets under management, fees, splits and distributions belong to the share class. The portfolio is identified by portfolio_id. Holdings, classification labels and exposure belong to the portfolio. Several share classes — including mutual-fund siblings — can sit on one portfolio and share these rows. The listing carries the ticker, the exchange and the currency. A fund can have more than one listing. When series_class_count is greater than 1, other share classes sit on the same portfolio. A portfolio-level asset figure is therefore not that share class’s size: VTI’s portfolio is roughly 3.3 times the size of the VTI share class.
ETFs are not companies in FocusAlpha. The company registry deliberately excludes funds, so searching the company endpoints for SPY returns nothing. ETF questions go to the ETF endpoints, and those endpoints cannot resolve operating companies.

ETF Datasets

ETF Holdings

Security-level portfolio holdings as reported by the issuer.

ETF NAV and Shares Outstanding

Daily net asset value, shares outstanding, net assets, market price and premium/discount.

ETF Fund Flows

Daily creations and redemptions in currency.

ETF Total Return

A distribution-reinvested NAV series, published separately from price-basis NAV.

ETF Distributions

Declared distribution events with ex, record and pay dates.

ETF Fees

Gross and net expense ratios from the prospectus fee table.

ETF Classification

The wrapper tier and the four-level holdings-derived taxonomy.

ETF Screening

Select funds by label and by measured portfolio characteristics.

ETF Identifiers

Share class, portfolio and listing identifiers, and how to resolve one.

ETF Data Sources

ETF data is assembled from three kinds of primary source. SEC filings supply registration identity (cik, sec_series_id, sec_class_id), the prospectus fee table and prospectus strategy text. Issuer files — the daily holdings and NAV files each sponsor publishes on its own site — supply holdings, NAV, shares outstanding and net assets. Adjudicated corporate-action records supply splits and distributions. Values that FocusAlpha computed rather than read are labelled as such. aum_is_derived says an AUM figure was computed as published NAV multiplied by published shares rather than read from a filing, and a per-value status of derived says the same thing about a NAV row.

Two Cadences in One Dataset

ETF classification labels are recomputed from holdings once a month. The measured columns — AUM, flows, premium/discount, expense-ratio coverage — refresh daily. A fund that changed its portfolio mid-month keeps its old label until the next monthly run, and a newly launched fund can carry a full set of labels while every measured column is still null. See also 13F Institutional Holdings for holdings reported by investment managers rather than by funds, and Company Registry for the operating companies an ETF’s equity holdings link to.