Get the holdings of every fund: each asset it holds with the number of shares, the market value and the weight in the fund (as a decimal). This shows what the fund is actually exposed to and how concentrated it is; get_concentration and get_overlap summarize the weights.

Tickers that are not an ETF or fund have no holdings and return no data. They are not removed from the Toolkit instance.

Also known as: fund holdings, ETF constituents, fund portfolio.

Holdings in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_holdings as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["QQQ", "VTI"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.etf.get_holdings().loc["QQQ"].head()

Or, after setting up the Finance Toolkit MCP, ask:

What are the five largest holdings of the Invesco QQQ Trust, with their shares, weight and market value?

Which returns:

Asset Name ISIN CUSIP Shares Weight Market Value Updated At
NVDA NVIDIA Corp US67066G1040 67066G104 1.80964e+08 0.0850518 4.32937e+10 2026-10-07 14:14:58
AAPL Apple Inc US0378331005 037833100 1.09586e+08 0.0718253 3.65611e+10 2026-10-07 14:14:58
MSFT Microsoft Corp US5949181045 594918104 5.57574e+07 0.057978 2.95124e+10 2026-10-07 14:14:58
MU Micron Technology Inc US5951121038 595112103 2.34119e+07 0.0480888 2.44785e+10 2026-10-07 14:14:58
AMD Advanced Micro Devices Inc US0079031078 007903107 3.38406e+07 0.043174 2.19767e+10 2026-10-07 14:14:58

Parameters

get_holdings accepts the following parameters.

ParameterTypeDescriptionExample
overwriteboolWhether to retrieve the holdings again. Defaults to False.True
show_columnslist[str] | NoneA list of column names to keep in the result. Invalid names are reported and ignored. Defaults to None, which keeps every column.None, which keeps every column
limitint | NoneThe number of largest holdings (by weight) to keep per fund, e.g. 10 for the top 10, or of the smallest for a negative number, e.g. -10. Defaults to None, which keeps every holding. The holdings carry no sector or country; get_sector_weightings and get_country_weightings break the fund down by those.20
Share