Skip to main content
Glama

Aggregate insider activity for a company or insider

get_insider_stats
Read-onlyIdempotent

Totals over one company and/or one insider, plus transaction_ids for every contributing row (feed those to get_insider_transactions_by_id for the detail; transaction_ids is paged by ids_page / ids_page_size — 200 per page by default, 1000 max — while ids_total and ids_has_more describe the whole set, and get_insider_transactions_by_id accepts at most 100 ids per call). Requires ticker and/or insider_cik. Key names inside stats follow method: acquired/disposed for "ad", bought/sold for "ps". Value totals count transactions with no cash price as 0. Share totals and average prices use the adjusted basis and exclude rows whose shares field holds a debt principal amount. corporate_action_crossing is true when the window spans a corporate action. corporate_actions is returned only when anchored on a ticker that has corporate actions on file. Whenever transactions were excluded, skipped or have no cash value, _warnings states the count and the parameter that changes it — read _warnings before using any total. start_date_applied / as_of_date_applied echo the window actually used; results are limited to your plan's history window. A ticker outside your plan's company coverage returns 403 PLAN_TIER_INSUFFICIENT_COVERAGE and is still charged. 40 credits + 5 per 1000 participating transactions. POST /api/v1/ownership/stats; FINANCIAL_API_DOCUMENTATION.md.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
methodNo"ad" (default) splits on acquired_disposed_code; "ps" treats P as a buy and S as a sell and narrows the scope to those two codes.ad
tickerNoCompany ticker. Provide this and/or insider_cik.
ids_pageNoPage for transaction_ids only (default 1).
as_of_dateNoYYYY-MM-DD window end on the transaction date; filings submitted after it are excluded too. Must not be in the future.
start_dateNoYYYY-MM-DD window start.
insider_cikNoInsider SEC CIK, digits only. Provide this and/or ticker.
relationshipNoAny of "is_director", "is_officer", "is_ten_percent_owner", "is_other"; OR semantics, evaluated per filing.
ids_page_sizeNotransaction_ids per page, 1-1000 (default 200).
is_derivativeNoRestrict to derivative (true) or non-derivative (false) rows.
transaction_codeNoSEC transaction codes to keep (<= 20).
include_anomaliesNoInclude transactions carrying data_quality_flags (excluded by default).
exclude_likely_mergedNoDrop filings whose amendment merge is only probable.
include_unresolved_amendmentsNoInclude amendments that could not be matched to an original filing.

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 already mark the tool as read-only and idempotent, but the description adds substantial behavioral detail beyond that: method-dependent key naming, zero-cash counting, adjusted-basis share totals, corporate action handling, _warnings semantics, plan history limits, 403 PLAN_TIER_INSUFFICIENT_COVERAGE behavior, and credit cost. No contradiction with 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?

The description is dense but every clause carries operational weight: purpose, paging, requirement, key naming, edge cases, warnings, plan limits, errors, and cost. It front-loads the main purpose and pagination before caveats, with no filler or repeated schema content.

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 13-parameter tool with no output schema, this description is remarkably complete. It covers response-relevant fields (transaction_ids, ids_total, ids_has_more, _warnings, start_date_applied, as_of_date_applied, corporate_action_crossing, corporate_actions), error behavior, plan limitations, and pricing, so an agent can invoke it correctly without external documentation.

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 coverage is 100%, so the baseline is 3; the description adds meaningful cross-parameter information such as how method changes response key names (acquired/disposed vs bought/sold), how ids_page/ids_page_size control transaction_ids paging, and the sibling's 100-ids-per-call cap. This goes beyond the schema's individual field descriptions.

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 opens with a specific action and resource: 'Totals over one company and/or one insider, plus transaction_ids for every contributing row.' It clearly frames this as the aggregation counterpart to get_insider_transactions_by_id, so an agent can distinguish it from sibling tools without opening schemas.

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

Usage Guidelines4/5

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

The description explicitly tells the agent to feed transaction_ids to get_insider_transactions_by_id for detail and documents the paging mechanism and the 100-id limit of the sibling. It also states the prerequisite combination of ticker and/or insider_cik. It does not explicitly enumerate when not to use this versus other aggregate siblings, but the detail-vs-aggregate routing is clear.

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