Rebuilt every trading night. Current files as of Oct 20, 2026.
Open data
74 files: 1,739 stock, 830 bond, 739 leveraged and inverse, 524 buffer, 415 thematic, 376 option-income, 86 alternatives, 69 commodity, 56 spot crypto, 49 allocation, 13 crypto futures or strategy and 4 other ETFs, with holdings books for 3,317 funds. Every figure on this site is published as JSON at a stable address. Figures ETFIQ computes are free to use, including commercially, with attribution to ETFIQ and a link to the page or file you used. Data an issuer publishes, such as a holdings file or a stated NAV, is credited to its source and stays under its owner's terms; each file says which of its figures are which.
How to cite
Name ETFIQ as the source, state the as-of date carried in the file, and link to etfiq.com. For example: ETFIQ, buffer ETFs, data as of Oct 20, 2026, etfiq.com.
The files
Buffer ETFs funds.json Every defined outcome ETF with its published terms and current figures: reference index, buffer, cap, outcome period, index and fund return, remaining cap and downside before the buffer as the issuer publishes them, plus the ETFIQ fields (protection left in index points, buffer used, state). ETFIQ's figures and issuer data: index.json names which fields are ETFIQ's.
Buffer ETFs by outcome period buffer-periods.json Every buffer ETF in one of four groups by the length of its outcome period: annual, quarterly, monthly and laddered. Each laddered fund carries its sleeves at the weights its own Form N-PORT gives, each sleeve's issuer figures, and ETFIQ's weighted cap left, fall before the buffers, protection left and days to the next reset; each monthly fund carries the terms its own prospectus states and the filing they were read from. Rebuilt every trading night. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Income ETFs income.json Every option-income ETF with price, cash distributions and total return over 3 months, 6 months, 1 year, 3 years and since launch, each against its benchmark, with payout frequency, annualized payout rate, trailing twelve month cash and the prospectus expense ratio. ETFIQ's figures and issuer data: index.json names which fields are ETFIQ's.
Thematic ETFs thematic.json Every thematic ETF with its holdings summary, weight already in the S&P 500 and the Nasdaq-100, active share, top ten weight, returns against both indexes, drawdown, fee and active expense ratio, plus a fund-to-fund overlap matrix. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Payout calendar payouts.json Declared, scheduled and estimated distributions per fund, with ex and pay dates, the cadence and the ex-to-pay lag. ETFIQ's figures and issuer data: index.json names which fields are ETFIQ's.
Leveraged ETFs leverage.json Every leveraged and inverse ETF with its stated multiple, the underlying it is levered on, what it returned over each window, what its stated multiple would have produced over the same days, the difference between the two, and the underlying's volatility. Funds in a group sold by more than one issuer also carry the group's shared window. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Return of capital sources.json Issuers' own Rule 19a-1 estimates of what each distribution was made of, with the notice it came from. ETFIQ's figures and issuer data: index.json names which fields are ETFIQ's.
What changed insights.json The computed lines published each trading night, one per finding, with the fund's category and a link. Computed by ETFIQ.
Crypto ETFs crypto.json Every US listed spot crypto ETP with the coin it holds, what the fund returned and what the coin did over exactly the same two trading dates, the difference in percentage points, the compounded gap that is right where the subtraction is not, and how many days the fund closed unchanged. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Crypto ETF terms crypto-terms.json The sponsor's fee, the fee waiver and when it ends, whether the trust stakes, and net assets as of its last balance sheet, for every US listed spot crypto ETP, each with the 10-K, S-1 or 424B3 it was read from. These trusts file no prospectus XBRL, so none of this exists in a structured field anywhere: it is read from the sentence in each filing that states it, and a figure that cannot be checked against the fund's own share count and share price is published as unread rather than estimated. Issuer data, credited to its source.
Alternatives ETFs alternatives.json Every alternatives ETF with the strategy read from its own prospectus and the filing it was read from, 52 weeks of correlation and beta against the S&P 500 (through SPY), the fund's and SPY's average return in the weeks SPY fell and the down-week capture that is their ratio, the fund's total return against BIL over the same weeks, returns against SPY over each window, and the prospectus expense ratio. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Category scores scores.json One score per fund for its own category, each a percentile of a single published figure inside a stated set, with the components, the weights where a score blends two, the raw figure behind each component and the size of the set. No composite across categories. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
ETF screener screener.json One row per covered ETF: fee, net assets, total return over 1 month, 3 months, 1 year and since launch, the 12-month yield, the IQ score where the fund has one, holdings count and top ten weight, money in or out over a day, a week and a month, and the measures its own category adds (protection left and cap left for a buffer ETF, payout coverage for an income ETF, share in the S&P 500 for a theme ETF, gap to the daily multiple for a leveraged ETF, coin capture for a crypto ETF, rate cushion for a bond ETF). Every figure has its own date beside it; a value a fund does not have is null, never zero. Also as CSV at /data/screener.csv. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Look-through books books/index.json An index of the filed holdings book held for each fund, with its as-of date and whether the fund is synthetic. Each fund's book sits at /data/books/ under its ticker in lower case: /data/books/spy.json for SPY. Each book is its issuer's data, labelled with its source.
Categories categories.json Where each fund outside the specialist categories sits: Stocks, Bonds, Commodities or Allocation, then its group and segment, or the specialist category that claims it. Per fund: category, group, segment, status, the rule that placed it, the reason in one sentence, the evidence with the filing each fact was read from, and what is still missing. Every placement is ETFIQ's own, computed from the fund's filings. Rebuilt when it goes stale, at most once a week. Computed by ETFIQ.
Bond funds bonds.json What each bond and cash fund holds, read from its latest Form N-PORT: duration in years and how it was measured, maturity buckets, the mix of Treasury, agency, corporate, securitized, municipal, foreign government and cash, how much of its credit-spread risk is high yield, the defaulted and in-arrears shares, net assets, and the filing with its report date. Rebuilt every trading night. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
ETF issuers ranked by assets issuers-league.json Every ETF issuer ETFIQ covers, ranked by the net assets of its ETFs: the sum of each ETF's latest net assets figure with the first and last day those figures are dated, its share of the covered total, its ETF count, the change in net assets over one month, net flows over one week, one month and the year to date where ETFs have daily figures, the year of monthly flows from SEC Form N-PORT, and the average fee weighted by net assets. The same rows are at /data/issuers-league.csv. Computed by ETFIQ.
Fund flows: coverage flows/index.json Which funds have flows and how they are counted: daily from each issuer's own figures, or monthly from SEC Form N-PORT, with each fund's first and last dated figure, the coverage by category and issuer as a share of assets, the sources with the days they reach, and each window's first and last day. Each fund's daily and monthly flows, its window totals, weeks and months are one file at /data/flows/funds/ticker.json, the ticker in lower case. Computed by ETFIQ from each fund's change in shares outstanding times the previous day's NAV; the issuers' share counts and NAVs themselves stay private. Computed by ETFIQ.
Fund flows: by category and issuer flows/aggregates.json Net flows over 1 day, 1 week, 1 month, 3 months, year to date and 1 year for every category, segment and issuer: each total with the part that is round trips, the funds it counts, how many have every day of the window and their share of assets, the 25 largest inflows and outflows of each window, and the groups with a flows page of their own. Rebuilt every trading night. Computed by ETFIQ.
Income ETFs against a listed stock stock-pairs.json Each income ETF ETFIQ compares with a listed stock readers weigh it against, and the stock's price change, dividends and total return over exactly the days of each of the fund's own windows, with the fund's weight in the stock by its own holdings. The stock is not the fund's benchmark. Computed by ETFIQ from Tiingo daily prices. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
ETF screener table screener-table.json Every row of the ETF screener's pages, in their order (largest net assets first), with the page each fund is on and each cell exactly as the pages print it, the sort value of each figure, and the values the screener's filters read, copied from screener.json, where each figure has its date. ETFIQ's figures and issuer data: the file names which fields are ETFIQ's.
Page index page-index.json Every page ETFIQ publishes other than the comparisons of two funds: its address, type, title, h1, description and dated lead sentence as published, the entities it is about, and the plain phrasings a reader types for it, written by rule per page type. Read by Ask IQ's find_page tool and the homepage box. Computed by ETFIQ.
Page index, comparisons page-index-pairs.json Every published comparison of two ETFs: its category, the two tickers and whether it is listed for search. Computed by ETFIQ.
Benchmarks for model portfolios benchmarks.json The ETFIQ benchmarks for model portfolios: each one's weights, rule and freeze date, and its returns, volatility, drawdown, Sharpe ratio, turnover, factor loadings and weighted expense ratio over each window, each figure with its dates and its basis (hypothetical before the freeze, tracked from it). Each allocation ETF's comparison with the benchmark for its band sits at /data/modelhub/compare/
Allocation ETFs against their benchmarks modelhub/compare/index.json Every allocation ETF ETFIQ compares with the ETFIQ benchmark for its band, with the address of each comparison. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
AAAA against its benchmark modelhub/compare/aaaa.json The allocation ETF AAAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
ALTY against its benchmark modelhub/compare/alty.json The allocation ETF ALTY beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
AOA against its benchmark modelhub/compare/aoa.json The allocation ETF AOA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
AOK against its benchmark modelhub/compare/aok.json The allocation ETF AOK beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
AOM against its benchmark modelhub/compare/aom.json The allocation ETF AOM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
AOR against its benchmark modelhub/compare/aor.json The allocation ETF AOR beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
AVMA against its benchmark modelhub/compare/avma.json The allocation ETF AVMA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
CGBL against its benchmark modelhub/compare/cgbl.json The allocation ETF CGBL beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
DPRE against its benchmark modelhub/compare/dpre.json The allocation ETF DPRE beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
ELM against its benchmark modelhub/compare/elm.json The allocation ETF ELM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
FARX against its benchmark modelhub/compare/farx.json The allocation ETF FARX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
FPAA against its benchmark modelhub/compare/fpaa.json The allocation ETF FPAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
FREI against its benchmark modelhub/compare/frei.json The allocation ETF FREI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
FTBI against its benchmark modelhub/compare/ftbi.json The allocation ETF FTBI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
GAA against its benchmark modelhub/compare/gaa.json The allocation ETF GAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
GAL against its benchmark modelhub/compare/gal.json The allocation ETF GAL beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
GMOD against its benchmark modelhub/compare/gmod.json The allocation ETF GMOD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
GYLD against its benchmark modelhub/compare/gyld.json The allocation ETF GYLD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
HEFT against its benchmark modelhub/compare/heft.json The allocation ETF HEFT beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
INCM against its benchmark modelhub/compare/incm.json The allocation ETF INCM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
INKM against its benchmark modelhub/compare/inkm.json The allocation ETF INKM beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
IRTR against its benchmark modelhub/compare/irtr.json The allocation ETF IRTR beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
ITDB against its benchmark modelhub/compare/itdb.json The allocation ETF ITDB beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
ITDC against its benchmark modelhub/compare/itdc.json The allocation ETF ITDC beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
ITDD against its benchmark modelhub/compare/itdd.json The allocation ETF ITDD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
ITDE against its benchmark modelhub/compare/itde.json The allocation ETF ITDE beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
IYLD against its benchmark modelhub/compare/iyld.json The allocation ETF IYLD beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
JFLI against its benchmark modelhub/compare/jfli.json The allocation ETF JFLI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
KEAT against its benchmark modelhub/compare/keat.json The allocation ETF KEAT beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
LCR against its benchmark modelhub/compare/lcr.json The allocation ETF LCR beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
MDIV against its benchmark modelhub/compare/mdiv.json The allocation ETF MDIV beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
MFUL against its benchmark modelhub/compare/mful.json The allocation ETF MFUL beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
MHIG against its benchmark modelhub/compare/mhig.json The allocation ETF MHIG beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
MHIP against its benchmark modelhub/compare/mhip.json The allocation ETF MHIP beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
NDOW against its benchmark modelhub/compare/ndow.json The allocation ETF NDOW beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
OCIO against its benchmark modelhub/compare/ocio.json The allocation ETF OCIO beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
PVEX against its benchmark modelhub/compare/pvex.json The allocation ETF PVEX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
RAA against its benchmark modelhub/compare/raa.json The allocation ETF RAA beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
RISN against its benchmark modelhub/compare/risn.json The allocation ETF RISN beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
RJVI against its benchmark modelhub/compare/rjvi.json The allocation ETF RJVI beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
RSMV against its benchmark modelhub/compare/rsmv.json The allocation ETF RSMV beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
TBFC against its benchmark modelhub/compare/tbfc.json The allocation ETF TBFC beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
TBFG against its benchmark modelhub/compare/tbfg.json The allocation ETF TBFG beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
TRND against its benchmark modelhub/compare/trnd.json The allocation ETF TRND beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
TRTY against its benchmark modelhub/compare/trty.json The allocation ETF TRTY beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
WBIG against its benchmark modelhub/compare/wbig.json The allocation ETF WBIG beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
XFLX against its benchmark modelhub/compare/xflx.json The allocation ETF XFLX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
XRLX against its benchmark modelhub/compare/xrlx.json The allocation ETF XRLX beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
YLDW against its benchmark modelhub/compare/yldw.json The allocation ETF YLDW beside the ETFIQ benchmark for its band, over the same dates. Computed by ETFIQ from Tiingo daily prices (Data sourced by Tiingo). Computed by ETFIQ.
Whose figures these are
Each file says what it holds: figures ETFIQ computes, data an issuer published, or both, in which case it lists which fields are which. Each issuer holdings file under /data/books/ is labelled with its source and stays under its owner's terms. The full terms are at Licence.
Method
Terms come from issuer product pages and prospectus supplements filed with the SEC. Prices and distributions come from exchange end-of-day data. Holdings come from Form N-PORT and, where an issuer publishes one, its daily file. Fees come from the prospectus risk and return data filed as XBRL. Every figure ETFIQ computes rather than quotes is marked on the page and described on Standards. Each published number is recomputed from the raw sources every night by separate code, and anything that does not reproduce is listed before the site is published.
Building on it
index.json is the machine-readable manifest: every file with its address, its as-of date, its record count, its size, and every field with how many records actually carry one. That last part is the thing worth reading before you write against a field, because a fund with no expense ratio and a fund whose ratio nobody has read look the same in the file and different in the manifest. The addresses do not move, the files are served with permissive CORS and an ETag, and they change once a trading night. An assistant can ask for the same figures through the ETFIQ MCP server.
Fair use
The files are served from a static host with no rate limit and no key. Please cache rather than fetch repeatedly; they change once a night.
Cite this pageCitation, APA and Markdown
ETFIQ, ETFIQ open data, data as of Oct 20, 2026. https://etfiq.com/data/
ETFIQ. (Oct 20, 2026). ETFIQ open data. Retrieved from https://etfiq.com/data/
[ETFIQ open data (ETFIQ, Oct 20, 2026)](https://etfiq.com/data/)
Free to use with attribution for figures ETFIQ computes; issuer data stays under its owner's terms. The underlying files are at Open data.