> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmquantdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 13F Holdings by Manager

> List a single institutional manager's full SEC Form 13F holdings for a given quarter — the "what is this fund holding?" lookup.

<Note icon="sparkles">
  **Available as MCP tool**: `sec_13f_list_manager_holdings` — call directly from Claude / Cursor / any MCP client. See [MCP Server](/en/integration/mcp-server) for the 60-second setup.
</Note>

<Badge color="green" icon="circle-check">Live</Badge>
 
<Badge color="blue" size="sm">1 credit per call</Badge>

## What it does for your agent

`sec_13f_list_manager_holdings` is the **forward direction** of the 13F smart-money lookup: given a `manager_cik` or natural-language `manager_name` plus optional `(year, quarter)`, return that institution's full SEC Form 13F-HR holdings for that quarter — CUSIP, mapped ticker, position value, share count, voting authority, options vs cash. Use it when an agent already knows the fund and wants to enumerate its book.

Pass two different `(year, quarter)` values to do **quarter-over-quarter holdings diffs** (added / trimmed / new buys / fully sold) for the same fund.

This tool is **not semantic search**. `manager_name` is resolved by a lightweight server-side `exact → alias → light fuzzy` matcher; it doesn't accept long natural-language queries. Coverage is the **requested quarter's top 1,000 institutional managers** ranked by 13F reportable value (an AUM proxy); each quarter has its own top 1,000. Managers outside that quarter's covered set return empty `data` with an explanatory `meta.notice`.

## Response

<ResponseField name="data" type="ManagerHoldingsResult" required>
  <Expandable title="ManagerHoldingsResult fields">
    <ResponseField name="ranking_period" type="string" nullable>
      Quarter (YYYY-MM-DD) the response data is from; equals the quarter-end matching your `(year, quarter)` input.
    </ResponseField>

    <ResponseField name="manager" type="object" required>
      Resolved manager identity and AUM proxy.

      <Expandable title="manager fields">
        <ResponseField name="manager_cik" type="string" required>SEC CIK.</ResponseField>
        <ResponseField name="manager_name" type="string" required>Canonical manager name.</ResponseField>
        <ResponseField name="match_type" type="string" required>How the manager was resolved: `cik` / `exact` / `alias` / `fuzzy`.</ResponseField>
        <ResponseField name="latest_reportable_value_usd" type="number" required>**Manager's overall most-recent size** (independent of requested quarter): latest 13F reportable value (AUM proxy).</ResponseField>
        <ResponseField name="latest_reportable_value_period" type="string" required>Period of `latest_reportable_value_usd`.</ResponseField>
        <ResponseField name="period_rank" type="integer" nullable>Manager's rank in the covered Top 1,000 manager set for `ranking_period` (null if no ranking exists for that quarter).</ResponseField>
        <ResponseField name="period_reportable_value_usd" type="number" nullable>Manager's reportable value for `ranking_period` (USD).</ResponseField>
        <ResponseField name="is_in_covered_manager_set" type="boolean" required>Whether the manager is in `ranking_period`'s covered Top 1,000 manager set — evaluated per quarter, since each quarter has its own Top 1,000.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="filing" type="object" required>
      Filing identifier of the matched 13F-HR submission.

      <Expandable title="filing fields">
        <ResponseField name="filing_type" type="string" required>`13F-HR` or `13F-HR/A` (amendment).</ResponseField>
        <ResponseField name="accession_number" type="string" required>SEC accession number.</ResponseField>
        <ResponseField name="filed_at" type="string" required>Date filed (`YYYY-MM-DD`).</ResponseField>
        <ResponseField name="period_of_report" type="string" required>Quarter-end the filing reports on.</ResponseField>
        <ResponseField name="is_amendment" type="boolean" required>True for an amendment filing.</ResponseField>
        <ResponseField name="table_entry_total" type="integer" required>Total holdings rows in the source filing.</ResponseField>
        <ResponseField name="table_value_total" type="number" required>Sum of `value_usd` across the source filing.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="holdings" type="Holding[]" required>
      Holdings sorted by `value_usd` descending.

      <Expandable title="Holding fields">
        <ResponseField name="cusip" type="string" required>CUSIP identifier.</ResponseField>
        <ResponseField name="ticker" type="string" nullable>Mapped U.S. ticker (null for cash, options, private placements).</ResponseField>
        <ResponseField name="name_of_issuer" type="string" required>Issuer name as filed.</ResponseField>
        <ResponseField name="title_of_class" type="string" required>Security class (e.g. `COM`).</ResponseField>
        <ResponseField name="value_usd" type="number" required>Position market value in USD.</ResponseField>
        <ResponseField name="shares" type="number" required>Number of shares (or principal amount).</ResponseField>
        <ResponseField name="shares_type" type="string" required>`SH` (shares) or `PRN` (principal).</ResponseField>
        <ResponseField name="investment_discretion" type="string" required>`SOLE` / `SHARED` / `NONE` / `DFND`.</ResponseField>
        <ResponseField name="voting_sole" type="number" required>Sole voting authority shares.</ResponseField>
        <ResponseField name="voting_shared" type="number" required>Shared voting authority shares.</ResponseField>
        <ResponseField name="voting_none" type="number" required>No voting authority shares.</ResponseField>
        <ResponseField name="put_call" type="string" nullable>`PUT` / `CALL`, or `null` for non-options.</ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta.creditsUsed" type="number">Credits consumed (always `1`).</ResponseField>
<ResponseField name="meta.remainingCredits" type="number">Credits left after this call.</ResponseField>
<ResponseField name="meta.notice" type="string">Plain-English coverage note, when the response needs one.</ResponseField>

```json title="200 OK · sec_13f_list_manager_holdings" expandable theme={null}
{
  "data": {
    "ranking_period": "2025-12-31",
    "manager": {
      "manager_cik": "1067983",
      "manager_name": "BERKSHIRE HATHAWAY INC",
      "match_type": "alias",
      "latest_reportable_value_usd": 302459211458,
      "latest_reportable_value_period": "2025-12-31",
      "period_rank": 7,
      "period_reportable_value_usd": 302459211458,
      "is_in_covered_manager_set": true
    },
    "filing": {
      "filing_type": "13F-HR",
      "accession_number": "0000950123-26-001234",
      "filed_at": "2026-02-14",
      "period_of_report": "2025-12-31",
      "is_amendment": false,
      "table_entry_total": 110,
      "table_value_total": 302459211458
    },
    "holdings": [
      {
        "cusip": "025816109",
        "ticker": "AXP",
        "name_of_issuer": "AMERICAN EXPRESS CO",
        "title_of_class": "COM",
        "value_usd": 55145133598,
        "shares": 149061045,
        "shares_type": "SH",
        "investment_discretion": "SOLE",
        "voting_sole": 149061045,
        "voting_shared": 0,
        "voting_none": 0,
        "put_call": null
      }
    ]
  },
  "meta": {
    "creditsUsed": 1,
    "remainingCredits": 999,
    "notice": "13F coverage: Top 1,000 managers for quarter 2025-12-31 (each quarter has its own Top 1,000). Ranking data available for 4 quarters: 2025-03-31 … 2025-12-31. Reportable value is an AUM proxy excluding fixed income, options, non-U.S. holdings, and shorts."
  }
}
```

## Notes

<Tip>
  **Canonical workflow**: pair this tool with `sec_13f_list_top_managers` (to derive a fund pool, e.g. top 30) and `sec_13f_list_ticker_holders` (to invert "who holds X?"). For consensus / overlap analyses: enumerate top managers → fan out one call per manager into this tool → aggregate client-side.
</Tip>

<Tip>
  **Typical agent queries**: this tool returns single-quarter holdings only; quarter-over-quarter comparisons require the agent to call it twice and diff locally.

  <Prompt description="Single-quarter holdings for one manager">
    Show me Berkshire's 13F holdings for 2025 Q4 — what are the top 10 positions by value?
  </Prompt>

  <Prompt description="Quarter-over-quarter holdings change for one manager">
    Compare Berkshire's 13F holdings between the latest two quarters — which positions did they add to, trim, newly buy, or fully sell?
  </Prompt>
</Tip>

<Warning>
  **Top 1,000 only.** Outside-scope `manager_cik` returns 200 OK with empty `data` and `meta.notice`.
</Warning>

<Warning>
  Errors: `manager_name` resolves to nothing → 200 OK with empty `data` and `meta.notice`. `manager_name` is ambiguous → `400 invalid_request`; provide `manager_cik` to disambiguate.
</Warning>

<Warning>
  Confidential / delayed-disclosure holdings are not exposed.
</Warning>

## Direct invocation

<Accordion title="HTTP / SDK examples" icon="terminal">
  <CodeGroup>
    ```typescript MCP (Claude / Cursor) theme={null}
    {
      "method": "tools/call",
      "params": {
        "name": "sec_13f_list_manager_holdings",
        "arguments": {
          "manager_name": "Berkshire Hathaway",
          "year": 2025,
          "quarter": 4,
          "limit": 200
        }
      }
    }
    ```

    ```python Python (HTTP) theme={null}
    import os, requests

    resp = requests.get(
        "https://api.llmquantdata.com/api/filings/13f/by-manager",
        headers={"Authorization": f"Bearer {os.environ['LLMQUANT_API_KEY']}"},
        params={"manager_name": "Berkshire Hathaway", "year": 2025, "quarter": 4},
    ).json()
    manager = resp["data"]["manager"]
    for h in resp["data"]["holdings"][:10]:
        label = h["ticker"] or h["cusip"]
        print(f"{label:<8} ${h['value_usd']:>15,}")
    ```

    ```bash cURL theme={null}
    curl "https://api.llmquantdata.com/api/filings/13f/by-manager?manager_name=Berkshire%20Hathaway&year=2025&quarter=4" \
      -H "Authorization: Bearer $LLMQUANT_API_KEY"
    ```
  </CodeGroup>
</Accordion>

## Full parameter reference

<Accordion title="sec_13f_list_manager_holdings — request parameters" icon="sliders">
  <ParamField query="manager_cik" type="string">
    SEC CIK of the filing manager (e.g. `1067983` for Berkshire Hathaway). When both `manager_cik` and `manager_name` are supplied, `manager_cik` is authoritative; disagreement returns `400`.
  </ParamField>

  <ParamField query="manager_name" type="string">
    Free-form manager name (e.g. `Bridgewater`, `Berkshire Hathaway`). Resolved server-side via `exact → alias → light fuzzy`.
  </ParamField>

  <ParamField query="year" type="integer">
    Calendar year of the quarter to query (e.g. `2025`). Range `[2013, 2030]`. **Must be paired with `quarter`**; omit both for the manager's most recent covered quarter.
  </ParamField>

  <ParamField query="quarter" type="integer">
    Calendar quarter `1-4` (Q1=Jan-Mar, Q4=Oct-Dec). **Must be paired with `year`**.
  </ParamField>

  <ParamField query="limit" type="integer" default={200}>
    Maximum holdings returned. Default `200`. Max `500`.
  </ParamField>

  <Warning>
    At least one of `manager_cik` or `manager_name` must be provided.
  </Warning>
</Accordion>

## Related

<Columns cols={3}>
  <Card title="13F Holders by Ticker" icon="rotate" href="/en/api/filings/13f-by-ticker">
    Reverse direction — which Top 1000 managers hold this ticker?
  </Card>

  <Card title="13F Top Managers" icon="ranking-star" href="/en/api/filings/13f-top-managers">
    Enumerate the covered Top 1000 manager set to build a fund pool.
  </Card>

  <Card title="MCP Server setup" icon="plug" href="/en/integration/mcp-server">
    Connect Claude / Cursor / any harness in 60 seconds.
  </Card>
</Columns>
