Docs/APIs/Institutional Holdings

Institutional Holdings

Get 13F Holdings by Fund Manager or by Stock

OperationalCredits 5 per callp50 284msFinanceStar

Overview

Data comes from the SEC's Form 13F data sets (public), one zip per three-month filing window. A daily collector checks the SEC listing and, when a data set is new or revised, rebuilds the affected quarter: it reads every 13F-HR in the window for that quarter end plus late filings from the next window, keeps the latest original or restatement per manager and adds NEW HOLDINGS amendments to it. Rows for the same security, put/call and manager are merged. The latest eight quarter ends are kept; requests are served from that store, never from SEC live.

Change fields compare each position with the same manager's report for the previous stored quarter, matched on CUSIP and put/call. A position missing from the previous report is `new`; one in the previous report but not this one is `soldout` (shares 0, shown only with `changeType=soldout`). When the manager filed no report for the previous quarter, or the quarter is the oldest stored, every change field is null. `value` is in US dollars as filed (13F values have been reported in dollars since 2023), and `portfolioPercent` is value over the manager's total reported value, options included.

Tickers: 13F identifies securities by CUSIP, and CUSIP tables are licensed, so none is used. A CUSIP gets a ticker from SEC fails-to-deliver files (which list CUSIP and symbol), or, for common stock with a valid CUSIP check digit, from an exact issuer-name match against SEC company_tickers.json that resolves to a single company. Otherwise `ticker` is null; a ticker can map to several CUSIPs (`otherCusips`). `turnoverPercent` estimates buys and sells from share changes priced at this quarter's value per share and divides the lesser by the average of this and last quarter's total value.

Live Test Institutional Holdings API →

Endpoint

One host, one path per API. The block below shows this call in four languages; every one of them is the same HTTP request. Making requests covers the timeouts, retries and parameter rules that apply to all of them. The SDKs wrap the same call in a typed client.

GEThttps://api.apiverve.com/v1/institutionalholdings
curl "https://api.apiverve.com/v1/institutionalholdings?cik=1067983&manager=berkshire%20hathaway&ticker=AAPL&cusip=037833100&period=2026Q1&changeType=new&putCall=none&minValue=1000000&maxValue=1000000000&sort=value&order=desc&limit=25&offset=25&summary=true" \
  -H "x-api-key: your_api_key_here"

Replace your_api_key_here with the key from your dashboard. When the inputs arrive as a list rather than one at a time, batch requests run up to 200 of them through this same API in a single call.

Authentication

Send your key in the x-api-key header. That is the only auth step — there is no token exchange and no per-endpoint scope to configure. Authentication covers creating, rotating and revoking keys.

401 is the only auth verdict

A 401 means the key is missing, invalid or expired. A 403 means the key is valid but not permitted here — blocked by a key restriction or an IP allow-list. Running out of credits is a 429.

Parameters

Sent in the query string. Premium parameters are accepted on every plan but only take effect on plans that include them.

ParameterTypeDescription
cikOptionalstringSEC Central Index Key of the 13F filer, e.g. 1067983 for Berkshire Hathaway. Returns that manager's holdings.
length 0–10
managerOptionalstringManager name to search for instead of cik, e.g. bridgewater. The best match is returned, with other close matches in otherMatches.
length 0–100
tickerOptionalstringTicker symbol. Alone, lists the managers holding it; with cik or manager, filters that manager's holdings to it.
length 0–10
cusipOptionalstring9-character CUSIP. Alone, lists the managers holding it; with cik or manager, filters that manager's holdings to it.
length 8–9
periodOptionalPremiumstringQuarter to read, as a quarter end (2026-03-31) or quarter (2026Q1). Defaults to the latest quarter.
changeTypeOptionalstringOnly positions that are new, increased, decreased, unchanged or soldout since the previous quarter. Sold-out positions appear only with soldout.
newincreaseddecreasedunchangedsoldout
putCallOptionalstringOption filter: put, call, none (shares and principal only) or all. Defaults to all.
putcallnoneall
minValueOptionalnumberOnly positions worth at least this many US dollars.
range 0–∞
maxValueOptionalnumberOnly positions worth at most this many US dollars.
range 0–∞
sortOptionalstringSort by value (default), shares, change (share change), changepercent or portfolio (weight).
valueshareschangechangepercentportfolio
orderOptionalstringSort order: desc (default) or asc.
descasc
limitOptionalPremiumintegerRows to return (1-100). Defaults to 10.
range 1–100
offsetOptionalPremiumintegerRows to skip, for paging through a large portfolio or holder list.
range 0–∞
summaryOptionalPremiumbooleanAdd a summary: for a manager, value change, position counts by change type, top-10 concentration and turnover; for a security, holder flows and top-10 share concentration.

Response

Every API returns the same three top-level keys, so one response handler covers your whole integration: status, error and data. Only data changes shape. Response format covers the envelope, the other output formats and how premium fields are withheld.

Sample response
{
  "status": "ok",
  "error": null,
  "data": {
    "mode": "manager",
    "period": "2026-06-30",
    "quarter": "2026Q2",
    "previousPeriod": "2026-03-31",
    "manager": {
      "cik": "0001067983",
      "name": "Berkshire Hathaway Inc",
      "city": "Omaha",
      "state": "NE"
    },
    "filing": {
      "formType": "13F-HR",
      "accessionNumber": "0001193125-26-352200",
      "filingDate": "2026-08-14",
      "amendments": 0,
      "url": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/"
    },
    "totalValue": 299253556246,
    "positionCount": 29,
    "count": 5,
    "offset": 0,
    "totalMatches": 29,
    "holdings": [
      {
        "issuer": "APPLE INC",
        "ticker": "AAPL",
        "cusip": "037833100",
        "figi": "BBG001S5N8V8",
        "titleOfClass": "COM",
        "shares": 227917808,
        "shareType": "SH",
        "value": 65950296923,
        "portfolioPercent": 22.0383,
        "putCall": null,
        "investmentDiscretion": "DFND",
        "votingAuthority": {
          "sole": 227917808,
          "shared": 0,
          "none": 0
        },
        "previousShares": 227917808,
        "previousValue": 57843260493,
        "shareChange": 0,
        "shareChangePercent": 0,
        "valueChange": 8107036430,
        "changeType": "unchanged",
        "isNew": false
      },
      {
        "issuer": "AMERICAN EXPRESS CO COM",
        "ticker": "AXP",
        "cusip": "025816109",
        "figi": "BBG001S5P034",
        "titleOfClass": "Stock",
        "shares": 151610700,
        "shareType": "SH",
        "value": 51282319275,
        "portfolioPercent": 17.1367,
        "putCall": null,
        "investmentDiscretion": "DFND",
        "votingAuthority": {
          "sole": 151610700,
          "shared": 0,
          "none": 0
        },
        "previousShares": 151610700,
        "previousValue": 45859204536,
        "shareChange": 0,
        "shareChangePercent": 0,
        "valueChange": 5423114739,
        "changeType": "unchanged",
        "isNew": false
      },
      {
        "issuer": "COCA COLA CO",
        "ticker": "KO",
        "cusip": "191216100",
        "figi": "BBG001S5SMQ8",
        "titleOfClass": "COM",
        "shares": 400000000,
        "shareType": "SH",
        "value": 32508000000,
        "portfolioPercent": 10.863,
        "putCall": null,
        "investmentDiscretion": "DFND",
        "votingAuthority": {
          "sole": 400000000,
          "shared": 0,
          "none": 0
        },
        "previousShares": 400000000,
        "previousValue": 30420000000,
        "shareChange": 0,
        "shareChangePercent": 0,
        "valueChange": 2088000000,
        "changeType": "unchanged",
        "isNew": false
      },
      {
        "issuer": "ALPHABET INC",
        "ticker": "GOOGL",
        "cusip": "02079K305",
        "figi": "BBG009S39JY5",
        "titleOfClass": "CAP STK CL A",
        "shares": 78791167,
        "shareType": "SH",
        "value": 28157599351,
        "portfolioPercent": 9.4093,
        "putCall": null,
        "investmentDiscretion": "DFND",
        "votingAuthority": {
          "sole": 78791167,
          "shared": 0,
          "none": 0
        },
        "previousShares": 54249798,
        "previousValue": 15600071913,
        "shareChange": 24541369,
        "shareChangePercent": 45.24,
        "valueChange": 12557527438,
        "changeType": "increased",
        "isNew": false
      },
      {
        "issuer": "BANK OF AMER CORP COM",
        "ticker": "BAC",
        "cusip": "060505104",
        "figi": "BBG000BD2C18",
        "titleOfClass": "Stock",
        "shares": 483394015,
        "shareType": "SH",
        "value": 27543790975,
        "portfolioPercent": 9.2042,
        "putCall": null,
        "investmentDiscretion": "DFND",
        "votingAuthority": {
          "sole": 483394015,
          "shared": 0,
          "none": 0
        },
        "previousShares": 513624165,
        "previousValue": 25039178044,
        "shareChange": -30230150,
        "shareChangePercent": -5.89,
        "valueChange": 2504612931,
        "changeType": "decreased",
        "isNew": false
      }
    ]
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
modestring"manager"manager (a manager's holdings) or holders (the managers holding a security)
periodstring"2026-06-30"Quarter-end date of the report (YYYY-MM-DD)
quarterstring"2026Q2"Quarter of the report, e.g. 2026Q2
previousPeriodstring"2026-03-31"Quarter the change fields compare against; null when there is no earlier report
managerobject{...}Manager mode: the 13F filer
cikstring"0001067983"SEC Central Index Key, 10 digits
namestring"Berkshire Hathaway Inc"Filing manager name
citystring"Omaha"City of the filing manager
statestring"NE"State or country code of the filing manager
filingobject{...}Manager mode: the report the holdings come from
formTypestring"13F-HR"13F-HR, or 13F-HR/A when a restatement replaced the original
accessionNumberstring"0001193125-26-352200"SEC accession number
filingDatestring"2026-08-14"Date the report was filed (YYYY-MM-DD)
amendmentsnumber0Amendments filed for this quarter
urlstring"https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/"EDGAR folder of the filing
totalValuenumber299253556246Manager mode: total reported value in US dollars; holders mode: total value of share positions in the security
positionCountnumber29Manager mode: number of positions reported
countnumber5Rows returned
offsetnumber0Rows skipped
totalMatchesnumber29Rows matching the filters before paging
holdingsarray[5]Manager mode: positions, largest first by default
issuerstring"APPLE INC"Issuer name as filed
tickerstring"AAPL"Ticker matched through SEC data, or null
cusipstring"037833100"CUSIP
figistring"BBG001S5N8V8"FIGI when the filer supplied one, else null
titleOfClassstring"COM"Class of security as filed
sharesnumber227917808Shares, or principal amount when shareType is PRN; 0 for a sold-out position
shareTypestring"SH"SH (shares) or PRN (principal amount)
valuenumber65950296923Reported value in US dollars
portfolioPercentnumber22.0383Value as a percent of the manager's total reported value
putCallobjectnullPut or Call for option positions, null for shares
investmentDiscretionstring"DFND"SOLE, DFND (shared-defined) or OTR (shared-other); MIXED when rows differed
votingAuthorityobject{...}Shares by voting authority
solenumber227917808Shares with sole voting authority
sharednumber0Shares with shared voting authority
nonenumber0Shares with no voting authority
previousSharesnumber227917808Shares in the previous quarter (0 for a new position); null without an earlier report
previousValuenumber57843260493Value in the previous quarter in US dollars; null without an earlier report
shareChangenumber0Change in shares since the previous quarter
shareChangePercentnumber0Change in shares in percent; null for a new position
valueChangenumber8107036430Change in value in US dollars
changeTypestring"unchanged"new, increased, decreased, unchanged or soldout
isNewbooleanfalseTrue when the position was not held in the previous quarter

Errors

Read the HTTP status first, then error for the specific reason. The body names the parameter that has to change. Error handling covers the full status list and which of them are worth retrying.

StatusMeaningWhat to do
400Input was rejectedRead error; it names the parameter.
401Key missing or invalidCheck the header name and the key value.
403Key valid, but not permittedA key restriction or IP allow-list; see key scoping.
429Rate limited, or out of creditsRead error to tell them apart; see rate limits.

Use cases

Fund Tracking Apps
Investor apps follow well-known managers each quarter, showing new buys, adds, trims and exits straight from the change fields.
Institutional Ownership Pages
Stock research sites list the largest institutional holders of a ticker with their share changes and how many funds entered or exited.
Investor Relations Monitoring
IR teams watch which institutions built or cut positions in their own stock and peers' stocks after each 13F deadline.
Quant Signals
Researchers measure crowding and conviction from holder counts, top-10 concentration and quarter-over-quarter flows across thousands of managers.

Other ways to use Institutional Holdings

Set up Institutional Holdings on APIVerve, or reach the same source a different way. Your APIVerve account and credits work on all of them — one key, one balance.

Give it to an AI agentConnect over MCP and your agent calls it as a native tool — Claude, Cursor, ChatGPT.VerveKit →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Finance:

Was this page helpful?