Insider Transactions
Open-market trades, option exercises, RSU vesting, gifts, and tax-withholding events by corporate insiders, officers, directors, and 10%+ owners, disclosed on SEC Forms 4 and 5. Pulled from EDGAR and normalized with the insider, their role, the SEC transaction code, shares, price, and total value.
GET /v1/insider-transactionsLive from the data
Loading the latest numbers…
What it returns
One record per reported transaction line, with the reporting owner(s), the security, and the trade. Key fields:
- Issuer:
ticker,company_name,company_cik - The insider(s):
officer_name,officer_title,is_officer,is_director,is_ten_percent_owner, plus the fullreporting_owners[]array (multiple filers per form) - The transaction:
transaction_code(P / S / A / M / F …),transaction_type(buy / sell),transaction_nature,acquired_disposed,is_derivative,security_title - Amounts:
shares,price_per_share,total_value,shares_owned_after - Plan & dates:
aff10b5one(10b5-1 trading-plan flag),transaction_date,disclosure_date,filing_date,reporting_lag_days - Provenance:
footnotes[],accession_number,document_type,schema_era,data_source,sec_filing_url
Filters
| ticker | Stock symbol, e.g. AAPL. Case-insensitive. |
| company_cik | SEC CIK (10-digit, zero-padded), alternative to ticker. |
| officer_name | Full or partial insider name; case-insensitive substring. |
| transaction_type | buy or sell. |
| transaction_codes | OR-filter on raw SEC codes, ['P'] open-market buys, ['S'] sales, ['M'] option exercises. |
| is_derivative | true for options / RSUs / warrants, false for common-stock rows. |
| min_value | Only trades with total_value ≥ this amount (USD). |
| include_unpriced | With min_value only: also keep rows where the insider stated no price (their total_value is null, so judge them on shares). Default false. bulk_v2 only. |
| aff10b5one | 10b5-1 trading-plan flag, '1' = plan adopted, '0' = none. |
| since / until | ISO dates (YYYY-MM-DD) bounding the window, on the sort_by date field. |
| sort_by | disclosure_date (default), transaction_date, or total_value (legacy only). |
| sort_order | desc (default) or asc. |
| limit | Maximum records to return. Default 50, max 500. |
| cursor | Pass the previous response's next_cursor verbatim to read the next page. Keep sort_by and sort_order the same across pages. |
| include_baseline | Also return matching Form 3 initial-ownership baselines. |
| merge_co_reports | Default true: when a fund, its general partner and the person in control each file a Form 4 for the same purchase, they are merged into one row. Set false for one row per filing (totals then double-count). |
| include_non_open_market | Include gifts, transfers, conversions, and tax-withholding events alongside open-market trades. |
| data_source | bulk_v2 (default, full SEC bulk corpus) or the legacy collection. |
| reporting_owner_cik | Reporting owner CIK (10-digit, zero-padded). bulk_v2 only. |
| reporting_owner_name | Reporting owner name substring, case-insensitive. bulk_v2 only. Anchor it with ticker, company_cik or reporting_owner_cik to search full history; on its own it scans only recent filings. |
| row_type | nonderiv (direct common-stock activity) or deriv (options, RSUs, warrants). bulk_v2 only. |
| trans_codes | The bulk_v2 spelling of transaction_codes: same codes, same OR-filter, max 30. |
| schema_era | pre_2023 (filed 2006 to 2022) or 2023_plus (filed 2023 on, with the 10b5-1 flag). Driven by filing quarter. bulk_v2 only. |
Advanced (bulk_v2) filters: reporting_owner_name, reporting_owner_cik, row_type, trans_codes, schema_era, plus sort_by / sort_order / limit, see the OpenAPI spec.
Example request
curl "https://api.keyvex.com/v1/insider-transactions?ticker=AAPL&limit=1" \
-H "x-api-key: YOUR_KEY"
Response
{
"results": [
{
"ticker": "AAPL",
"company_name": "Apple Inc.",
"officer_name": "Newstead Jennifer",
"officer_title": "SVP, GC and Secretary",
"is_officer": true,
"transaction_code": "F",
"transaction_type": "sell",
"security_title": "Common Stock",
"shares": 32528,
"price_per_share": 250.12,
"total_value": 8135903.36,
"shares_owned_after": 27680,
"transaction_date": "2026-03-15",
"disclosure_date": "2026-03-17",
"is_derivative": false,
"footnotes": [
{ "ref": "F2", "text": "Shares withheld by Apple to satisfy tax withholding on vesting of RSUs. No shares were sold." }
],
"sec_filing_url": "https://www.sec.gov/Archives/edgar/data/320193/..."
}
],
"count": 1,
"has_more": true
}
Example questions you can answer
- "Show me open-market insider buys in
AAPLover the last quarter (transaction_codes=['P'])." - "Which executives sold the most stock by total value this month?"
- "Cluster buying, tickers where 3+ insiders bought in the same week."
- "All Form 4 activity for a given officer across every company they're an insider at."
Related datasets
Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. A free key works: 60 requests/day, one year of history.
Get a free key OpenAPI spec → REST docs →Not investment advice. KeyVex is a data publisher: nothing on this site or in API responses is investment, legal, tax, or compliance advice (Terms §8).