---
title: "Api Insiders Cluster"
method: GET
path: "/api/insiders/{ticker}/cluster"
---

# Api Insiders Cluster

`GET /api/insiders/{ticker}/cluster`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/insiders/{ticker}/cluster`
- Auth: none declared

Recent insider-buying/selling CLUSTER events for a ticker (SF-5 5C).

DESCRIPTIVE only: distinct-actor counts + company/sector z-scores, NEVER a
predictive/return claim (the marketed track-record is the survivorship-gated
5C.5 fast-follow). Returns an empty `clusters` list with 200 (not 404) for a
ticker with no unusual cluster — many tickers legitimately have none.

## Path parameters

- `ticker` string, required

## Response `200`

Successful Response

- ClusterResponse: `GET /api/insiders/{ticker}/cluster` response. FREE (EDGAR-derived; same access policy as /api/insiders, per `sf_monetization_v3` + `pricing_rejection_2026_05_13`). Required: ticker echo, clusters list (may be empty — a ticker with no unusual cluster returns []), data_source.
  - `ticker` string, required: Echoed, upper-cased ticker.
  - `clusters` ClusterEventItem[], required: Recent fired cluster events, newest window first (empty when none qualify).
    - `direction` string, required: 'buy' | 'sell' (singular per event; a simultaneous buy+sell cluster is two items).
    - `insider_count` integer, required: DISTINCT economic actors (filer_cik) in the 30-day window — the trigger basis (CHAOS #15).
    - `sector_baseline_level` string, required: Which peer group the sector-z used: 'specific'|'industry_group'|'broad_market'.
    - `filing_row_count` integer, nullable: Raw Form-4 filing rows in the window (>= insider_count; #15 dual-persist explainability).
    - `z_score` number, nullable: Company-baseline z (vs the 24-month distribution). None when the baseline was too flat for a stable z.
    - `sector_z_score` number, nullable: Sector-normalized z. None when the sector was too sparse/flat (company-baseline lens only).
    - `percentile` number, nullable: Rolling percentile of the window count vs the baseline (0-100).
    - `window_start` string, nullable: ISO date — start of the 30-day window.
    - `window_end` string, nullable: ISO date — end of the 30-day window (the as-of date).
  - `data_source` string, required: Provenance string ('SEC EDGAR Form 4').
  - `as_of` string, nullable: ISO date of the most recent cluster window, if any.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
