stocks tool

Public

stocks_get_insider_trades

Insider transactions reported on Forms 3/4/5 by one US public company's insiders.

Description

Insider transactions reported on Forms 3/4/5 by one US public company's insiders.

Returns the shared envelope. data echoes issuer identity (ticker, cik, company_name), coverage_start, and the filters applied (transaction_type, derivative, insider_name). data.transactions is one row per Table I/II entry, newest filing first, each carrying the reporting owner (owner_name, owner_cik, is_director, is_officer, is_ten_percent_owner, officer_title), the filing (form_type, filed_date, accession_number for citation), and the entry itself: transaction_date, transaction_code (the as-reported SEC code) plus its transaction_type bucket, security_title, shares, price_per_share, acquired_disposed (A/D), shares_owned_following, direct_or_indirect (D/I) and indirect_nature. Decimals are strings and may be null — absent is never zero (a gift reports no price; a Form 3 initial holding reports no share count, and holding rows have no code, so they belong to no bucket). Joint Forms 4 that name several reportingOwner elements attribute the row to the first owner only in v1. data.summary describes the WHOLE filtered window rather than the page: net_nonderivative_shares (shares acquired minus shares disposed across non-derivative, non-holding rows), buy_transactions and sell_transactions (counts of P and S rows), and filed_from/filed_to echoing the window those figures cover. Resolved amendment chains contribute only their latest filing unless include_superseded=true requests the full audit history. meta.as_of is the freshest filing timestamp on the page; pagination carries limit, has_more and next_cursor.

Coverage: the S&P 500 pilot issuer universe, SEC structured-XML Forms 3/4/5, a 10-year window from 2016-01-01. Quarterly institutional-manager holdings (13F) and Schedule 13D/13G beneficial-ownership filings are different datasets and are NOT served here. An empty transactions list for a covered company is a normal success (no insider activity on record for those filters).

Bounds: default 20, max 100 transactions per page; an out-of-range limit is rejected, never clamped. To page, pass pagination.next_cursor back as cursor. Errors carry machine codes: unknown_entity (with did-you-mean suggestions) for an unknown ticker, out_of_coverage for a company outside the pilot universe, bad_parameter for an invalid transaction_type, an empty insider_name, a filed_from after filed_to, or a bad limit or cursor.

Example: stocks_get_insider_trades(ticker="AAPL", transaction_type="buy", filed_from="2026-01-01", limit=10).

Parameters

Input schema

NameTypeRequiredDefaultDescription
tickerstringYesA US public company by ticker symbol ('AAPL', 'BRK.B'). Use this to see what its directors, officers and 10% owners reported buying, selling or receiving on SEC Forms 3/4/5.
transaction_typestring | nullNonullOptional bucket filter over the SEC transaction codes: 'buy' (P), 'sell' (S), 'award' (A — grants), 'exercise' (M/C/X — option exercises and conversions), 'gift' (G), or 'other' (every other coded row, e.g. F tax withholding). Filtering never hides the detail: the as-reported SEC code is on every row as `transaction_code`. Holding rows carry no code and so match no bucket. Invalid values return bad_parameter.
derivativeboolean | nullNonullOptional table filter: true = derivative rows only (options, RSUs, convertibles — Table II), false = non-derivative rows only (common stock — Table I). Omit to get both.
insider_namestring | nullNonullOptional case-insensitive substring match on the reporting owner's name ('Cook', 'Buffett').
filed_fromstring (date) | nullNonullEarliest filed date to include (inclusive, ISO YYYY-MM-DD).
filed_tostring (date) | nullNonullLatest filed date to include (inclusive, ISO YYYY-MM-DD).
include_supersededbooleanNofalseInclude superseded filings for audit history. Omit or false to return only the latest active filing in each resolved amendment chain.
limitintegerNo20Transactions to return, newest filing first (1-100).
cursorstring | nullNonullOpaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the newest.

Provenance

Sources

Dataset registry: stocks_insider_transactions