Reference · Ownership and leadership
get_institutional_holders
The largest institutional holders of a stock from SEC Form 13F: manager, its type, shares, filer-reported value, quarter, filed date and the change vs its prior 13F. Each manager's latest 13F.
GET https://api.fundalyze.ai/api/public/v1/get_institutional_holdersMCPget_institutional_holdersParameters
| Parameter | Type | Default | Description |
|---|---|---|---|
tickerrequired | stringup to 12 characters | — | US ticker symbol, e.g. AAPL or BRK-B. Use search_companies when unsure. |
limit | integer1–100 | 20 | Holders to return, largest value first, 1-100. |
Example
A real call and its answer. Replace fdz_live_YOUR_KEY with your key, or set FUNDALYZE_API_KEY for the Python and JavaScript versions.
curl -H "Authorization: Bearer fdz_live_YOUR_KEY" "https://api.fundalyze.ai/api/public/v1/get_institutional_holders?ticker=AAPL&limit=10"import os
import requests
response = requests.get(
"https://api.fundalyze.ai/api/public/v1/get_institutional_holders",
params={
"ticker": "AAPL",
"limit": 10,
},
headers={"Authorization": f"Bearer {os.environ['FUNDALYZE_API_KEY']}"},
timeout=60,
)
response.raise_for_status()
answer = response.json()
print(answer["text"])
print("Calls left today:", response.headers.get("X-Quota-Remaining"))const params = new URLSearchParams()
params.append("ticker", "AAPL")
params.append("limit", "10")
const response = await fetch(`https://api.fundalyze.ai/api/public/v1/get_institutional_holders?${params}`, {
headers: { Authorization: `Bearer ${process.env.FUNDALYZE_API_KEY}` },
})
const answer = await response.json()
if (!response.ok) throw new Error(`${response.status}: ${answer.detail}`)
console.log(answer.text)
console.log('Calls left today:', response.headers.get('X-Quota-Remaining'))The same call as an MCP tools/call: what an assistant sends.
{
"name": "get_institutional_holders",
"arguments": {
"ticker": "AAPL",
"limit": 10
}
}Response
Generated from live data on Oct 7, 2026; figures change as filings arrive. Rows trimmed to the first 5 for the docs: holders had 10.
What an assistant reads (and what MCP returns).
AAPL · institutional holders (SEC Form 13F) · each manager's latest 13F · top 10 by value of 6308 lines · value in USD millions as filed
manager,cik,manager_type,report_period,filed_date,shares,value_usd_m,status,change_shares
"BlackRock, Inc.",2012383,asset_manager_diversified,2026-06-30,2026-08-07,1162996939,336524.79,increased,18301514
VANGUARD CAPITAL MANAGEMENT LLC,2100119,index_passive,2026-06-30,2026-08-13,959107911,277527.47,increased,5260263
STATE STREET CORP,93751,asset_manager_diversified,2026-06-30,2026-09-22,615129929,177994.0,increased,12788520
"GEODE CAPITAL MANAGEMENT, LLC",1214717,index_passive,2026-06-30,2026-08-12,371336543,107174.64,increased,2719589
VANGUARD PORTFOLIO MANAGEMENT LLC,2100121,index_passive,2026-06-30,2026-08-13,334119156,96680.72,increased,2682101
... 5 more rows in the full answer (trimmed for the docs)
Share positions only (no options). status and change_shares compare with the manager's prior 13F; shares as filed, so a stock split shows as an increase. Quarters differ by manager while filings come in.
More: https://fundalyze.ai/stocks/nasdaq/aapl?tab=fundsThe same content as JSON (REST).
{
"ticker": "AAPL",
"lines_total": 6308,
"holders": [
{
"manager": "BlackRock, Inc.",
"cik": 2012383,
"manager_type": "asset_manager_diversified",
"report_period": "2026-06-30",
"filed_date": "2026-08-07",
"shares": 1162996939,
"value_usd_m": 336524.79,
"status": "increased",
"change_shares": 18301514,
"source_url": "https://www.sec.gov/Archives/edgar/data/2012383/000201238326003238/0002012383-26-003238-index.html"
},
{
"manager": "VANGUARD CAPITAL MANAGEMENT LLC",
"cik": 2100119,
"manager_type": "index_passive",
"report_period": "2026-06-30",
"filed_date": "2026-08-13",
"shares": 959107911,
"value_usd_m": 277527.47,
"status": "increased",
"change_shares": 5260263,
"source_url": "https://www.sec.gov/Archives/edgar/data/2100119/000210011926001527/0002100119-26-001527-index.html"
},
{
"manager": "STATE STREET CORP",
"cik": 93751,
"manager_type": "asset_manager_diversified",
"report_period": "2026-06-30",
"filed_date": "2026-09-22",
"shares": 615129929,
"value_usd_m": 177994,
"status": "increased",
"change_shares": 12788520,
"source_url": "https://www.sec.gov/Archives/edgar/data/93751/000009375126000583/0000093751-26-000583-index.html"
},
{
"manager": "GEODE CAPITAL MANAGEMENT, LLC",
"cik": 1214717,
"manager_type": "index_passive",
"report_period": "2026-06-30",
"filed_date": "2026-08-12",
"shares": 371336543,
"value_usd_m": 107174.64,
"status": "increased",
"change_shares": 2719589,
"source_url": "https://www.sec.gov/Archives/edgar/data/1214717/000121471726000008/0001214717-26-000008-index.html"
},
{
"manager": "VANGUARD PORTFOLIO MANAGEMENT LLC",
"cik": 2100121,
"manager_type": "index_passive",
"report_period": "2026-06-30",
"filed_date": "2026-08-13",
"shares": 334119156,
"value_usd_m": 96680.72,
"status": "increased",
"change_shares": 2682101,
"source_url": "https://www.sec.gov/Archives/edgar/data/2100121/000210012126001018/0002100121-26-001018-index.html"
}
]
}Fields of data
What each field of data means. rows[].field is a field of each row in the rows list.
| Field | Meaning |
|---|---|
holders | The holders, largest filer-reported value first (list; see holders[]). |
ticker | Ticker as listed in the SEC directory. |
lines_total | 13F lines for this stock across every manager's latest 13F (a manager may file one stock on several lines) |
holders[].manager | Manager name as filed |
holders[].cik | Manager's SEC CIK |
holders[].manager_type | Fundalyze label (hedge_fund, index_passive, bank_broker...), null if unlabelled |
holders[].report_period | Quarter end the 13F covers |
holders[].filed_date | Date the 13F was filed |
holders[].shares | Shares held, as filed |
holders[].value_usd_m | Filer-reported value, USD millions |
holders[].status | new, increased, decreased or unchanged vs the manager's prior 13F |
holders[].change_shares | Shares added (negative: sold) vs the prior 13F |
holders[].source_url | The 13F on sec.gov |
The link
Every answer ends with More: <link>, and REST returns the same URL as link: the fundalyze.ai page where the figures can be checked (here, fundalyze.ai/stocks/nasdaq/aapl?tab=funds). Cite it when you show the data to others, as the attribution rules ask.
Errors
A bad parameter is a 400 naming it, an unknown ticker a 404, a busy key or a used-up day a 429. Every status and message: Errors.
This page as Markdown, for language models and scripts: /developers/md/reference/get_institutional_holders