Skip to main content
Glama

Get Beneficial Owners

secedgar_get_beneficial_owners
Read-onlyIdempotent

List the 5%-and-over beneficial owners of a public company, parsed from the structured SCHEDULE 13D and SCHEDULE 13G filings made about it. The input is the ISSUER — the company being held — which is the opposite direction from secedgar_get_institutional_holdings, where the input is the manager. 13D is the activist form and carries the filer's stated purpose of the transaction; 13G is the passive form and has no purpose field at all, which is the substantive difference between a stake that intends to influence control and one that does not. Every filing is returned with each reporting person listed separately, because voting power, dispositive power, and percent of class are reported per person even on a joint filing where several funds and their controlling principal report overlapping shares — summing those percentages double-counts the same position. Coverage starts at 2024-12-18, when SEC replaced the legacy SC 13D / SC 13G text filings with this XML format; earlier stakes are readable but not parseable, and the response reports how many of them the issuer has. The full parsed set is materialized as df_ when a canvas is available, one row per reporting person, so it joins against the insider and 13F dataframes on issuer CIK.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of filings to fetch and parse, newest first. Each filing is a separate document fetch, so this is the cost of the call as well as its depth. Default 10; a widely-held company can have dozens of blockholder filings a year.
issuerYesThe company whose blockholders you want — a ticker ("AAPL"), a 10-digit CIK ("0000320193"), or a company name. This is the subject company of the schedule, not the investor filing it; passing an investment manager here returns the schedules filed about that manager, which is almost always empty.
form_kindNoWhich schedule to return. "13D" is the activist form, filed by a holder that may seek to influence control and carrying a stated purpose of transaction. "13G" is the passive form, available to institutions and holders under 20% that certify no control intent. "all" (default) returns both, newest first.all
include_amendmentsNoWhether to include amendments (SCHEDULE 13D/A, SCHEDULE 13G/A). Amendments carry the current position and are how an ongoing stake is tracked, so they are included by default. Set false to see only filings that opened a new position.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe limit cap applied.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of filings returned.
issuerNoThe issuer input, echoed.
noticeNoGuidance when no filings matched — names the coverage boundary and the fallback.
datasetNoCanvas dataframe holding one row per reporting person across every parsed filing, each row carrying the issuer, form, accession, and dates alongside the person's powers. Joins against the insider and 13F dataframes on issuer_cik. Absent when canvas is unavailable or nothing parsed.
filingsNoBlockholder filings, newest first, capped at limit.
form_kindNoThe schedule filter applied — the requested value, or the default "all".
truncatedNoTrue when filings were capped by limit.
issuer_cikNoCIK of the resolved issuer, zero-padded to 10 digits.
issuer_nameNoEDGAR-conformed name of the resolved issuer.
filings_parsedNoFilings actually fetched and parsed — total_structured_filings capped by limit.
structured_coverage_fromNoFirst filing date on which SEC required this XML format (YYYY-MM-DD). Blockholder filings before it exist but are not parseable into this schema.
total_structured_filingsNoStructured SCHEDULE 13D/13G filings matching the form filter in the issuer's recent submissions window, before the limit. The population the returned filings are the newest slice of.
legacy_filings_before_coverageNoLegacy SC 13D / SC 13G filings in the issuer's recent submissions window — pre-2024-12-18 stakes this tool cannot parse. Reach them with secedgar_search_filings and read them with secedgar_get_filing. A floor, not a lifetime count: the submissions window holds roughly the last thousand filings of every type.

TDQS

A4.7/5.0
Behavior4/5

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

The annotations indicate readOnlyHint, openWorldHint, and idempotentHint, which the description does not contradict. The description adds useful behavioral context: it explains that each filing is a separate document fetch (cost implication), that amendments are included by default, and that summing percentages across reporting persons would double-count overlapping shares. It does not explicitly state the return format, but the output schema is provided separately. Overall, it enhances transparency beyond 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.

Conciseness4/5

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

The description is detailed and informative, but the sentences are quite long and dense, especially the parameter descriptions. While each sentence adds value, the length could be slightly reduced for readability. However, it is well-organized and front-loads the purpose before diving into nuances.

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 the complexity of the domain (SEC filings, different schedule types, amendments, coverage start date, potential double-counting), the description is remarkably complete. It covers the tool's purpose, usage, parameters, and caveats. The output schema is provided separately, so return format details are not needed in the description. The description fully equips an agent to decide and use the tool correctly.

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

Parameters5/5

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

All four parameters are described with clear semantics. 'issuer' is explained with examples and a warning against passing an investment manager. 'form_kind' explains the difference between 13D and 13G. 'include_amendments' explains why amendments are included by default. 'limit' explains it's both a cost and depth control. The descriptions go beyond the schema to provide meaningful usage guidance.

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 lists 5%-and-over beneficial owners from SEC Schedule 13D/13G filings. It specifies the input is the issuer (company), not the investor, and contrasts it with the sibling tool secedgar_get_institutional_holdings to avoid confusion. The verb 'List' and resource 'beneficial owners' are explicit.

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?

The description explicitly explains when to use this tool: to get blockholders of a company, and contrasts it with the institutional holdings tool which takes a manager as input. It also explains the difference between 13D (activist) and 13G (passive) forms, and mentions the coverage start date (2024-12-18) and that earlier stakes are not parseable. This provides clear usage context.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with detailed descriptions that explicitly separate similar-sounding ones (e.g., secedgar_get_institutional_holdings vs secedgar_find_holders vs secedgar_get_beneficial_owners). The four ownership/holdings tools share a domain but are each tied to a different filing type and direction, so an agent reading carefully should not misselect.

Naming Consistency4/5

All tools share the secedgar_ prefix and mostly follow a get_/search_/dataframe_ convention. Minor deviations like fetch_frames, compare_companies, and find_holders break the otherwise consistent verb pattern, but the naming remains predictable and readable.

Tool Count4/5

16 tools is slightly above the typical well-scoped range, but the SEC EDGAR domain is broad enough that the count is defensible. Each tool covers a distinct data source or workflow, and the dataframe management pair adds necessary infrastructure rather than bloat.

Completeness4/5

The tool set covers company lookup, full-text filing search, XBRL concepts and frames, financial histories, comparisons, insider trades, institutional holdings, beneficial owners, fund holdings, and material events. Minor gaps exist — e.g., no explicit exhibit-content retrieval and no direct way to list all filings for a company beyond recent submissions — but core workflows are well covered.