Skip to main content
Glama

get_insider_filings

Read-only

A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings). Each row keeps ticker as SEC received it and gains current_ticker when the issuer trades under a different symbol today. Separately-listed share classes are NOT merged, and asking for a RETIRED symbol returns only rows filed under it — retired symbols get reissued to other companies. When more than one issuer has filed under a ticker (a reused symbol, a holding-company reorganization), every row stays in the answer and carries issuer_relation: the row's own issuer and its relation to the ticker's issuer (same_issuer; predecessor or successor, on SEC evidence; related_by_name; affiliate; or different_issuer), with the evidence, such as the SEC succession form and its date. A ticker search also finds this issuer's rows filed under ANOTHER issuer's symbol, matched only on its CIK. Returns FILING-LEVEL records from SEC Form 3/4/5 filings — one row per filing (accession). Use this when the user asks: list an issuer's insider filings, find a specific accession, filter by form type (Form 4 trades vs Form 3 initial statements vs Form 5 annual vs their /A amendments), count filings over a period, or size a filing (how many transaction / holding rows it has) before pulling detail. This is the filing INDEX. For the actual trades use get_insider_transactions; for the positions use get_insider_holdings. They join on accession_number. Source: SEC bulk Form 3/4/5 dataset (insider_filings_v2), 2006→present, refreshed quarterly. Each row carries the SUBMISSION envelope (company_cik, company_name, ticker, document_type, filing_date, period_of_report, is_amendment), ALL reporting owners (reporting_owners[]), signature rows, and per-table counts (nonderiv_trans_count, deriv_trans_count, nonderiv_holding_count, deriv_holding_count, footnote_count). Useful filter combos: ticker='AAPL', document_type='4' all Apple Form 4 filings company_cik='0000320193', is_amendment=true Apple's amended filings only accession_number='0000320193-26-000078' one specific filing's envelope ticker='TSLA', since='2025-01-01' TSLA insider filings this year ticker='NVDA', reporting_owner_name='Huang' NVDA filings involving Huang document_type values are the raw SEC form codes: '3', '4', '5' and their amendments '3/A', '4/A', '5/A'.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_insider_filings"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum records to return. Default 50, max 500.
sinceNoISO date (YYYY-MM-DD). Only filings with filing_date >= this date.
untilNoISO date (YYYY-MM-DD). Only filings with filing_date <= this date.
tickerNoExact issuer ticker (e.g., 'AAPL', 'BRK.B').
sort_byNoSort field. Only filing_date is supported. Default: filing_date.
sort_orderNoDefault: desc (most recent filings first).
company_cikNoIssuer CIK (10-digit, leading-zero padded). All of that company's insider filings.
company_nameNoCase-insensitive substring against issuer company name (e.g., 'Apple', 'Tesla').
is_amendmentNoTrue returns only amendments (/A forms); false returns only originals. Omit for both.
document_typeNoExact SEC form code: '3' (initial), '4' (changes), '5' (annual), or amendments '3/A' / '4/A' / '5/A'.
accession_numberNoExact EDGAR accession number — returns that one filing's envelope directly.
reporting_owner_nameNoCase-insensitive substring matched against ANY reporting owner on the filing (scans reporting_owners[]). Best combined with ticker/company_cik.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only cover read-only/safe/open-world; the description adds substantial behavioral context on top: ticker search also returns rows filed under retired/reissued symbols, rows gain current_ticker, share classes are not merged, multi-issuer tickers carry issuer_relation with SEC evidence, refresh cadence (quarterly), coverage window (2006→present), and the exact per-row payload. These are non-obvious result-shape facts an agent cannot get from the annotations.

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 information density is high and most sentences earn their place, but the structure is back-loaded: four long sentences about symbol anomalies and issuer_relation precede the actual statement of what the tool returns, and the 'Useful filter combos' block partially restates schema-documented parameters. Front-loading the one-line purpose would materially improve it.

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?

For a 12-parameter, zero-required index tool with no output schema, the description covers the source dataset, coverage window, refresh cadence, row-level payload, join keys, and the ticker-reuse edge cases that would otherwise produce silently misinterpreted results. Nothing material an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description earns above baseline by giving concrete filter combos (ticker='TSLA', since='2025-01-01') and by documenting the raw SEC form code vocabulary for document_type including amendment variants. It also explains the semantic quirk of ticker matching (retired symbols search only rows filed under them) that the schema's 'Exact issuer ticker' line does not convey.

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?

States a specific verb and resource — 'Returns FILING-LEVEL records from SEC Form 3/4/5 filings — one row per filing (accession)' — and explicitly positions itself against siblings ('This is the filing INDEX. For the actual trades use get_insider_transactions; for the positions use get_insider_holdings'). An agent can distinguish it from the two nearest siblings without opening any schema.

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?

Gives an explicit when-to-use list (list an issuer's insider filings, find an accession, filter by form type, count filings, size a filing before pulling detail) and names the alternatives for the adjacent operations, plus the join key (accession_number). It also states what the tool is NOT for, which is the strongest form of routing guidance.

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.

Resources