Holdings that are a day old, not a quarter

  • Pulled from the issuer's own site every trading day
  • Full position list with weights, shares and value
  • Quarterly N-PORT holdings alongside it for history
  • Same response shape for both, so one parser covers you
daily holdings
// GET /api/fund/holdings/daily?symbol=QQQ
{
  "reportDate": "2026-08-06",
  "totalResults": 107,
  "data": [
    {
      "name": "NVIDIA Corp",
      "ticker": "NVDA",
      "cusip": "67066G104",
      "balance": 185029101,
      "valueUsd": 40519522827.99,
      "pctVal": 8.468898
    },
    // ...
  ]
}

See what two funds actually share

  • Shared and exclusive holdings counted per side
  • Overlapping weight measured in both directions
  • Matched on CUSIP, not on name
  • Per-holding detail with each fund's weight
portfolio overlap
// GET /api/fund/overlap?symbol1=SPY&symbol2=QQQ
{
  "overlapCount": 86,
  "onlyIn1Count": 417,
  "onlyIn2Count": 15,
  // 94% of QQQ's weight also sits inside SPY
  "overlapWeight1": 50.29320082768701,
  "overlapWeight2": 94.02949816993
}

The numbers a factsheet leaves out

  • Tracking difference vs the index, before and after fees
  • Fair-value hierarchy, so you can see what is hard to price
  • Securities-lending authorisation and activity
  • Operational flags: material weakness, valuation and accounting changes
  • In-kind creation and redemption efficiency, and broker commissions
fund health
// GET /api/fund/fund-health?symbol=VOO
{
  "ncenRecords": [
    {
      "reportDate": "2025-12-31",
      "isIndexFund": true,
      // return difference vs the tracked index, before and after fees
      "indexReturnDiffBefore": -0.00397999,
      "indexReturnDiffAfter": -0.1689,
      "isLendingAuthorized": true,
      "hasMaterialWeakness": false
    }
  ],
  "fairValue": [
    { "level": 1, "count": 505 },
    { "level": 3, "count": 1 }
  ]
}

Every fund holding any stock

  • Ask by company, get the funds, not the other way round
  • Position value and portfolio weight per fund
  • Sorted by position size, paginated
  • Works for stocks, ETFs and fund-of-funds structures
reverse lookup
// GET /api/fund/reverse-lookup?symbol=AAPL
{
  "totalResults": 2453,
  "data": [
    {
      "fundName": "Vanguard Total Stock Market Index Fund",
      "fundTicker": "VTI",
      "pctVal": 5.94066956825,
      "valueUsd": 118319793743.9,
      "reportDate": "2026-03-31"
    },
    // ...
  ]
}
Featured on
StockFit API - Structured SEC Data API for Developers | Product HuntStockFit API - Featured on Startup FameStockFit API - Featured on PeerPushListed on BacklinkLog

The full ETF and fund surface

Holdings, flows, fees, structure and ownership, parsed from N-PORT, N-CEN and issuer disclosures.

Holdings, Daily and Quarterly

Positions published by the issuer every trading day, plus the full quarterly portfolio from N-PORT filings, on one response shape.

Portfolio Overlap

Compare any two funds: shared and exclusive holdings, overlapping weight measured from both sides, and per-holding weights. Matched on CUSIP.

Reverse Lookup

Every fund holding a given company, with position value and portfolio weight, sorted by size. The question a holdings endpoint cannot answer.

Flows & Composition

Monthly sales, redemptions and reinvestments per quarter, alongside breakdowns by asset type, country, issuer type and top-10 concentration.

Fees & Cost Analysis

Expense ratios and fee schedules from prospectuses, plus aggregate brokerage commissions, per-broker breakdowns, and in-kind creation efficiency from N-CEN.

Fund Health

Tracking difference against the index before and after fees, fair-value hierarchy, securities lending, and operational red flags.

ETF API and mutual fund API: daily and quarterly holdings, portfolio overlap, fund flows, expense ratios and fee analysis, tracking difference, fair-value levels, service providers, and reverse lookup of every fund holding a given stock. Parsed from SEC N-PORT, N-CEN and N-1A filings.

Updated Daily

Issuer holdings every trading day, filings as they publish

Official Source

N-PORT, N-CEN and N-1A, parsed in house

Developer First

Simple REST API with clear JSON responses

Frequently asked questions

Every endpoint mentioned links to its full Swagger documentation.

How current are the holdings?+
Two sources, and you can use either. GET /api/fund/holdings/daily returns what the issuer published on its own website, refreshed every trading day, with the as-of date in the reportDate field. /api/fund/holdings returns the full quarterly portfolio from N-PORT filings, which is slower but covers far more funds and goes back years. The response shapes match, so one parser handles both.
Which funds have daily holdings?+
GET /api/fund/holdings/daily/supported-funds returns the full list of covered tickers, sorted alphabetically. Coverage widens over time as more issuers are onboarded, so treat that endpoint as the source of truth rather than hardcoding a list.
What does portfolio overlap actually measure?+
GET /api/fund/overlap compares the most recent N-PORT filing for each fund and returns the count of shared holdings, the count exclusive to each side, and the overlapping weight measured from both directions. The two weights differ and that is the point: for SPY against QQQ, 94% of QQQ's weight also sits inside SPY, while only 50% of SPY's sits inside QQQ. Matching is on CUSIP rather than name.
Can I find every fund that holds a given stock?+
Yes, that is GET /api/fund/reverse-lookup. Ask by company and get the funds back, each with position value and portfolio weight, sorted by size and paginated. It accepts stocks, ETFs and mutual funds, so fund-of-funds structures resolve too.
What is in the fund health endpoint?+
GET /api/fund/fund-health returns the operational picture from N-CEN: for index funds, the return difference against the tracked index before and after fees, per year; the fair-value hierarchy so you can see how much of the book is hard to price; securities-lending authorisation and whether the fund actually lent; and flags for material weakness, valuation changes and payment errors.
How do you handle fees beyond the expense ratio?+
GET /api/fund/fees returns the prospectus fee schedule per share class: management fee, 12b-1, waivers, sales charges. /api/fund/fee-analysis goes further using N-CEN, returning aggregate brokerage commissions, a per-broker breakdown by name, average net assets, and in-kind creation and redemption percentages, which is where a lot of an ETF's real cost efficiency lives.
Do you cover mutual funds or only ETFs?+
Both. The data comes from N-PORT, N-CEN and N-1A filings, which registered open-end funds file regardless of whether they trade on an exchange. Mutual fund share classes, ETF share classes and multi-class series are all present, and a series with several classes resolves to its exchange-traded class where one exists.
How far back does the holdings history go?+
N-PORT holdings run from 2019, when the form became a structured filing requirement, through the current quarter. Fund-level census data from N-CEN covers a similar span, so tracking difference and fee analysis typically return several years of annual records per fund.
What about fund flows?+
GET /api/fund/flows returns quarterly records with monthly granularity: sales, redemptions and reinvestments for each month of the quarter, alongside monthly returns and net assets. A chart-ready series is at /api/fund/chart/flows.
Is there a free tier?+
Yes, and it needs no credit card. Fund profiles and the daily-holdings coverage list are available on it. The ETF plan unlocks holdings, overlap, flows, fee analysis, fund health and reverse lookup, and the Professional plan includes everything alongside the stock endpoints.

Start with the whole portfolio

Get your free API key in seconds. No credit card required.