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

# Institutional ownership

> Quarterly SEC 13F holdings for 25 headline institutional filers — position market value, shares, and filing detail per filer, issuer, and quarter — served through the observations API.

Financial Data API carries quarterly SEC Form 13F holdings for a curated set of 25 headline institutional filers as first-class observations: one row per filer, issuer, and quarter, with the position's market value as the observation value and the filing detail in metadata. You can read a stock's institutional owners, or walk a single manager's whole book, in the same envelope as everything else.

<Note>
  There is no dedicated REST route for 13F holdings yet — the recipe below reads them through the standard observations API, with the same pagination and provenance as any other series. Agents get a purpose-built [`institutional_holdings` MCP tool](/ai-agents/mcp-server) that wraps the same data, ticker- or filer-centric.
</Note>

## What data is available

Holdings live under the canonical indicator `indicator_institutional_holding`. Each observation is one **(filer, issuer, quarter)** position: the value is the position's market value in USD, and the metadata carries the rest of the 13F row.

<Columns cols={3}>
  <Card title="Value" icon="sack-dollar">
    The position's market value in USD, as reported for the calendar quarter.
  </Card>

  <Card title="Metadata" icon="table-list">
    `filerName`, `filerCik`, `cusip`, `shares`, `class`, `reportCalendarQuarter`, `putCall`.
  </Card>

  <Card title="Provenance" icon="route">
    `filedAt`, `accessionNumber`, and `filingUrl` point at the exact 13F filing behind the row.
  </Card>
</Columns>

<Info>
  Form 13F filings are public SEC documents, so holdings are official-source and redistribution-safe. Reports are quarterly, filed up to 45 days after quarter end, and the feed is amendment-aware: a 13F-HR/A supersedes the original where it restates a position.
</Info>

### The curated filer set

Coverage is a deliberate, curated set of 25 headline filers rather than the full 13F universe — the managers whose quarterly books move markets and headlines:

<Columns cols={3}>
  <Card title="Giants" icon="building-columns">
    Berkshire Hathaway, BlackRock, Vanguard, State Street.
  </Card>

  <Card title="Hedge funds" icon="chart-line">
    Bridgewater, Renaissance Technologies, Citadel Advisors, Millennium, D. E. Shaw, Two Sigma, AQR, Tiger Global, Coatue, Lone Pine, Viking Global, Baupost, Appaloosa.
  </Card>

  <Card title="Activists and stock-pickers" icon="bullhorn">
    Elliott, Pershing Square, Icahn, Third Point, Soros Fund Management, Duquesne Family Office, Scion Asset Management, Greenlight Capital.
  </Card>
</Columns>

## Authentication

Send your key as `x-api-key` (or `Authorization: Bearer`) with the `data:read` scope. See [Authentication](/authentication).

## Query holdings

Pull the whole panel with the indicator filter, or make it issuer-centric by adding `entity_id`.

<CodeGroup>
  ```bash cURL theme={"theme":"css-variables"}
  # Who holds Apple, most recent quarters first
  curl "https://api.financialdatapi.com/observations?indicator_id=indicator_institutional_holding&entity_id=ent_aapl&order=desc&limit=25" \
    -H "x-api-key: $FINANCIALDATA_API_KEY"

  # The full holdings panel across all 25 filers
  curl "https://api.financialdatapi.com/observations?indicator_id=indicator_institutional_holding&limit=100" \
    -H "x-api-key: $FINANCIALDATA_API_KEY"
  ```

  ```typescript TypeScript (@financialdatapi/client) theme={"theme":"css-variables"}
  import { FinancialDataApiClient } from "@financialdatapi/client";

  const client = new FinancialDataApiClient({ apiKey: process.env.FINANCIALDATA_API_KEY! });

  for await (const obs of client.paginate("/observations", {
    indicator_id: "indicator_institutional_holding",
    entity_id: "ent_aapl",
    order: "desc",
  })) {
    console.log(obs.metadata.filerName, obs.metadata.reportCalendarQuarter, obs.actual);
  }
  ```
</CodeGroup>

```json Response theme={"theme":"css-variables"}
{
  "data": [
    {
      "observationId": "obs_institutional_holding_brk_ent_aapl_2026q1",
      "indicatorId": "indicator_institutional_holding",
      "indicatorName": "Institutional holding (13F)",
      "entity": "ent_aapl",
      "actual": 63450000000,
      "unit": "USD",
      "periodEnd": "2026-03-31",
      "metadata": {
        "filerName": "Berkshire Hathaway Inc",
        "filerCik": "0001067983",
        "cusip": "037833100",
        "shares": 300000000,
        "class": "COM",
        "reportCalendarQuarter": "2026-Q1",
        "filedAt": "2026-05-14T21:05:00.000Z",
        "accessionNumber": "0000950123-26-004567",
        "filingUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000095012326004567/0000950123-26-004567-index.htm",
        "putCall": null
      },
      "provider": "U.S. Securities and Exchange Commission",
      "rawAvailable": true
    }
  ],
  "meta": {
    "api_version": "v1",
    "pagination": { "limit": 25, "cursor": null, "next_cursor": "...", "has_more": true }
  },
  "requestId": "..."
}
```

<Note>
  Example values above are illustrative. Pull live holdings from the endpoint.
</Note>

<Tip>
  Filer-centric reads work the same way: filter the panel client-side on `metadata.filerCik` (or use the `institutional_holdings` MCP tool, which accepts a filer directly). One filer's book for one quarter is the set of rows sharing `filerCik` and `reportCalendarQuarter`.
</Tip>

## Monitoring activist stakes

13F holdings are quarterly and lag the quarter end by up to 45 days. Activist positions usually surface faster through **Schedule 13D and 13G** filings, which Financial Data API serves as `issuer_disclosure` events in the unified events feed:

```bash cURL theme={"theme":"css-variables"}
curl "https://api.financialdatapi.com/events?event_class=issuer_disclosure&limit=20" \
  -H "x-api-key: $FINANCIALDATA_API_KEY"
```

Combine the two and you approximate an activist-watch feed: the 13D/G event tells you a stake crossed a disclosure threshold now, and the following quarter's 13F rows (Elliott, Pershing Square, Icahn, Third Point, and the rest of the curated set) show how the position evolved.

## Notes and caveats

<AccordionGroup>
  <Accordion title="Quarterly, with a reporting lag">
    13F reports are filed up to 45 days after each calendar quarter end, so positions are stale by design. `reportCalendarQuarter` is the quarter the holdings describe; `filedAt` is when the SEC received the filing. Use the events feed above for faster disclosure signals.
  </Accordion>

  <Accordion title="Amendments">
    The feed is amendment-aware: when a filer submits a 13F-HR/A, the restated rows supersede the originals for that quarter, and `accessionNumber` and `filingUrl` point at the filing each row actually came from.
  </Accordion>

  <Accordion title="What a 13F does and does not show">
    13F reports cover long US-listed equity positions (plus listed options, flagged via `putCall`). Short positions, swaps, and non-US holdings are not reportable, so a manager's 13F book is not their whole portfolio.
  </Accordion>

  <Accordion title="Curated, not exhaustive">
    Coverage is the 25 headline filers listed above, not every 13F filer. The set is curated for signal density; treat it as a panel of notable books rather than total institutional ownership of a stock.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Insider trades" icon="user-tie" href="/apis/insider-trades">
    SEC Forms 3/4/5 insider transactions for the same companies.
  </Card>

  <Card title="Economic calendar & events" icon="calendar" href="/apis/economic-calendar">
    The unified events feed that carries `issuer_disclosure` (13D/G) events.
  </Card>

  <Card title="Companies" icon="building" href="/apis/companies">
    The scored universe and entity resolution by ticker or CIK.
  </Card>

  <Card title="Provenance" icon="route" href="/concepts/provenance">
    Trace any holding back to its named SEC filing and ingestion run.
  </Card>
</CardGroup>
