Skip to main content
Glama

SEC Insider Trading API (Form 4): stock transactions since 2006

sec_insider_trades
Read-onlyIdempotent

Get every insider purchase and sale reported to the SEC on Form 4, from today's filings back to 2006, as clean JSON rows: who traded (director, CEO, 10% owner), what, when, how many shares, at what price, and how many they hold afterwards. Plus cluster-buy and cluster-sell signals: the moment two or more directors or officers of the same company buy, or sell, their own stock within a few weeks. Filter by ticker, CIK, transaction code, insider role, value and date. For investors, fintech apps and AI agents.

Price: $0.0002 per unit (transaction=9, cluster-signal=100).

Input Schema

NameRequiredDescriptionDefault
ciksNoIssuer SEC Central Index Keys as digits, leading zeros optional, e.g. ["320193"] for Apple
dateToNoLatest filing date, YYYY-MM-DD, e.g. "2024-12-31"
tickersNoOptional: issuer stock tickers, e.g. ["AAPL", "TSLA"]
dateFromNoEarliest filing date, YYYY-MM-DD, e.g. "2024-01-01"
maxResultsNoMaximum transaction rows, newest first, e.g. 200
minValueUsdNoMinimum transaction value in USD (shares x price), e.g. 100000
insiderRolesNoOnly insiders with one of these roles: director, officer, ten_percent_owner, other, e.g. ["director", "officer"]
lookbackDaysNoUsed only when `dateFrom` is empty: read filings from this many days back until today, e.g. 30
clusterBuysOnlyNotrue = only open-market purchases that are part of a cluster: at least 2 different directors or officers of the same company buying, filed within `clusterWindowDays`, together worth at least $100,000
clusterSellsOnlyNotrue = only open-market sales that are part of a cluster (same rule as cluster buys, for sales)
transactionCodesNoForm 4 transaction codes to return, e.g. ["P"] for open-market purchases only
clusterWindowDaysNoHow many days of filings count as one cluster of insider buying or selling, e.g. 14
includeClusterSignalsNotrue = also output one row per cluster signal (record_type "cluster"): the day several insiders of a company bought or sold together

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so safety is covered. The description adds genuine context beyond that: the 2006 coverage horizon, the definition of a cluster (2+ directors/officers, same company, within a window, at least $100,000 combined), and explicit pricing per unit (transaction=9, cluster-signal=100). The only weak spot is that the priced 'unit' concept is never tied to maxResults or includeClusterSignals, leaving a cost-model ambiguity.

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

Conciseness3/5

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

The opening sentence is front-loaded and information-dense, but the description then stacks a cluster-signal sentence, a filter sentence, an audience sentence ('For investors, fintech apps and AI agents'), and a pricing line. The audience sentence earns nothing, and the malformed pricing markdown adds noise rather than clarity.

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

Completeness4/5

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

For a 13-parameter, zero-required, read-only query tool with no output schema, the description does a solid job: it enumerates the returned fields so the agent knows the row shape, and explains the cluster record type. What is missing is how the pagination cap (maxResults 200) relates to 'every' transaction and how billing units accrue, which matter for a paid tool.

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 every one of the 13 parameters is already documented with examples and constraints, which sets the baseline at 3. The description does highlight the main filter axes but adds no syntax, precedence, or interaction rules beyond what the schema states (for example, it does not explain dateFrom vs lookbackDays precedence in its own words). It neither compensates for nor undermines the schema.

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

Purpose4/5

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

States a specific verb and resource: retrieve every insider purchase and sale reported on SEC Form 4 back to 2006, with the exact fields returned spelled out (who, what, when, shares, price, post-holding). It also names a distinctive secondary capability, cluster buy/sell signals, which separates it from generic filing feeds. It never names a sibling like sec_ownership or sec_filings_feed, so the boundary with those tools is left for the agent to infer.

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

Usage Guidelines3/5

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

Usage is only implied through the filter list (ticker, CIK, code, role, value, date) and the cluster-signal feature. There is no explicit statement of when to reach for this tool rather than sec_ownership or sec_filings_feed, and no mention of prerequisites or what to do when a query returns nothing. Adequate but with clear gaps for an agent choosing among 27 siblings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.