Stocks tool

PublicView as Markdown

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 advertised to MCP clients and mirrored by the REST query string.

NameTypeRequiredDefaultConstraintsDescription
tickerstringYes——A 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 | nullNonull—Optional 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 | nullNonull—Optional 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 | nullNonull—Optional case-insensitive substring match on the reporting owner's name ('Cook', 'Buffett').
filed_fromstring (date) | nullNonull—Earliest filed date to include (inclusive, ISO YYYY-MM-DD).
filed_tostring (date) | nullNonull—Latest filed date to include (inclusive, ISO YYYY-MM-DD).
include_supersededbooleanNofalse—Include superseded filings for audit history. Omit or false to return only the latest active filing in each resolved amendment chain.
limitintegerNo20min 1, max 100Transactions to return, newest filing first (1-100).
cursorstring | nullNonull—Opaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the newest.

Provenance

Sources behind every value this tool returns.

Dataset registry: stocks_insider_transactions