Screener: search insider transactions
search_insider_tradesScreen insider trades across the whole library: trade-level conditions in trade_filters plus company-level gates in aggregate_filters. Operators for both: >, >=, <, <=, between ([lo, hi]). Returns the matching transactions themselves — grouped by ticker (default) or flat. In grouped mode txn_count is the company's full hit count, not the page's. Every row carries issuer_cik, accession_number, filing_date, source_url_prefix, insiders and a computed block (shares_owned_before, own_pct_change) whose entries state value, status and the inputs used. Filter on split_adjusted_shares / split_adjusted_price rather than the filed shares / price_per_share when the window spans a corporate action. page x page_size <= 500. Dynamic credit cost 65-920, charged even when the result set is empty and on a 504 timeout. Requires the Pro plan or higher; results are limited to your plan's history window and company coverage. POST /api/v1/screener/ownership; FINANCIAL_API_DOCUMENTATION.md.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number. page x page_size <= 500. | |
| sectors | No | Canonical sector buckets (Pro+); names from list_screener_filters.sectors. | |
| sort_by | No | Grouped: ticker, txn_count. Flat: transaction_date, filing_date, transaction_value, shares, price_per_share, own_pct_change, split_adjusted_shares, split_adjusted_price. | |
| tickers | No | Whitelist, <= 100. Omit to scan the whole library. | |
| page_size | No | Rows per page, 1-100 (default 50). | |
| as_of_date | No | YYYY-MM-DD window end on the transaction date; filings submitted after it are excluded too. Must not be in the future. | |
| sort_order | No | "desc" (default) or "asc". | desc |
| start_date | No | YYYY-MM-DD window start. | |
| trade_filters | No | Trade-level filters: transaction_code (<=20), relationship, is_derivative, principal_amount_not_shares (omit = no filter, true = debt-principal rows only, false = exclude them), include_anomalies, exclude_likely_merged, include_unresolved_amendments, conditions (<=8 of {field, op, value}; field is one of transaction_value, price_per_share, shares, own_pct_change, split_adjusted_shares, split_adjusted_price). | |
| exclude_tickers | No | Blacklist, <= 100. | |
| group_by_ticker | No | When true (default), group rows by ticker; when false, return flat rows. | |
| aggregate_filters | No | Company-level gates (<=8) of {metric, op, value}; metric is one of value_acquired, value_disposed, net_value, shares_acquired, shares_disposed, net_shares, txn_count, txn_count_acquired, txn_count_disposed, max_txn_value_acquired, max_txn_value_disposed, distinct_insiders. |