---
title: "Aggregate reported 13F exposure history for an exact stock or ETF listing across quarterly report dates, oldest first. The legacy totalShares field sums common-share, put/call notional-underlying, and any tracked principal-denominated rows, so it is not pure share ownership. Non-ETF primary stocks use the combined view while the newest quarter's filing window is open; ETF listings remain exact and as-filed because carry-forward is filer-wide. Share totals are restated onto today's split basis before the change."
method: GET
path: "/v1/securities/{ticker}/institutional-ownership"
tags: ["Holdings"]
---

# Aggregate reported 13F exposure history for an exact stock or ETF listing across quarterly report dates, oldest first. The legacy totalShares field sums common-share, put/call notional-underlying, and any tracked principal-denominated rows, so it is not pure share ownership. Non-ETF primary stocks use the combined view while the newest quarter's filing window is open; ETF listings remain exact and as-filed because carry-forward is filer-wide. Share totals are restated onto today's split basis before the change.

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

## Request

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

## Path parameters

- `ticker` string, required

## Query parameters

- `periods` integer

## Response `200`

OK

- OwnershipPeriodDtoListResponse
  - `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".
  - `data` OwnershipPeriodDto[], nullable
    - `reportDate` string, date
    - `institutions` integer
    - `totalShares` integer: Legacy totalShares field: reported quantities across common-share, put/call notional-underlying and any tracked principal-denominated rows, restated onto today's split basis. This is aggregate 13F exposure, not pure share ownership.
    - `totalValue` integer: Sum of published position values in dollars. Each value normally derives from reported shares × report-date close, may fall back to the filer's value, and can be zero when unavailable.
    - `changePercent` number, double, nullable: Quarter-over-quarter change of totalShares in percent; null for the oldest returned period (nothing to compare against).
    - `isCombinedQuarter` boolean: True when this is the newest quarter presented as the combined view while its 13F filing window is still open.

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