---
title: "Who owns a stock, as shares and % of shares outstanding: 13F institutions, insiders (Forms 3, 4 and 5, single-class issuers only), 13D and 13G blocks no 13F report already holds, and the remainder, flagged rather than clipped when negative. Registered funds are shown but never summed, since their shares sit inside their advisers' 13F reports. Each holder counts once: insiders who file 13Fs, holders a 13F filer reports, and the filers and persons of any 13D or 13G that names a 13F filer, directly or through filings naming one another, are left out of the other lines, by CIK and SEC reporting links, never by name. A foreign private issuer's count is in ordinary shares, a different unit, so it gets no percentages or remainder. The 13F shares are also split by holder type, style and location."
method: GET
path: "/v1/securities/{ticker}/ownership-summary"
tags: ["StockOwnership"]
---

# Who owns a stock, as shares and % of shares outstanding: 13F institutions, insiders (Forms 3, 4 and 5, single-class issuers only), 13D and 13G blocks no 13F report already holds, and the remainder, flagged rather than clipped when negative. Registered funds are shown but never summed, since their shares sit inside their advisers' 13F reports. Each holder counts once: insiders who file 13Fs, holders a 13F filer reports, and the filers and persons of any 13D or 13G that names a 13F filer, directly or through filings naming one another, are left out of the other lines, by CIK and SEC reporting links, never by name. A foreign private issuer's count is in ordinary shares, a different unit, so it gets no percentages or remainder. The 13F shares are also split by holder type, style and location.

`GET /v1/securities/{ticker}/ownership-summary`

## Request

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

## Path parameters

- `ticker` string, required

## Query parameters

- `view` string

## Response `200`

OK

- OwnershipSummaryResponse: Who owns a listing: 13F institutions, insiders and 13D/G-only blocks summed against shares outstanding, registered funds shown but never summed, and what remains.
  - `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 institutional line reads; 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.
  - `sharesOutstanding` integer, nullable: The issuer's entity-wide common shares on today's split basis; null when unavailable.
  - `percentUnavailableReason` string, nullable: Why percentages of shares outstanding are unavailable (an exact listing, no count on record, or a foreign private issuer whose count is in ordinary shares); null when they are available.
  - `institutional` OwnershipSummaryLineDto: One line of the ownership summary.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer: Shares restated onto today's split basis.
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
    - `summed` boolean: True when the line adds into the total that remaining is left from.
  - `insiders` OwnershipSummaryLineDto: One line of the ownership summary.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer: Shares restated onto today's split basis.
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
    - `summed` boolean: True when the line adds into the total that remaining is left from.
  - `insidersNotSummedReason` string, nullable: Why insiders are not summed (a multi-class issuer); null when they are.
  - `schedule13DGOnly` OwnershipSummaryLineDto: One line of the ownership summary.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer: Shares restated onto today's split basis.
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
    - `summed` boolean: True when the line adds into the total that remaining is left from.
  - `funds` OwnershipSummaryLineDto: One line of the ownership summary.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer: Shares restated onto today's split basis.
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
    - `summed` boolean: True when the line adds into the total that remaining is left from.
  - `remaining` OwnershipSummaryLineDto: One line of the ownership summary.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer: Shares restated onto today's split basis.
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
    - `summed` boolean: True when the line adds into the total that remaining is left from.
  - `remainingNegative` boolean: True when the summed disclosures exceed shares outstanding; remaining is then negative, flagged rather than clipped.
  - `splitUnresolvedRows` integer: Summed rows whose shares stay as filed because a split since cannot be attributed to the listing.
  - `byHolderType` OwnershipBreakdownLineDto[], nullable
    - `token` string, nullable: A stable token for the bucket, such as adv, idx or us.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
  - `byStyle` OwnershipBreakdownLineDto[], nullable
    - `token` string, nullable: A stable token for the bucket, such as adv, idx or us.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
  - `styleAsOf` string, date, nullable: The newest measured 13F quarter byStyle reads; null when none is measured.
  - `byLocation` OwnershipBreakdownLineDto[], nullable
    - `token` string, nullable: A stable token for the bucket, such as adv, idx or us.
    - `label` string, nullable
    - `holders` integer
    - `shares` integer
    - `percentOutstanding` number, double, nullable: Shares as a percentage (0 to 100) of shares outstanding; null when that is unavailable.
  - `ultimateParents` UltimateHolderGroupDto[], nullable: For view=ultimate, the 15 largest ultimate parents; 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.

## 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)
