---
title: "Every disclosed holder of a stock or ETF listing in one list: 13F institutions, Schedule 13D and 13G filers, insiders (Forms 3, 4 and 5, primary listing only), registered funds (each series' latest N-PORT) and non-US disclosures. view=default gives one row per holder from its freshest filing, with its other filings and the 13D/G, insider and fund disclosures its 13F report holds nested under it, matched by CIK and SEC reporting links, never by name; zero balances, insider filings older than 24 months and 13D/G filings older than the 13F quarter that covers them are hidden. view=all, or a source filter, lists every row flat with stale ones flagged. view=ultimate groups the summed holders under their ultimate parent. Shares are restated onto today's split basis and change compares each row with the same holder's previous filing in the same source."
method: GET
path: "/v1/stocks/{ticker}/holders"
tags: ["StockOwnership"]
---

# Every disclosed holder of a stock or ETF listing in one list: 13F institutions, Schedule 13D and 13G filers, insiders (Forms 3, 4 and 5, primary listing only), registered funds (each series' latest N-PORT) and non-US disclosures. view=default gives one row per holder from its freshest filing, with its other filings and the 13D/G, insider and fund disclosures its 13F report holds nested under it, matched by CIK and SEC reporting links, never by name; zero balances, insider filings older than 24 months and 13D/G filings older than the 13F quarter that covers them are hidden. view=all, or a source filter, lists every row flat with stale ones flagged. view=ultimate groups the summed holders under their ultimate parent. Shares are restated onto today's split basis and change compares each row with the same holder's previous filing in the same source.

`GET /v1/stocks/{ticker}/holders`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/stocks/{ticker}/holders`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/stocks/:ticker/holders/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `ticker` string, required

## Query parameters

- `limit` integer
- `offset` integer
- `source` string
- `view` string
- `holderTypes` string

## Response `200`

OK

- StockHoldersResponse: Every disclosed holder of a listing, one page of rows or of ultimate parents.
  - `listingNotice` ListingNotice: What happened to a requested ticker that no longer trades. "delisted": the company has no current US listing, so the answer is its history. "renamed": the company now trades as successorTicker, its current US presentation ticker (possibly another share class). A listed series (short volume, short interest, off-exchange volume, fails-to-deliver, congressional trades) is the retired ticker's own; a company-level read is the company's data.
    - `status` string, nullable: "delisted" or "renamed".
    - `ticker` string, nullable: The retired ticker as listed.
    - `delistedOn` string, date, nullable: The day the retired listing stopped trading, when known.
    - `successorTicker` string, nullable: For "renamed", the company's current US presentation ticker; null for "delisted".
  - `ticker` string, nullable: The listed ticker read: the requested ETF series or share class, or the company's primary listing.
  - `exactListing` boolean: True when the listing is read on its own (an ETF series or a sibling share class): insiders and percentages are issuer-wide, so they are left out.
  - `reportDate` string, date, nullable: The 13F quarter the 13F rows present; null when the listing has no 13F rows.
  - `carriedFrom` string, date, nullable: For a combined 13F quarter (its filing window is still open), the quarter whose positions filers yet to file carry; otherwise null.
  - `view` string, nullable: default, all or ultimate.
  - `source` string, nullable: The source filter applied: all, 13f, 13dg, 13d, 13g, insider, fund or nonus.
  - `sharesOutstanding` integer, nullable: The issuer's common shares on today's split basis that percentOutstanding divides by; null when unavailable.
  - `percentUnavailableReason` string, nullable: Why percentages of shares outstanding are unavailable; null when they are available.
  - `data` StockHolderDto[], nullable: The page of holder rows; empty for view=ultimate.
    - `name` string, nullable
    - `source` string, nullable: The disclosure: 13f, 13d, 13g, insider, fund or nonus (the same tokens the source parameter takes).
    - `idType` string, nullable: What id holds: cik (a 13F, 13D, 13G or insider filer), series (an SEC fund series), lei, or key (a source's own key). Rows are matched by these ids, never by name.
    - `id` string, nullable
    - `cik` string, nullable: The filer's SEC CIK; null for a fund series or a non-US row.
    - `seriesId` string, nullable: The SEC fund series id of an N-PORT row; null otherwise.
    - `detail` string, nullable: A short role or registrant line: an insider's role, a fund's registrant, a non-US notification's threshold.
    - `holderType` string, nullable: The holder's entity type from regulatory records, never from its name, as on the institutional-holders endpoint; null when the holder is not classified.
    - `style` string, nullable: The holder's style band measured from its filed 13F book; null when it is not measured.
    - `country` string, nullable: The EDGAR state or country code of the holder's address; null when unknown.
    - `shares` integer: Shares restated onto today's split basis; 0 for a row that states only votingRightsPercent.
    - `filedShares` number, double: Shares as the disclosure states them; 0 for a row that states only votingRightsPercent.
    - `value` integer, nullable: The position's US dollar value as the source reports or derives it; null when none.
    - `changeShares` integer, nullable: Restated shares against the same holder's previous filing in the same source; null when there is none to compare.
    - `priorAsOf` string, date, nullable: The as-of date of the filing changeShares compares with.
    - `percentOutstanding` number, double, nullable: Restated shares as a percentage (0 to 100) of the issuer's shares outstanding; null when that is unavailable (see percentUnavailableReason).
    - `filedPercentOfClass` number, double, nullable: The percent of class the disclosure itself states (a 13D or 13G cover page), or a non-US major-holding notification's percentage of voting rights or, for a Canadian report, of the class, which states no share count; null otherwise.
    - `votingRightsPercent` number, double, nullable: The holder's percentage (0 to 100) of the issuer's voting rights as a non-US major-holding notification files it, when the notification states no share count; null on every other row.
    - `portfolioWeight` number, double, nullable: The position's share of the holder's book, in percent; null when unknown.
    - `asOf` string, date: 13F report date, 13D or 13G event date, insider transaction date or fund report period.
    - `filingDate` string, date, nullable
    - `accession` string, nullable
    - `carried` boolean: A 13F row carried from the previous quarter while its filer has not filed the open one.
    - `stale` boolean: A zero balance, an insider filing or non-US major-holding notification older than 24 months, or a 13D or 13G older than the 13F quarter that covers it; hidden from the default view.
    - `unconfirmed` boolean: A 13D or 13G with no filing in 24 months. The schedule stays in force until amended, so the row stays listed and summed; asOf is the last confirmed date.
    - `splitUnresolved` boolean: A split after the row's date cannot be attributed to the listing, so shares stay as filed and percentOutstanding is null.
    - `issuerWide` boolean: The balance covers every class of the issuer (Forms 3, 4 and 5, and a non-US notification's voting rights), not one listing.
    - `notSummed` boolean: The ownership summary does not add this row's shares: funds, nested rows, and holders a 13F report already holds.
    - `ultimateParentCik` string, nullable: The CIK of the ultimate parent the holder rolls up to; its own CIK when it has none.
    - `ultimateParentLink` string, nullable: The evidence that chose the holder's own parent on the way to UltimateParentCik: self (it is its own ultimate parent), reporting (a 13F notice names the manager whose report holds its holdings), gleif-direct or gleif-ultimate (a GLEIF parent record matched to a filer by LEI); null without a CIK.
    - `purpose` StatedPurposeDto: The purpose a Schedule 13D states in Item 4 ("Purpose of Transaction").
      - `state` string, nullable: stated (categories lists each purpose), none_stated (Item 4 states none of the classified purposes) or not_restated (an amendment that does not restate Item 4, so the earlier 13D's purpose stands).
      - `summary` string, nullable: The purposes' names joined, or why there are none.
      - `categories` StatedPurposeCategoryDto[], nullable
        - `token` string, nullable: A stable token for the purpose: ControlOrBoard, StrategicAlternatives, CapitalReturn, MergerStance, PassiveInvestment or Other.
        - `name` string, nullable
        - `quote` string, nullable: The filing's own sentence stating it.
    - `childCount` integer: How many rows nest under this one in the default view; children lists at most 25 of them.
    - `children` StockHolderDto[], nullable: The default view's rows nested under this one, largest first: the holder's other filings, and the 13D, 13G, insider and fund disclosures its 13F report holds. Empty in view=all.
  - `groups` UltimateHolderGroupDto[], nullable: For view=ultimate, the page of ultimate parents, largest first; null otherwise.
    - `ultimateParentCik` string, nullable
    - `name` string, nullable
    - `shares` integer
    - `form13FShares` integer: The part of shares its 13F filers report.
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
    - `members` StockHolderDto[], nullable: The summed rows grouped here, largest first.
      - `name` string, nullable
      - `source` string, nullable: The disclosure: 13f, 13d, 13g, insider, fund or nonus (the same tokens the source parameter takes).
      - `idType` string, nullable: What id holds: cik (a 13F, 13D, 13G or insider filer), series (an SEC fund series), lei, or key (a source's own key). Rows are matched by these ids, never by name.
      - `id` string, nullable
      - `cik` string, nullable: The filer's SEC CIK; null for a fund series or a non-US row.
      - `seriesId` string, nullable: The SEC fund series id of an N-PORT row; null otherwise.
      - `detail` string, nullable: A short role or registrant line: an insider's role, a fund's registrant, a non-US notification's threshold.
      - `holderType` string, nullable: The holder's entity type from regulatory records, never from its name, as on the institutional-holders endpoint; null when the holder is not classified.
      - `style` string, nullable: The holder's style band measured from its filed 13F book; null when it is not measured.
      - `country` string, nullable: The EDGAR state or country code of the holder's address; null when unknown.
      - `shares` integer: Shares restated onto today's split basis; 0 for a row that states only votingRightsPercent.
      - `filedShares` number, double: Shares as the disclosure states them; 0 for a row that states only votingRightsPercent.
      - `value` integer, nullable: The position's US dollar value as the source reports or derives it; null when none.
      - `changeShares` integer, nullable: Restated shares against the same holder's previous filing in the same source; null when there is none to compare.
      - `priorAsOf` string, date, nullable: The as-of date of the filing changeShares compares with.
      - `percentOutstanding` number, double, nullable: Restated shares as a percentage (0 to 100) of the issuer's shares outstanding; null when that is unavailable (see percentUnavailableReason).
      - `filedPercentOfClass` number, double, nullable: The percent of class the disclosure itself states (a 13D or 13G cover page), or a non-US major-holding notification's percentage of voting rights or, for a Canadian report, of the class, which states no share count; null otherwise.
      - `votingRightsPercent` number, double, nullable: The holder's percentage (0 to 100) of the issuer's voting rights as a non-US major-holding notification files it, when the notification states no share count; null on every other row.
      - `portfolioWeight` number, double, nullable: The position's share of the holder's book, in percent; null when unknown.
      - `asOf` string, date: 13F report date, 13D or 13G event date, insider transaction date or fund report period.
      - `filingDate` string, date, nullable
      - `accession` string, nullable
      - `carried` boolean: A 13F row carried from the previous quarter while its filer has not filed the open one.
      - `stale` boolean: A zero balance, an insider filing or non-US major-holding notification older than 24 months, or a 13D or 13G older than the 13F quarter that covers it; hidden from the default view.
      - `unconfirmed` boolean: A 13D or 13G with no filing in 24 months. The schedule stays in force until amended, so the row stays listed and summed; asOf is the last confirmed date.
      - `splitUnresolved` boolean: A split after the row's date cannot be attributed to the listing, so shares stay as filed and percentOutstanding is null.
      - `issuerWide` boolean: The balance covers every class of the issuer (Forms 3, 4 and 5, and a non-US notification's voting rights), not one listing.
      - `notSummed` boolean: The ownership summary does not add this row's shares: funds, nested rows, and holders a 13F report already holds.
      - `ultimateParentCik` string, nullable: The CIK of the ultimate parent the holder rolls up to; its own CIK when it has none.
      - `ultimateParentLink` string, nullable: The evidence that chose the holder's own parent on the way to UltimateParentCik: self (it is its own ultimate parent), reporting (a 13F notice names the manager whose report holds its holdings), gleif-direct or gleif-ultimate (a GLEIF parent record matched to a filer by LEI); null without a CIK.
      - `purpose` StatedPurposeDto: The purpose a Schedule 13D states in Item 4 ("Purpose of Transaction").
        - `state` string, nullable: stated (categories lists each purpose), none_stated (Item 4 states none of the classified purposes) or not_restated (an amendment that does not restate Item 4, so the earlier 13D's purpose stands).
        - `summary` string, nullable: The purposes' names joined, or why there are none.
        - `categories` StatedPurposeCategoryDto[], nullable
          - `token` string, nullable: A stable token for the purpose: ControlOrBoard, StrategicAlternatives, CapitalReturn, MergerStance, PassiveInvestment or Other.
          - `name` string, nullable
          - `quote` string, nullable: The filing's own sentence stating it.
      - `childCount` integer: How many rows nest under this one in the default view; children lists at most 25 of them.
      - `children` StockHolderDto[], nullable: The default view's rows nested under this one, largest first: the holder's other filings, and the 13D, 13G, insider and fund disclosures its 13F report holds. Empty in view=all.
  - `meta` PageMeta
    - `limit` integer
    - `offset` integer
    - `count` integer
    - `hasMore` boolean
    - `total` integer, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found

---

[API](https://skmtc.dev/equibles/apis/equibles-api.md) - [All operations](https://skmtc.dev/equibles/apis/equibles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/equibles/apis/equibles-api/revisions/666e06778588?raw)
