Top Holders (composite, classified)
get_top_holdersClassification-aware UNION across insider transactions (latest post_transaction_shares per insider), 13F institutional holdings, and SC 13D / 13G blockholder filings for one issuer. Each row carries holder_class ∈ {insider, institutional, blockholder_13D, blockholder_13G}. Dedupes overlapping filers by precedence (13D > 13G > institutional > insider). One call, classified cap table — Bloomberg charges separately for INSIDER, OWNER, and HDS; this consolidates them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | Maximum holders to return, ranked by shares. Default 25. | |
| ticker | Yes | Issuer ticker symbol. | |
| as_of_date | No | Point-in-time cutoff (YYYY-MM-DD): only filings ACCEPTED by SEC on or before this date are considered across all three sources (institutional via accepted_at, insider via accepted_at, blockholders via accepted_at). Excludes amendments/late filings accepted after this date (zero look-ahead). Omit for the latest knowable cap table. | |
| period_end | No | 13F REPORTING period_end. Omit for latest. NOT a point-in-time cutoff — use as_of_date. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | ||
| rows | Yes | ||
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| ticker | Yes | ||
| staleness | Yes | Each source has its own as-of date and lag (13F ~45-day lag; 13D/G snapshots can be years old). Percentages from different-dated denominators are NOT directly comparable. | |
| as_of_date | Yes | The point-in-time cutoff actually applied (echo of the as_of_date input). Null when no PIT cut was requested. NEVER equal to period_end unless explicitly supplied — a reporting period is not a knowable-as-of date. | |
| period_end | Yes | The institutional 13F REPORTING period — NOT a point-in-time cutoff. | |
| company_name | Yes | ||
| sources_breakdown | Yes |