SEC 13F institutional ownership — top holders, ownership across quarters, buyers and sellers, market-wide leaderboards, per-institution portfolios, and the curated superinvestor directory. While a quarter's filing window is open, funds that haven't filed yet carry their prior-quarter positions.
/v1/stocks/
The largest 13F holders of a stock, ranked by shares, with value and share of total institutional ownership. positionType says what the line actually is — Common for shares held outright, Put or Call for an option position reported at the notional value of the underlying shares. A put is a bearish bet, not ownership, so read this before treating a large line as a holder.
Parameters: {ticker} (path); reportDate (yyyy-MM-dd, defaults to latest — must be one of the stock's 13F report dates, otherwise 400 listing the available dates); limit (default 20, max 500); offset.
curl "https://api.equibles.com/v1/stocks/NVDA/institutional-holders?limit=2" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/stocks/NVDA/institutional-holders?limit=2",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/institutional-holders?limit=2", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"data": [
{ "name": "BlackRock, Inc.", "cik": "2012383", "shares": 1925533174, "value": 335812985535, "percentOfTotal": 11.621241011513847, "listedTicker": null, "positionType": "Common" },
{ "name": "VANGUARD CAPITAL MANAGEMENT LLC", "cik": "2100119", "shares": 1538550382, "value": 268323186620, "percentOfTotal": 9.285669568827016, "listedTicker": null, "positionType": "Common" }
],
"meta": { "reportDate": "2026-06-30", "isCombinedQuarter": true, "totalInstitutions": 5856, "totalShares": 16569083905, "totalValue": 2892122099390, "limit": 2, "offset": 0, "count": 2, "hasMore": true }
}
/v1/stocks/
The stock's aggregate institutional ownership across quarters — the number of filing institutions, total shares and value held, and the quarter-over-quarter change. Quarters are returned oldest first.
Parameters: {ticker} (path); periods (maximum quarterly periods to return, default 8, max 500).
curl "https://api.equibles.com/v1/stocks/NVDA/institutional-ownership" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/stocks/NVDA/institutional-ownership",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/institutional-ownership", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"data": [
{ "reportDate": "2024-09-30", "institutions": 4651, "totalShares": 17234287618, "totalValue": 2092931885194, "changePercent": null, "isCombinedQuarter": false },
{ "reportDate": "2024-12-31", "institutions": 5218, "totalShares": 17586189515, "totalValue": 2361649386161, "changePercent": 2.0418708611574012, "isCombinedQuarter": false }
]
}
/v1/stocks/
The largest 13F buyers and sellers of a stock versus the prior quarter, with the share and dollar change and new-position / sold-out flags. Sellers are counted only among funds that filed a 13F for the target quarter, so a fund that stopped filing under its CIK (entity migration, deregistration) is not shown as a mass seller; a new-position buyer whose first 13F on record is the target quarter carries isFirst13F: true — often the receiving entity of a CIK migration rather than fresh buying.
Parameters: {ticker} (path); reportDate (yyyy-MM-dd, defaults to latest — must be one of the stock's 13F report dates, otherwise 400 listing the available dates); limit (buyers and sellers per side, default 10, max 500).
curl "https://api.equibles.com/v1/stocks/NVDA/institutional-activity?limit=2" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/stocks/NVDA/institutional-activity?limit=2",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/institutional-activity?limit=2", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"reportDate": "2026-06-30",
"previousReportDate": "2026-03-31",
"isFilingWindowOpen": true,
"buyers": [
{ "name": "SG Americas Securities, LLC", "cik": "1313360", "previousShares": 0, "currentShares": 62298007, "deltaShares": 62298007, "deltaValue": 12465208, "isNewPosition": true, "isSoldOut": false, "isFirst13F": false }
],
"sellers": [
{ "name": "B. Riley Wealth Advisors, Inc.", "cik": "1464811", "previousShares": 11461358, "currentShares": 607945, "deltaShares": -10853413, "deltaValue": 16449743, "isNewPosition": false, "isSoldOut": false, "isFirst13F": null }
],
"limit": 2,
"totalBuyers": 2151,
"totalSellers": 1615
}
/v1/13f/market-activity
Market-wide 13F leaderboards for one bucket — the biggest quarter-over-quarter buys, sells, brand-new positions, or complete exits across all filers. Ordering is by the change in stored quarter-end position value, which includes the quarter's price move on held positions — not just net buying or selling. coverageStartDate publishes the first complete report quarter; a request before it, or for that first quarter whose prior is incomplete, returns an empty flagged ranking with comparisonUnavailableReason instead of fabricated deltas.
Parameters: bucket (required — top-buys, top-sells, new-positions, or sold-out-positions); reportDate (yyyy-MM-dd, defaults to latest — must be an available 13F quarter end, otherwise 400 listing the available dates); limit (default 20, max 500).
curl "https://api.equibles.com/v1/13f/market-activity?bucket=top-buys&limit=2" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/13f/market-activity",
params={"bucket": "top-buys", "limit": 2},
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/13f/market-activity?bucket=top-buys&limit=2", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"bucket": "top-buys",
"reportDate": "2026-06-30",
"previousReportDate": "2026-03-31",
"coverageStartDate": "2020-03-31",
"isWithinCoverage": true,
"comparisonAvailable": true,
"isRankingAvailable": true,
"comparisonUnavailableReason": null,
"isFilingWindowOpen": true,
"data": [
{ "ticker": "CBRS", "company": "Cerebras Systems Inc.", "deltaShares": 28890060, "deltaValue": 6384703260, "filerCount": null },
{ "ticker": "EOSE", "company": "Eos Energy Enterprises, Inc.", "deltaShares": 123060506, "deltaValue": 757475781, "filerCount": null }
]
}
/v1/13f/most-held
Stocks ranked by 13F ownership breadth — how many institutions hold each name, the quarter-over-quarter change in filer count, total value, and share of the filing universe. coverageStartDate publishes the first complete report quarter. Earlier requests return an empty flagged ranking; at the first covered quarter, filers and value rankings remain available but both delta fields are omitted, while filersDelta is unavailable. previousReportDate is omitted only when no earlier corpus row exists.
Parameters: sort (filers — default —, filersDelta, or value); reportDate (yyyy-MM-dd, defaults to latest — must be an available 13F quarter end, otherwise 400 listing the available dates); limit (default 25, max 500).
curl "https://api.equibles.com/v1/13f/most-held?limit=2" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/13f/most-held?limit=2",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/13f/most-held?limit=2", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"reportDate": "2026-06-30",
"previousReportDate": "2026-03-31",
"coverageStartDate": "2020-03-31",
"isWithinCoverage": true,
"comparisonAvailable": true,
"isRankingAvailable": true,
"comparisonUnavailableReason": null,
"isFilingWindowOpen": true,
"sort": "filers",
"universeFilerCount": 9022,
"data": [
{ "ticker": "MSFT", "company": "Microsoft Corp", "filerCount": 6149, "deltaFilerCount": -35, "totalValue": 1636575636877, "deltaValue": -597348737887, "percentOfUniverse": 68.15561959654178 },
{ "ticker": "AAPL", "company": "Apple Inc.", "filerCount": 6065, "deltaFilerCount": -25, "totalValue": 1962717053767, "deltaValue": -679184279072, "percentOfUniverse": 67.22456218133452 }
]
}
/v1/consensus-holdings
The combined 13F portfolio of 2–25 institutions for their latest common report date. Stocks are ranked by how many supplied funds hold them, then by combined value. Exact names, CIKs, and verified aliases resolve; a unique partial resolves, while an ambiguous partial returns 400 with candidate CIKs, latest report dates, reported AUM, and position counts before any calculation runs. Unmatched names remain visible in a successful response when at least two distinct institutions resolve.
Parameters: institutions (required — 2–25 comma- or semicolon-separated institution names or CIKs); reportDate (yyyy-MM-dd, defaults to the latest common quarter — must be a date all resolved funds share, otherwise 400 listing the shared dates); minFunds (default 1 — use 2 or more for true consensus); limit (default 30, max 500).
curl "https://api.equibles.com/v1/consensus-holdings?institutions=Berkshire%20Hathaway%2CBridgewater%20Associates%2CPershing%20Square%20Capital&minFunds=2&limit=3" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/consensus-holdings",
params={
"institutions": "Berkshire Hathaway,Bridgewater Associates,Pershing Square Capital",
"minFunds": 2,
"limit": 3,
},
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const params = new URLSearchParams({
institutions: "Berkshire Hathaway,Bridgewater Associates,Pershing Square Capital",
minFunds: "2",
limit: "3",
});
const res = await fetch(`https://api.equibles.com/v1/consensus-holdings?${params}`, {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"reportDate": "2026-03-31",
"funds": [
{ "name": "Berkshire Hathaway Inc", "cik": "1067983" },
{ "name": "Bridgewater Associates, LP", "cik": "1350694" },
{ "name": "Pershing Square Capital Management, L.P.", "cik": "1336528" }
],
"unresolved": [],
"data": [
{ "ticker": "GOOGL", "companyName": "Alphabet Inc.", "heldByFundCount": 3, "totalFundCount": 3, "combinedValue": 17412724976 },
{ "ticker": "AAPL", "companyName": "Apple Inc.", "heldByFundCount": 2, "totalFundCount": 3, "combinedValue": 57986269125 },
{ "ticker": "AXP", "companyName": "American Express Co", "heldByFundCount": 2, "totalFundCount": 3, "combinedValue": 45865791641 }
],
"total": 28
}
/v1/institutions
Search the tracked 13F filer set by filed-name words or SEC CIK prefix and include verified brand aliases for current flagship filers. Every punctuation-independent query word must match first, with an any-word fallback only when strict matching is empty. Results rank recently-active, larger filers first and expose latest report date, reported 13F AUM, and position count so namesakes and predecessor registrations can be compared. meta.totalMatches makes truncation visible.
Parameters: query (required — partial or full name, or a CIK, e.g. Berkshire); limit (default 10, max 500).
curl "https://api.equibles.com/v1/institutions?query=Berkshire" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/institutions",
params={"query": "Berkshire"},
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/institutions?query=Berkshire", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"data": [
{ "name": "Berkshire Hathaway Inc", "cik": "1067983", "latestReportDate": "2026-03-31", "reportedAum": 261050897168, "positionCount": 26, "city": "Omaha", "stateOrCountry": "NE" }
],
"meta": { "limit": 10, "count": 6, "totalMatches": 6, "hasMore": false }
}
Separate CIKs can represent current, predecessor, or otherwise distinct registrants. An older CIK may carry the longer history; pass the exact CIK after comparing the latest-report and footprint fields.
/v1/institutions/
An institution's reported 13F portfolio for a quarter — each position's ticker, company, shares, and value, ranked by reported value.
Parameters: {cik} (path — from /v1/institutions); reportDate (yyyy-MM-dd, defaults to the institution's latest — must be one the institution reported, otherwise 400 listing the available dates); limit (default 20, max 500); offset.
curl "https://api.equibles.com/v1/institutions/1067983/portfolio?limit=2" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/institutions/1067983/portfolio?limit=2",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/institutions/1067983/portfolio?limit=2", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"data": [
{ "ticker": "AAPL", "company": "Apple Inc.", "shares": 227917808, "value": 57843260491, "listedTicker": null, "positionType": "Common" },
{ "ticker": "AXP", "company": "American Express Co", "shares": 151610700, "value": 45859204535, "listedTicker": null, "positionType": "Common" }
],
"meta": { "reportDate": "2026-03-31", "limit": 2, "offset": 0, "count": 2, "hasMore": true }
}
/v1/institutions/
A portfolio-level summary for an institution — reported AUM, position count, top-10 and top-25 concentration, quarter-over-quarter turnover, and how many quarters it has reported.
Parameters: {cik} (path); reportDate (yyyy-MM-dd, defaults to the institution's latest — must be one the institution reported, otherwise 400 listing the available dates).
curl "https://api.equibles.com/v1/institutions/1067983/summary" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/institutions/1067983/summary",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/institutions/1067983/summary", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"name": "Berkshire Hathaway Inc",
"cik": "1067983",
"reportDate": "2026-03-31",
"previousReportDate": "2025-12-31",
"reportedAum": 261050897168,
"positionCount": 26,
"top10ConcentrationPercent": 91.43382731582462,
"top25ConcentrationPercent": 99.99314580482422,
"qoQTurnoverPercent": 5.068427808089123,
"quartersReported": 25,
"confidentialTreatmentRequested": false
}
/v1/institutions/
How an institution's portfolio is spread across industries — position count, dollar value, and share of the portfolio per industry.
Parameters: {cik} (path); reportDate (yyyy-MM-dd, defaults to the institution's latest — must be one the institution reported, otherwise 400 listing the available dates).
curl "https://api.equibles.com/v1/institutions/1067983/sector-allocation" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/institutions/1067983/sector-allocation",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/institutions/1067983/sector-allocation", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"name": "Berkshire Hathaway Inc",
"cik": "1067983",
"reportDate": "2026-03-31",
"data": [
{ "industry": "Consumer Electronics", "positionCount": 1, "value": 57843260491, "percentOfPortfolio": 21.985634775417882 },
{ "industry": "Credit Services", "positionCount": 3, "value": 48301249033, "percentOfPortfolio": 18.358813307235224 }
]
}
/v1/institutions/
An institution's quarter-over-quarter position changes, bucketed into initiated, increased, reduced, and exited positions.
Parameters: {cik} (path); reportDate (yyyy-MM-dd, defaults to the institution's latest — must be one the institution reported, otherwise 400 listing the available dates); bucket (optional filter — initiated, increased, reduced, or exited); limit (per bucket, default 20, max 500).
curl "https://api.equibles.com/v1/institutions/1067983/activity?limit=2" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/institutions/1067983/activity?limit=2",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/institutions/1067983/activity?limit=2", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"name": "Berkshire Hathaway Inc",
"cik": "1067983",
"reportDate": "2026-03-31",
"previousReportDate": "2025-12-31",
"initiated": [
{ "ticker": "DAL", "company": "Delta Air Lines, Inc.", "previousShares": 0, "currentShares": 39809456, "deltaShares": 39809456, "deltaValue": 2646532634 }
],
"increased": [
{ "ticker": "GOOGL", "company": "Alphabet Inc.", "previousShares": 17846142, "currentShares": 57835013, "deltaShares": 39988871, "deltaValue": 11042684240 }
],
"reduced": [
{ "ticker": "BAC", "company": "Bank Of America Corp /De/", "previousShares": 517295934, "currentShares": 513624165, "deltaShares": -3671769, "deltaValue": -3412098327 }
],
"exited": [
{ "ticker": "V", "company": "Visa Inc.", "previousShares": 8297460, "currentShares": 0, "deltaShares": -8297460, "deltaValue": -2910002196 }
],
"limit": 2,
"initiatedTotal": 2,
"increasedTotal": 3,
"reducedTotal": 6,
"exitedTotal": 15
}
/v1/super-investors
The curated superinvestor directory — a hand-picked roster of well-known value investors and fund managers — with the manager and firm name, the 13F filer CIK behind them, and their latest reported portfolio value, position count, quarter-over-quarter change in that value, and the report date it comes from. It is the entry point to the institution endpoints above: take a row's cik to /v1/institutions/{cik}/portfolio for the full holdings or to /v1/institutions/{cik}/activity for that quarter's buys and sells. Managers with a 13F on record come first, ordered by latest portfolio value, then the rest by manager name — a curated manager with no filing on record still appears, with the portfolio fields null.
Filers report at different times, so asOf varies row to row and the figures are not all struck on the same date. isStale is the flag that makes that safe to read: it is true when a manager's own latest quarter is behind the quarter most of the roster reported, which is what you check before comparing one manager's portfolio value against another's.
Parameters: none — this endpoint takes no query parameters and rejects any with invalid_parameter. Returns a bare data array (no paging envelope); the excerpt below shows the two largest portfolios.
curl "https://api.equibles.com/v1/super-investors" \
-H "Authorization: Bearer eq_your_api_key"import requests
r = requests.get(
"https://api.equibles.com/v1/super-investors",
headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())const res = await fetch("https://api.equibles.com/v1/super-investors", {
headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());{
"data": [
{ "managerName": "Warren Buffett", "firmName": "Berkshire Hathaway Inc", "cik": "1067983", "portfolioValue": 263095703544, "positionCount": 26, "qoqChangePercent": -4.0326036077376264903824641159, "asOf": "2026-03-31", "isStale": false },
{ "managerName": "Bill Nygren", "firmName": "Harris Associates L P", "cik": "813917", "portfolioValue": 74976669303, "positionCount": 147, "qoqChangePercent": -4.6298093288358482063875564346, "asOf": "2026-03-31", "isStale": false }
]
}