---
title: "Stocks ranked by composite insider-sentiment score — a peer-relative 0-100 measure of how aggressively insiders are accumulating over a trailing 90-day window, from open-market Forms 4/5 buys and sells by officers and directors (a holder that is only a 10% owner is excluded). Highest score first. Rank reflects the full scored universe and does not renumber when liquidity filters are applied. Pass ticker for one stock's score and universe rank (the other filters do not apply then)."
method: GET
path: "/v1/insider-sentiment-scores"
tags: ["InsiderTrading"]
---

# Stocks ranked by composite insider-sentiment score — a peer-relative 0-100 measure of how aggressively insiders are accumulating over a trailing 90-day window, from open-market Forms 4/5 buys and sells by officers and directors (a holder that is only a 10% owner is excluded). Highest score first. Rank reflects the full scored universe and does not renumber when liquidity filters are applied. Pass ticker for one stock's score and universe rank (the other filters do not apply then).

`GET /v1/insider-sentiment-scores`

## Request

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

## Query parameters

- `clusterBuysOnly` boolean
- `minMarketCap` number, double
- `minSharePrice` number, double
- `minDollarVolume` number, double
- `limit` integer
- `offset` integer
- `bottom` boolean
- `ticker` string

## Response `200`

OK

- InsiderSentimentScoresResponse
  - `windowDays` integer: The trailing window the scores are computed over, in days.
  - `totalScored` integer: Total stocks in the scored universe (before any liquidity filter).
  - `data` InsiderSentimentScoreDto[], nullable: Highest score first. Ranks are universe positions and may be non-contiguous when filters (or the ticker lookup) narrow the list.
    - `rank` integer: The stock's position in the full score-descending universe (1 = highest); fixed before any liquidity filter, so filtered lists keep universe ranks.
    - `ticker` string, nullable
    - `score` number, double: 0-100 peer-relative composite; higher = more aggressive insider accumulation over the window.
    - `distinctBuyers` integer: Distinct insiders who bought in the window.
    - `distinctSellers` integer: Distinct insiders who sold in the window.
    - `netDistinctBuyers` integer: distinctBuyers minus distinctSellers.
    - `netSharesBoughtPercentOfShares` number, double, nullable: Net shares bought as a FRACTION of shares outstanding (e.g. 0.012 = 1.2%) — not a 0-100 percentile like the *Percentile fields; null when unavailable.
    - `netBuyValue` number, double, nullable: Net insider buy value in USD (negative = net selling); null when unavailable.
    - `isClusterBuy` boolean: True when three or more distinct insiders bought in the window.
    - `marketCapUsd` number, double, nullable: Market capitalization in USD; null when unknown.
    - `sharePriceUsd` number, double, nullable: Share price in USD; null when unknown.
    - `averageDollarVolume3MonthUsd` number, double, nullable: Trailing 3-month average daily dollar volume in USD; null when unknown.
    - `netDistinctBuyersPercentile` number, double: 0-100 percentile of netDistinctBuyers across the scored universe — one of the factor percentiles the composite averages.
    - `netSharesBoughtPercentile` number, double, nullable: 0-100 percentile of netSharesBoughtPercentOfShares; null when that factor was unavailable for the stock (the composite then averages fewer factors).
    - `netBuyValuePercentile` number, double, nullable: 0-100 percentile of netBuyValue; null when that factor was unavailable for the stock (the composite then averages fewer factors).
  - `meta` PageMeta
    - `limit` integer
    - `offset` integer
    - `count` integer
    - `hasMore` boolean
    - `total` integer, nullable

## Other responses

- `400`: Invalid request — a malformed parameter value or a query parameter this endpoint does not support.
- `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)
