---
title: "Get institution 13F position changes"
method: GET
path: "/intelligence/institution/{cik}/position-changes"
tags: ["Intelligence"]
---

# Get institution 13F position changes

`GET /intelligence/institution/{cik}/position-changes`

## Request

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

Diff the two most recent quarterly 13F snapshots for an institution by
CIK. Returns per-position changes — new, increased, decreased, exited —
sorted by absolute percentage change so the biggest moves surface first.

Compares ONLY against the immediately preceding quarter. If the
institution has no holdings filing for that quarter (first-time filer,
skipped quarter, filing not yet ingested), `changesMeasured` is false
and `changes` / `pagination.total` are null — not measured, never an
all-new list. Previous-quarter shares are moved onto the current
quarter's share basis for splits executed between the two period ends
(`splitRebased: true`), so a 10:1 split does not read as a 10x increase.

**Credit cost: 10**

## Path parameters

- `cik` string, required

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

Quarter-over-quarter position changes

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