Skip to main content
Glama
theodor90

form4api-mcp

get_insider_transactions

Read-only

Retrieve all Form 4 insider transactions filed by a specific CIK, with filters for ticker, transaction code, date range, and optional exclusion of 10b5-1 plan trades.

Instructions

All Form 4 transactions filed by one insider (by CIK), filterable by ticker, transaction code, date range, and 10b5-1 exclusion. Use this once you have an insider's CIK on hand; get_transactions with insider_cik= gives the same rows alongside its broader filter set, while get_insider_career_summary returns a pre-aggregated rollup instead of raw rows. Free plan. Paginated, max 100/page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoEnd date, inclusive, format YYYY-MM-DD (e.g. 2026-12-31). Filters on transactionDate.
cikYesInsider CIK number — SEC's numeric filer identifier, e.g. 0001214128. Leading zeros optional.
codeNoSingle SEC transaction code to filter to. P=open-market purchase, S=open-market sale, A=grant/award, M=option exercise, F=tax withholding on vesting, D=disposition to issuer, G=gift, C=conversion of derivative, J=other.
fromNoStart date, inclusive, format YYYY-MM-DD (e.g. 2026-01-01). Filters on transactionDate.
pageNo1-based page number. Defaults to 1.
tickerNoFilter to a specific company ticker, case-insensitive, e.g. AAPL.
per_pageNoResults per page. Defaults to 20, maximum 100.
exclude_10b5NoIf true, exclude pre-scheduled 10b5-1 plan trades — keeps only discretionary transactions.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / cik / description
      Previous value: -"Insider CIK number"New value: +"Insider CIK number — SEC's numeric filer identifier, e.g. 0001214128. Leading zeros optional."
    • changedInput schema / properties / code / description
      Previous value: -"Filter by SEC transaction code"New value: +"Single SEC transaction code to filter to. P=open-market purchase, S=open-market sale, A=grant/award, M=option exercise, F=tax withholding on vesting, D=disposition to issuer, G=gift, C=conversion of derivative, J=other."
    • changedInput schema / properties / exclude_10b5 / description
      Previous value: -"Exclude pre-scheduled 10b5-1 plan trades"New value: +"If true, exclude pre-scheduled 10b5-1 plan trades — keeps only discretionary transactions."
    • changedInput schema / properties / from / description
      Previous value: -"Start date ISO 8601"New value: +"Start date, inclusive, format YYYY-MM-DD (e.g. 2026-01-01). Filters on transactionDate."
    • changedInput schema / properties / page / description
      Previous value: -"Page number"New value: +"1-based page number. Defaults to 1."
    • changedInput schema / properties / per_page / description
      Previous value: -"Results per page (max 100)"New value: +"Results per page. Defaults to 20, maximum 100."
    • changedInput schema / properties / ticker / description
      Previous value: -"Filter to a specific company ticker"New value: +"Filter to a specific company ticker, case-insensitive, e.g. AAPL."
    • changedInput schema / properties / to / description
      Previous value: -"End date ISO 8601"New value: +"End date, inclusive, format YYYY-MM-DD (e.g. 2026-12-31). Filters on transactionDate."
  2. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds that the tool is paginated with a max of 100 per page and is on a free plan, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the purpose and filters, the second gives usage guidance. Every sentence adds value, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description covers the key aspects: what the tool returns (Form 4 rows), pagination limits, and differentiation from similar tools. It is sufficiently complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description briefly summarizes the filterable fields (ticker, transactionCode, date range, exclude_10b5) but does not add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves all Form 4 transactions for a specific insider by CIK, and distinguishes it from siblings by noting that get_transactions provides broader filters and get_insider_career_summary returns aggregated data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use the tool after obtaining an insider's CIK and contrasts it with alternative tools, covering when to use each. Also mentions free plan and pagination limits.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.