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

Activist tracker — recent 13D filings with NLP purpose classification.

Activist tracker — recent 13D filings with NLP purpose classification.

10 tokensSince v3.0.0

Why use this

The activist-investor watchlist endpoint — pre-filtered to filings classified as `activist` intent by FinRadar's rule-based NLP purpose classifier (running across the Item 4 'Purpose of Transaction' text on every 13D). Drives the canonical 'who's launching activist campaigns this week?' dashboard. Filterable by issuer ticker, filer name (e.g. all Trian Fund Management filings), minimum ownership %, date range, and 13-category purpose taxonomy (BOARD_REPRESENTATION, PROXY_CONTEST, MERGER_ACQUISITION, TENDER_OFFER, etc.). Each row carries `intentFlags` — granular boolean signals (`opposes_management`, `board_seat_demand`, `m&a_pressure`) that go beyond the single `purpose` category. The right entry point for hostile-takeover surveillance, proxy-fight tracking, and copycat-investor research. For all-purposes (passive + activist) ownership data use `/ownership/beneficial-ownership/filings`.

Common use case

Monitor activist campaigns, screen for board fights, merger pressure, restructuring demands. Filter by ticker, filer name, or minimum ownership.

Activist tracker — surfaces filings classified as activist (intent flags from rule-based NLP purpose classifier). Filterable by issuerTicker, filerName, minOwnership (v3.7.3). Built on top of the same beneficial-ownership ingest as the filings list, but pre-filtered to activist intent so dashboards can render an "activist watchlist" without running their own purpose classification.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
issuerTickerqueryoptionalIssuer ticker filter, case-insensitive (server normalizes to canonical hyphen form). Returns only activist filings against this specific issuer. Useful for company-overview pages: 'is anyone running an activist campaign against this name right now?'IBM
filerNamequeryoptionalPartial-match search on filer name (case-insensitive `ILIKE '%name%'`). Useful for tracking known activists across all their targets — `filerName=ICAHN` finds all Carl-Icahn-affiliated filings, `filerName=PERSHING` finds all Bill-Ackman-affiliated filings. Less precise than `filerCik`-based portfolio queries; use this for exploration.TRIAN
minOwnershipqueryoptionalMinimum aggregate `percent_of_class` threshold (added v3.7.3). Default returns all activist filings; setting `5.0` surfaces material >5% activist positions; setting `10.0` returns only large-block activists. Useful for filtering out de minimis filings that don't carry real campaign weight.5
dateFromqueryoptionalInclusive lower bound on `filedAt`. Format ISO `YYYY-MM-DD`. For incremental polling, set to `last_run_timestamp` to pick up only newly-filed activist campaigns.2026-01-01
dateToqueryoptionalInclusive upper bound on `filedAt`. Format ISO `YYYY-MM-DD`. Combine with `dateFrom` for closed ranges.2026-04-01
purposeCategoryqueryoptionalFilter to one of 13 purpose categories: `PASSIVE_INVESTMENT`, `ACTIVE_INVESTMENT`, `BOARD_REPRESENTATION` (board-seat demands), `MERGER_ACQUISITION` (M&A intent), `TENDER_OFFER`, `PROXY_CONTEST` (proxy fights), `CHANGE_MANAGEMENT` (CEO-replacement campaigns), `RESTRUCTURING`, `CAPITAL_RETURN` (buyback/dividend pressure), `GOVERNANCE_CHANGE`, `STRATEGIC_ALTERNATIVES` (sale-of-company demand), `SPIN_OFF`, `OTHER`. Each filing maps to exactly one primary category.BOARD_REPRESENTATION
pagequeryoptional11-based page number. `page=1` returns the first page (most-recent activist filings); increment to walk back chronologically.1
sizequeryoptional50Page size, capped at 200 server-side. Activist filings are a small minority of 13D/13G corpus (~5-10%) so even broad date ranges stay below the deep-pagination cap.50

Response schema

FieldTypeNullableDescription
activistsarraynoArray of activist-classified filing rows, sorted by `filedAt DESC` (most recent first). Empty array when no filings match the filters in the date window. Pre-filtered upstream — every row has `purpose='activist'` (or one of the activist-aligned purpose categories).
activists[].accessionNumberstringnoSEC accession number in canonical `XXXXXXXXXX-YY-NNNNNN` format. Pass to `/ownership/beneficial-ownership/filings/{accession}` for full filing detail (all filers, exhibits, footnotes).
activists[].filedAtstringnoISO-8601 UTC timestamp of SEC EDGAR acceptance. Compare against issuer's stock-price action — activist 13D filings often trigger 5-15% next-day price moves.
activists[].issuerCikstringnoIssuer CIK in 10-char zero-padded form. The company being targeted by the activist campaign.
activists[].issuerTickerstringyesResolved issuer ticker (canonical hyphen form). Null for private-company targets (M&A activist filings on pending deals occasionally surface against unlisted entities).
activists[].filerCikstringnoFiler CIK in 10-char zero-padded form (the activist entity). Pass to `/ownership/beneficial-ownership/filers/{cik}/portfolio` for the activist's full position book.
activists[].filerNamestringnoActivist filer name (typically all-caps EDGAR convention). Common high-signal names: `ICAHN CARL C`, `PERSHING SQUARE CAPITAL MANAGEMENT LP`, `TRIAN FUND MANAGEMENT LP`, `ELLIOTT ASSOCIATES LP`, `STARBOARD VALUE LP`, `ENGINE NO 1 LP`.
activists[].percentOfClassnumberyesReported aggregate `percent_of_class`. Above 5.00 by definition (filing trigger). Activist positions typically fall in 5-12% range — much higher than that and the filer crosses additional regulatory thresholds (e.g. 10% for short-swing profit rules).
activists[].purposestringnoAlways one of the activist-aligned purpose categories (the endpoint pre-filters out `passive`). Values: `activist`, `m&a`, `proxy-fight`, `going-private`, `recapitalization`, `restructuring`. Use the more granular `purposeCategory` filter to drill further.
activists[].intentFlagsobjectyesGranular boolean flags from rule-based NLP extraction of Item 4 text. Schema: `{ opposes_management: bool, board_seat_demand: bool, m&a_pressure: bool, intends_proxy_fight: bool, intends_tender_offer: bool, ... }`. The signal-density layer ABOVE the single `purpose` field — a `purpose='activist'` filing with `board_seat_demand=true AND opposes_management=true` is a near-certain proxy fight.
metaobjectnoPagination + filter echo block: `{ total: integer, page: integer, size: integer, applied_filters: object }`. `total` is full-corpus match count for the filter set.

Sample response

·
  • "activists":
    ]
}

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/activists?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