Skip to main content

Triage ownership filings around an issuer

Use this surface to find the Forms 3, 4, and 5 worth opening for a company, executive, or transaction pattern. It reports what an ownership filing says; it does not determine motive, legality, 10b5-1 plan status, or an investment outcome.

Build a reported-purchase queue

Inputs can select an issuer (ticker or cik), form family, reporting owner (owner_name or owner_cik), disclosed security_title, transaction_code, and a filing-date range. Page through cursor only while hasMore is true. The useful row includes the reporting owner and role, form, transaction and filing dates, code and direction, title, shares, price, post-transaction ownership, accession number, filing URL, and request metadata. Preserve nulls: a missing filed field is not a zero or an estimate.

What the response can and cannot answer

Keep transactionDate distinct from filingDate. A code such as P is a filing-code filter, not a sufficient investor-facing label for the economic purpose of a transaction.

SDK and MCP implementation

Use client.insiders({ ticker, forms: "4", transaction_code: "P", limit: 25 }) in the JavaScript SDK. Hosted MCP exposes insiders.list for a compact issuer-based queue. REST is the path for owner, code, title, date-range, and cursor controls that are not in the MCP tool schema.

Review limits

  • Forms 3, 4, and 5 have different reporting purposes and timing. A list is not a complete real-time ownership ledger.
  • Filing-derived values can be absent, amended, or explained by a footnote. Do not fill or classify them without the filing.
  • Preserve requestId, traceparent, accession number, and source URL on alerts so a later reviewer can investigate the exact result.
  • A non-2xx response is a failed query, not proof that no insider transactions exist.

Next step