# Insider trades

> Form 3, 4 and 5 transactions by a company's officers, directors and large holders, one row per transaction.

```text
GET /v1/companies/{id}/insider-trades
```

Transactions that a company's insiders reported on SEC Forms 3, 4 and 5, newest first. `{id}` is the company whose shares were traded. Each row is one transaction from one filing.

```bash
curl -H "X-API-Key: $BELFORT_API_KEY" \
  "https://belfort-data-api.vercel.app/v1/companies/AAPL/insider-trades?limit=20"
```

## Parameters

| Parameter | Values | Default |
|---|---|---|
| `limit` | 1–50 rows per page. | 20 |
| `cursor` | The previous page's `meta.next_cursor`. | |

## One transaction

| Field | Meaning |
|---|---|
| `issuer_cik`, `issuer_name`, `issuer_trading_symbol` | The company, as the filing names it. |
| `accession`, `filing_url` | The filing, and its page on EDGAR. |
| `form`, `amends`, `filed` | The form, whether it amends an earlier one, and the day it was filed. |
| `period_of_report`, `original_filing_date` | The filing's period, and for an amendment, when the original was filed. |
| `owners` | Every reporting owner on the filing, each with `cik`, `name`, `role` and `title`. |
| `owner`, `role` | The owner and their role, set only when the filing has exactly one owner. |
| `table` | `nonderivative` (shares) or `derivative` (options, warrants and the like). |
| `security_title` | The security traded, as filed. |
| `date`, `code` | The transaction date, and the SEC transaction code. |
| `shares`, `price`, `shares_after` | Shares traded, price per share, and shares held afterwards. |
| `acquired_disposed` | Whether the shares were acquired or disposed of. |
| `ownership`, `nature_of_ownership` | Direct (`D`) or indirect (`I`) ownership, and how indirect ownership is held. |

## What to expect

- **A blank price is `null`, never 0.** A price filed as 0 stays 0.
- **Several owners on one filing** share each transaction row; `owners` lists them all. Don't add their positions together as if each held the shares separately.
- **Amendments.** When an amendment can be matched to exactly one original filing, the original's transactions are dropped in favour of the amendment's. When it can't be matched, or matches more than one, every filing is kept.
- **Holdings-only rows are left out.** A form that reports a holding with no transaction adds no row.

---
Source: https://docs.belfortagent.xyz/datasets/insider-trades/
