Transaction object
Insider trades (Form 4), initial beneficial-ownership statements (Form 3), and institutional holdings reports (Form 13F) reported to the SEC. US filings only. For the Form 4 / Form 3 endpoints, the plan coverage scope (Coverage scope notice) and history window (History truncation notice) apply as they do elsewhere, on the filing's filing_date; the 13F endpoints are organized by the filing manager (institution). These endpoints are available on every plan; full-library screening is POST /screener/ownership, POST /screener/initial-holdings and POST /screener/institutional-holdings, which require Pro or higher.
Credits are deducted before the query runs, so a 404 or 403 raised afterwards is still charged.
Returned by POST /ownership/transactions, POST /ownership/transaction-ids, and POST /screener/ownership.
idTransaction id. Pass to POST /ownership/transaction-ids.
is_derivativeDerivative table row (true) or non-derivative (false).
transaction_form_type"4" or "5".
transaction_date, transaction_codeAs filed.
transaction_typeOfficial SEC name for transaction_code.
transaction_type_groupOne of the five SEC groupings — see GET /ownership/transaction-types.
acquired_disposed_code"A" acquired, "D" disposed, or null. The trade's direction.
shares, price_per_share, transaction_value, shares_owned_followingAs filed. transaction_value may be null or 0.
transaction_noteFiler-side note explaining a null / 0 value. null when absent.
principal_amount_not_sharestrue when shares holds a debt principal amount.
security_title, direct_or_indirect, nature_of_ownershipAs filed.
footnote_refsFootnote ids for this transaction. Resolve against the filing's footnotes map.
source_locatorCombine with the filing's source_url_prefix to build the SEC URL.
restatednull, "cancelled", "modified", or "added" — set when an amendment changed this transaction.
priorPresent only when restated is set. The pre-amendment values.
split_adjustedPresent only when the filed values are not on the current per-share basis. See below.
data_quality_flagsPresent only when at least one rule fires. See below.
Derivative rows additionally carry conversion_or_exercise_price, exercise_date, expiration_date, underlying_security_title, underlying_security_shares, underlying_security_value, and value_owned_following.
#split_adjusted
shares and price_per_share are in the units of the transaction's own trade date. When those differ from the current per-share basis, the block is present:
"split_adjusted": {
"shares": 4000.0,
"price_per_share": 125.86,
"shares_owned_following": 48000.0,
"underlying_security_shares": null,
"conversion_or_exercise_price": null,
"split_adjustment_factor": 4.0
}Absent means the filed values are on the current per-share basis. A field is null when the split does not change it (for example a debt principal). split_adjustment_factor carries the same meaning as adjustment_factor on the metrics API (POST /metric/all).
#data_quality_flags
Rows that fail a consistency check carry one or more of:
future_transaction_date, future_deemed_execution_date, zero_price_open_market, derivative_date_order, negative_shares, negative_price, negative_transaction_value, negative_shares_owned_following, value_mismatch, manual_flags.
Rows flagged manual_flags also carry a manual_flags array of {code, note} entries describing the issue.
Flagged rows are excluded from POST /ownership/transactions, POST /ownership/stats and POST /screener/ownership unless include_anomalies=true (trade_filters.include_anomalies on the screener). Each endpoint reports how many it withheld: the listing in anomalies_excluded_on_page (this page only), stats and the screener in anomalies_excluded_count (the whole requested range).
#computed
POST /screener/ownership rows additionally carry a computed block with shares_owned_before and own_pct_change. Each entry has value, status (ok / unavailable), unit, formula, computed_as, and fact_refs pointing at the inputs. When an input is missing, the entry has only value (null), status ("unavailable") and computed_as, which states the reason.