Skip to content
/api/v1/ownership/beneficial-ownership/groups

List group filings where multiple parties act together.

List group filings where multiple parties act together.

10 tokensSince v3.0.0

Why use this

Schedule 13D groups — coordinated filers who file together as a single beneficial-ownership group under SEC Section 13(d)(3) (a 'group' is formed whenever 2+ entities agree to act together for the purpose of acquiring or holding the issuer's securities). Each row lists ALL members + their aggregate position. The most actionable use case is detecting 'wolf pack' formations — 2-5 activist funds quietly coordinating a >5% position before any individual filer crosses the threshold. Also surfaces SPAC sponsor consortia, family-office layered structures, and buyout-fund + management rollups in pre-merger filings. Pair with `/ownership/beneficial-ownership/activists` to see groups whose purpose is classified as activist intent.

Common use case

Identify coordinated investor groups, wolf pack formations.

Schedule 13D groups — coordinated filers who file together as a single beneficial-ownership group. Each row lists all members + their aggregate position. Useful for surfacing "ad-hoc activist coalitions" and SPAC sponsor consortia.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
issuerCikqueryoptionalFilter to groups targeting this issuer (the company being collectively held). Accepts both 10-char zero-padded form (`0000051143`) and unpadded (`51143`). Returns empty array when no groups have ever filed against this issuer (most companies).0000051143
activeOnlyqueryoptionaltrueWhen `true` (default), returns only groups whose latest filing was within the last 12 months — i.e. structurally still active. When `false`, includes historical groups whose campaigns have wound down (member departure, group dissolution amendment, full position exit). Set to `false` for activism-history research; leave default for current-state surveillance.true

Response schema

FieldTypeNullableDescription
groupsarraynoArray of group rows, sorted by `aggregatePercent DESC` (largest groups first). Each group represents one coordinated filing structure against one issuer. A single issuer can have multiple groups (overlapping or distinct membership) if different consortia have filed separate Schedule 13Ds. Empty array on no match.
groups[].groupIdstringnoInternal stable group identifier in `grp_XXXXXX` format (e.g. `grp_8a1f`). Unique per `(issuer, group_member_set)` tuple — re-runs return the same ID. Use as a join key when caching group state across polls.
groups[].issuerCikstringnoTarget issuer CIK in 10-char zero-padded form. The company the coordinated group is filing against.
groups[].issuerTickerstringyesResolved issuer ticker (canonical hyphen form). Null for private-company target groups (rare; most groups target public issuers).
groups[].membersarraynoArray of member filer rows. Length 2-9+ (2 is most common — typical PE LP+GP structure; 5+ is rare and usually indicates a multi-party activist coalition like Engine No. 1's 2021 ExxonMobil board fight). Sorted by member CIK for stable ordering.
groups[].members[].filerCikstringnoMember filer CIK in 10-char zero-padded form. Each member is itself a 13D/G filer — pass to `/ownership/beneficial-ownership/filers/{cik}/portfolio` to see their full beneficial-ownership book outside of this group.
groups[].members[].filerNamestringnoMember filer name as filed (typically all-caps EDGAR convention). For activist groups commonly mixes fund-entity names + individual principal names (e.g. `TRIAN FUND MANAGEMENT LP` + `NELSON PELTZ`).
groups[].aggregatePercentnumbernoGroup's combined aggregate `percent_of_class` summed across all members. Above 5.00 by definition (since group membership triggers a Schedule 13D). Wolf-pack groups typically aggregate to 6-12%; SPAC sponsor consortia often 15-25%.
groups[].aggregateSharesnumbernoGroup's combined aggregate share count summed across all members. NOT split-adjusted — preserves as-filed view. Use this with `aggregatePercent` to compute the implied total class outstanding.
groups[].latestFiledAtstringnoISO-8601 UTC timestamp of the most recent group-member filing. With `activeOnly=true`, this will always be within the last 12 months. Use to detect group-state changes — long gaps may indicate unfiled cessations or membership changes that haven't yet hit our parser.

Sample response

·
  • "groups":
    ]
}

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl "https://api.finradar.ai/api/v1/ownership/beneficial-ownership/groups?api_Token=YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).

Try it

Related endpoints