KeyVex
SEC filings & market structure

Fund Holdings

Returns per-security holdings from SEC Form N-PORT primary documents — one row per investment-or-security line in a mutual fund / ETF / closed-end fund's monthly portfolio report. Use this when the user asks about: which funds hold a specific stock or bond, a fund's complete portfolio composition, fund-level derivative exposure (swaps, options, futures), rep.

EndpointGET /v1/fund-holdings
SourceSEC N-PORT primary-document XML
Authx-api-key — a free key works

What it returns

One record per result. Fields (from a live response):

Filters

filing_idEDGAR accession number — returns all holdings from one specific N-PORT filing (one fund-month).
filer_cikFund trust CIK (10-digit, padded with leading zeros). Returns the trust's holdings across all reporting months.
filer_nameCase-insensitive substring against fund trust name (e.g., 'iShares', 'Vanguard', 'SPDR').
period_endingReporting month-end (YYYY-MM-DD). Restricts results to one reporting period.
nameCase-insensitive substring against the holding issuer name (e.g., 'Apple', 'Treasury', 'Goldman Sachs').
cusipExact 9-character CUSIP. Most reliable identifier for equity and debt holdings in N-PORT.
tickerExact ticker symbol if filer included it in the identifiers block (less common than CUSIP).
isinExact ISIN if filer included it in the identifiers block.
asset_catExact asset-category code. Examples: 'EC' common stock, 'DBT' debt, 'DE' equity derivative, 'DIR' rate derivative, 'REPO' repurchase agreement, 'UST'…
is_derivativeTrue returns only derivative rows (asset_cat starting with 'D'). False returns only non-derivative rows. Omit for both.
derivative_typeStructural derivative type, derived from which `<derivativeInfo>` child element is present in the filing.
countryISO-2 country code of the holding (e.g., 'US', 'GB', 'JP').
payoff_profileFilter to long or short positions per N-PORT payoffProfile field.
min_value_usdMinimum fair value in USD. Use to focus on large positions only.
min_pct_of_portfolioMinimum percentage of fund net assets (0-100 scale). Use to focus on concentrated positions.
sinceISO date (YYYY-MM-DD). Only holdings whose period_ending >= this date.
untilISO date (YYYY-MM-DD). Only holdings whose period_ending <= this date.
sort_byDefault: value_usd.
sort_orderDefault: desc (largest / most recent first).
limitMaximum records to return. Default 50, max 500.

Example request

curl "https://api.keyvex.com/v1/fund-holdings?ticker=AAPL&limit=1" \
  -H "x-api-key: YOUR_KEY"

Response

{
  "results": [
    {
      "country": "US",
      "cusip": "67066G104",
      "payoff_profile": "Long",
      "derivative_type": null,
      "is_restricted": false,
      "filing_id": "0000036405-26-000323",
      "is_derivative": false,
      "units": "NS",
      "title": "NVIDIA CORP",
      "lei": "549300S4KLFTLO7GSQ80",
      "balance": 733080870,
      "sec_file_number": "811-02652",
      "value_usd": 127849303728,
      "currency": "USD",
      "filing_type": "NPORT-P",
      "issuer_cat": "CORP",
      "id": "0000036405-26-000323-2938",
      "is_amendment": false,
      "ticker": null,
      "filer_name": "VANGUARD INDEX FUNDS",
      "asset_cat": "EC",
      "period_ending": "2026-03-31",
      "holding_index": 2938,
      "filer_cik": "0000036405",
      "pct_of_portfolio": 6.419132792125,
      "is_non_cash_collateral": false,
      "scraped_at": "2026-06-11T19:49:01.690Z",
      "name": "NVIDIA Corp",
      "is_loaned": false,
      "fair_val_level": 1,
      "isin": "US67066G1040"
    }
  ],
  "count": 1,
  "has_more": true
}

Example questions you can answer

Related datasets

Query Fund Holdings from your AI

Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. Free key = full data, 60 requests/day.

Get a free key OpenAPI spec → REST docs →
← All 60+ datasets