---
title: "Get per-quarter 13F position changes"
method: GET
path: "/companies/{ticker}/institutional-position-changes"
tags: ["Companies"]
---

# Get per-quarter 13F position changes

`GET /companies/{ticker}/institutional-position-changes`

## Request

- Base URL: `https://api.signal8.ai/api/v1/public`
- URL: `https://api.signal8.ai/api/v1/public/companies/{ticker}/institutional-position-changes`
- Auth: API key in header `X-Api-Key`

Get a per-quarter institutional position-change feed for a company. For
each trailing quarter it returns the count of institutions that opened,
increased, decreased, or closed positions, the net share delta, and the
top movers. Each quarter reports both periodEnd (the quarter the
holdings represent) and lastFiledAt (the latest filing date, since 13Fs
lag ~45 days). Tickers with no 13F coverage return 200 with an empty
changes array.

**Credit cost: 5**

## Path parameters

- `ticker` string, required

## Query parameters

- `periods` integer

## Response `200`

Per-quarter institutional position-change aggregates

- object

## Other responses

- `400`: Invalid request parameters
- `401`: Missing or invalid API key
- `402`: Not enough credits for this request
- `404`: Resource not found
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/signal8/apis/signal8-public-api.md) · [All operations](https://skmtc.dev/signal8/apis/signal8-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signal8/apis/signal8-public-api/revisions/5a18ae8d6d58?raw)
