---
title: "The tracked stock positions reported by an institution for an actual 13F report date, ranked by stored position value. Share counts are restated onto today's split basis by each position's own stock's splits. Value normally derives from shares times the report-date close, falls back to filed value when needed, and can be zero when valuation is unavailable."
method: GET
path: "/v1/institutions/{cik}/portfolio"
tags: ["Institutions"]
---

# The tracked stock positions reported by an institution for an actual 13F report date, ranked by stored position value. Share counts are restated onto today's split basis by each position's own stock's splits. Value normally derives from shares times the report-date close, falls back to filed value when needed, and can be zero when valuation is unavailable.

`GET /v1/institutions/{cik}/portfolio`

## Request

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

## Path parameters

- `cik` string, required

## Query parameters

- `reportDate` string, date
- `limit` integer
- `offset` integer

## Response `200`

OK

- InstitutionPortfolioResponse
  - `data` InstitutionPositionDto[], nullable
    - `ticker` string, nullable
    - `company` string, nullable
    - `shares` integer: Share count restated onto today's split basis by the position's own stock's splits.
    - `value` integer: Published position value in dollars: normally reported shares × the report-date close, with the filer's reported value as a fallback; zero can mean unavailable.
    - `listedTicker` string, nullable: The exact listed share class this position is in; null = the primary listing named by Ticker.
    - `positionType` string, nullable: The security this line reports: "Common" = shares held outright, "Principal" = a principal-denominated security, and "Put" or "Call" = an option position reported at the notional value of underlying shares. A put is a bearish bet, not ownership. A filer holding both common and options in one name emits one row per security, so this is what tells them apart.
    - `heldQuarters` integer, nullable: Common shares only: consecutive quarters the filer has reported the position through this report date. Omitted until the quarter is measured.
    - `heldSinceCoverageStart` boolean, nullable: True when the run reaches the start of 13F coverage, so the position is at least heldQuarters old.
    - `estimatedCostPerShare` number, double, nullable: ESTIMATED average cost per share, restated onto today's split basis like Shares: each buy since the position opened costed at its quarter's average price, never a filed figure. Omitted when costStatus is not "estimated".
    - `costStatus` string, nullable: Common shares only: "estimated", "before-history" (already held when the filer's comparable 13F history starts) or "unpriced" (a buy had no trusted quarter average price). Omitted until the quarter is measured.
  - `meta` InstitutionPortfolioMeta: Paging meta extended with the report date the portfolio snapshot was resolved to.
    - `reportDate` string, date
    - `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)
