# Stock Analysis API: Get ETF holdings

> Gets an ETF's free holdings list from Stock Analysis by ticker or exact fund name: each holding's weight and shares, plus the fund's expense ratio, total number of holdings, holdings date and exact assets under management when shown.

Unofficial. Not affiliated with or endorsed by Stock Analysis.

- Page: https://fous.com/methods/stockanalysis.com/get-etf-holdings
- Method: `stockanalysis.com/get_etf_holdings`, version 1
- Website: stockanalysis.com
- Returns: ETF name, ticker, expense ratio, assets under management, number of holdings, holdings date, holdings with rank, name, ticker, weight, shares, page link
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `etf` | string | yes | `"VOO"` | ETF name or ticker, for example Vanguard S&P 500 ETF or VOO. |
| `max_results` | integer | no |  | Maximum holdings to return, for example 10; never more than the free list. Default 25. |

## Output

From a run on Oct 31, 2026, shortened. Its input:

```json
{
  "etf": "VOO"
}
```

Its output:

```json
{
  "ticker": "VOO",
  "etf_name": "Vanguard S&P 500 ETF",
  "holdings": [
    {
      "name": "NVIDIA Corporation",
      "rank": 1,
      "ticker": "NVDA",
      "page_url": "https://stockanalysis.com/stocks/nvda/",
      "shares_held": 643435730,
      "weight_percent": 8.08
    },
    {
      "name": "Apple Inc.",
      "rank": 2,
      "ticker": "AAPL",
      "page_url": "https://stockanalysis.com/stocks/aapl/",
      "shares_held": 390202069,
      "weight_percent": 7.03
    },
    {
      "name": "Microsoft Corporation",
      "rank": 3,
      "ticker": "MSFT",
      "page_url": "https://stockanalysis.com/stocks/msft/",
      "shares_held": 197352378,
      "weight_percent": 5.7
    }
  ],
  "page_url": "https://stockanalysis.com/etf/voo/holdings/",
  "holdings_date": "2026-08-31",
  "number_of_holdings": 516,
  "expense_ratio_percent": 0.03,
  "assets_under_management_usd": 1041349610639
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"stockanalysis.com/get_etf_holdings","input":{"etf":"VOO"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- What are the top 10 holdings in QQQ and how much of the fund does each one make up?
- Pull the holdings list for the iShares Core MSCI Emerging Markets ETF from stockanalysis.com, including the expense ratio and AUM
- I need to see what SCHD actually owns: share counts, weights, and the date the holdings were last updated
- Check Stock Analysis for the ARK Innovation ETF's current positions, top 25 is fine
- How many stocks does VTI hold, what's its expense ratio, and which 15 names have the biggest weightings?

## Input schema

```json
{
  "type": "object",
  "required": [
    "etf"
  ],
  "properties": {
    "etf": {
      "type": "string",
      "description": "ETF name or ticker, for example Vanguard S&P 500 ETF or VOO."
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum holdings to return, for example 10; never more than the free list.",
      "x-fous-developer": true
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "etf_name",
    "ticker",
    "expense_ratio_percent",
    "assets_under_management_usd",
    "number_of_holdings",
    "holdings_date",
    "page_url",
    "holdings"
  ],
  "properties": {
    "ticker": {
      "type": "string",
      "description": "ETF ticker."
    },
    "etf_name": {
      "type": "string",
      "description": "ETF name."
    },
    "holdings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "rank",
          "name",
          "ticker",
          "weight_percent",
          "shares_held",
          "page_url"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Company or asset name."
          },
          "rank": {
            "type": "integer",
            "description": "Position by weight."
          },
          "ticker": {
            "type": [
              "string",
              "null"
            ],
            "description": "Holding ticker, when shown."
          },
          "page_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "Stock Analysis page for this holding, when linked."
          },
          "shares_held": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Number of shares held, when shown."
          },
          "weight_percent": {
            "type": "number",
            "description": "Share of the fund, in percent."
          }
        }
      },
      "description": "Largest free holdings first."
    },
    "page_url": {
      "type": "string",
      "description": "Stock Analysis ETF holdings page."
    },
    "holdings_date": {
      "type": "string",
      "format": "date",
      "description": "Date the listed holdings were reported."
    },
    "number_of_holdings": {
      "type": "integer",
      "description": "Total number of holdings in the ETF."
    },
    "expense_ratio_percent": {
      "type": [
        "number",
        "null"
      ],
      "description": "Annual expense ratio in percent, when shown."
    },
    "assets_under_management_usd": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Exact assets under management in USD, when shown."
    }
  }
}
```

## See more

- [Stock Analysis API: Get key statistics](https://fous.com/methods/stockanalysis.com/get-key-statistics.md): Looks up a stock by company name or ticker on Stock Analysis and returns its valuation ratios and company statistics, with the date the figures were last updated.
- [Stock Analysis API: Get financial statements](https://fous.com/methods/stockanalysis.com/get-financial-statements.md): Looks up a company by name or ticker on Stock Analysis and returns its annual or quarterly income statement, balance sheet, or cash flow statement for the free periods.
- [Stock Analysis API: List recent IPOs](https://fous.com/methods/stockanalysis.com/list-recent-ipos.md): Lists US IPOs from a chosen year, newest first. Each IPO comes with its IPO price, current price and return since IPO. Coverage begins in 2019.
- [TradingView API: Screen stocks by country, sector and size](https://fous.com/methods/tradingview.com/screen-stocks.md): Finds publicly listed stocks in a country, filtered by sector, US-dollar market cap band and minimum dividend yield, in the requested order. Quotes may be delayed.
- [SEC EDGAR API: List company SEC filings](https://fous.com/methods/sec.gov/get-company-filings.md): Finds a public company by name or ticker in SEC EDGAR and lists its filings, newest first, optionally narrowed by filing type and filing date.
- [Finviz API: Get stock snapshot](https://fous.com/methods/finviz.com/get-stock-snapshot.md): Get a delayed US-listed stock snapshot from its ticker or company name. Analyst labels summarize Finviz's 1-5 mean score; dividend yield uses the estimated dividend when available. Missing metrics return null.
- [Finviz API: Screen US stocks](https://fous.com/methods/finviz.com/screen-stocks.md): Screens US-listed stocks on Finviz by sector, company size, minimum dividend yield, maximum P/E ratio and market signal, ranked by market value, today's gain or dividend yield.
- [Etherscan API: Get Ethereum wallet](https://fous.com/methods/etherscan.io/get-wallet.md): Looks up an Ethereum wallet on Etherscan by address or ENS name: its ETH balance and USD value, the largest displayed ERC-20 holdings, and the newest confirmed transactions. Pending transactions are excluded; unpriced holdings have no USD value.
- [All Stock Analysis methods](https://fous.com/methods/stockanalysis.com.md)
