---
title: "Proposed insider sales for a stock from SEC Form 144 notices, newest filing first."
method: GET
path: "/v1/stocks/{ticker}/proposed-sales"
tags: ["InsiderTrading"]
---

# Proposed insider sales for a stock from SEC Form 144 notices, newest filing first.

`GET /v1/stocks/{ticker}/proposed-sales`

## Request

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

## Path parameters

- `ticker` string, required

## Query parameters

- `limit` integer
- `offset` integer
- `startDate` string, date
- `endDate` string, date

## Response `200`

OK

- ProposedSaleDtoPagedResponse
  - `listingNotice` ListingNotice: What happened to a requested ticker that no longer trades. "delisted": the company has no current US listing, so the answer is its history. "renamed": the company now trades as successorTicker, its current US presentation ticker (possibly another share class). A listed series (short volume, short interest, off-exchange volume, fails-to-deliver, congressional trades) is the retired ticker's own; a company-level read is the company's data.
    - `status` string, nullable: "delisted" or "renamed".
    - `ticker` string, nullable: The retired ticker as listed.
    - `delistedOn` string, date, nullable: The day the retired listing stopped trading, when known.
    - `successorTicker` string, nullable: For "renamed", the company's current US presentation ticker; null for "delisted".
  - `data` ProposedSaleDto[], nullable
    - `filingDate` string, date
    - `sellerName` string, nullable
    - `relationshipToIssuer` string, nullable: The seller's relationship(s) to the issuer (e.g. "Director, Officer").
    - `sharesToBeSold` integer: Proposed shares to be sold, exactly as filed.
    - `aggregateMarketValue` number, double: Aggregate market value of the proposed sale, exactly as filed.
    - `approxSaleDate` string, date, nullable
    - `brokerName` string, nullable
    - `sharesOutstanding` integer, nullable: The issuer's current shares outstanding from the exchange record — the denominator for the standard materiality read (sharesToBeSold ÷ sharesOutstanding). Deliberately NOT the notice's own figure, which filers sometimes fill with their sale count. Because this is the current count while sharesToBeSold is as filed, restate sharesToBeSold across any splits since the filing date before dividing. Null when the issuer count is unknown.
    - `remarks` string, nullable: The notice's remarks — typically the 10b5-1 trading-plan adoption date, distinguishing planned from discretionary sales; null when blank.
  - `meta` PageMeta
    - `limit` integer
    - `offset` integer
    - `count` integer
    - `hasMore` boolean
    - `total` integer, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found

## Changes

- **2026-11-06** `666e06778588`: 6 info
  - added the new optional `query` request parameter `endDate`
  - added the new optional `query` request parameter `startDate`
  - added the non-success response with the status `400`
  - added the optional property `error/availableDates` to the response with the `404` status
  - …2 more

[Operation history](https://skmtc.dev/equibles/apis/equibles-api/changes/v1/stocks/:ticker/proposed-sales/get.md)

---

[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/83f13ba1a993?raw)
