Insider Top Buyers
insider_top_buyersStock purchases by a company's insiders and major holders, from SEC Form 4 — one buyer at one company, every buyer at one company, or the biggest buyers market-wide: "how much Occidental stock did Berkshire Hathaway buy in March", "insider buying at Pfizer this quarter", "which insiders bought the most stock recently", "largest insider purchase last month". Pass issuer (ticker or company name) and owner (a person or a firm, e.g. "Berkshire") to narrow it, since/until for the period, and group_by "owner" for one buyer's total across several filings. Officers, directors and 10% owners — including large investors and funds holding over 10% of a company — file a Form 4 within two business days of every trade, so this gives the exact trade dates, shares, price per share and dollar value inside any month or week. Returns the insider name and role, the issuer and ticker, shares, price and value. Counts only transaction code P, a purchase at market; option exercises, grants and tax withholding are excluded because none of them is a decision to buy. Ranks over every row in the window — never a capped slice — and reports rows_considered so a cut is never silent. A price the filer states in another currency (e.g. Brazilian reais, in a footnote) is left out and counted in non_usd_rows_excluded, never ranked as dollars. A price that looks like a filer data-entry error is left out unless include_suspect is set, and a report filed as several parts counts as one filing. Sourced from SEC Forms 3/4/5.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many to return (default 20, max 100). | |
| owner | No | Limit to one insider — name substring (e.g. "Berkshire") or SEC CIK. | |
| since | No | Earliest transaction date, ISO (YYYY-MM-DD). Defaults to the last 90 days of the loaded window. | |
| until | No | Latest transaction date, ISO (YYYY-MM-DD). | |
| issuer | No | Limit to one issuer — ticker (e.g. "LEN") or SEC CIK. Substring match on issuer name also works. | |
| group_by | No | How to roll transactions up before ranking. "filing" (default): sum every row on the same Form 4 into one total — a filing often reports one decision as several price-band lines, and a price-band row has no economic meaning on its own. A report filed as several documents for the same issuer, the same reporting owners and the same period of report, whose parts start on the same trade date (a long transaction table split across accessions), counts as one filing; accession_numbers lists every part. "row": rank individual transaction lines. "owner": sum every filing by the same insider against the same issuer across the whole window (e.g. several purchases over several days). | |
| exclude_funds | No | Drop issuers that are funds reporting unitholders, not operating companies with real insiders (e.g. a BDC or interval fund). Best-effort name/security-type heuristic. Default false. | |
| min_value_usd | No | Ignore transactions below this dollar value. | |
| include_suspect | No | Include transactions whose price looks like a filer data-entry error (see the caveat). Default false — suspect rows are excluded from rankings. |