# Ownership Analytics — Finradar API > Version: 3.61.0 | Generated: 2026-06-20 | Content Hash: bc077935 > Fetch this file at: https://uat.finradarapi.com/llms/ownership-analytics.txt ## Authentication All endpoints require an API key. Pass it via query parameter `?apiKey=YOUR_KEY` or header `X-API-Key: YOUR_KEY`. WebSocket endpoints accept the key in the `token` auth payload or query parameter. --- ## Ownership Analytics Analytics endpoints for ownership concentration, threshold crossings, and activist tracking. ### GET /api/v1/ownership/analytics/ownership-concentration/{cik} Ownership concentration metrics for an issuer. **Token cost:** 10 tokens per call **Response fields:** - `issuerCik` (string): Issuer CIK echoed back in 10-char zero-padded form regardless of input. - `issuerTicker` (string (nullable)): Resolved issuer ticker (canonical hyphen form). Null when issuer has no public-equity ticker. - `asOf` (string): ISO-8601 UTC timestamp of the most-recent filing contributing to the metrics computation. Concentration metrics are recomputed on the `sec_13f_summary` matview refresh cadence (~6 hours). - `top5Percent` (number): Aggregate `percent_of_class` held by the top-5 holders by position size (sum, not mean). Above 30% indicates highly concentrated ownership; above 50% indicates float-constrained ownership where 5 funds effectively control the company. Tech mega-caps (AAPL, MSFT) typically sit at 22-28%; activist-held mid-caps can reach 40-60%. - `top10Percent` (number): Aggregate `percent_of_class` held by the top-10 holders. The standard institutional-concentration metric (Sharpe, Damodaran). Values above 50% indicate the most-impactful 10 holders effectively control the float; below 30% indicates broad institutional dispersion. - `top25Percent` (number): Aggregate `percent_of_class` held by the top-25 holders. The 'tail of the distribution' metric — gap between top10 and top25 indicates how concentrated the long tail is. Index-fund-heavy names (mega caps) have small gaps (top10 ~30%, top25 ~50%); activist-targeted names have larger gaps (concentrated top-5, dispersed long tail). - `herfindahl` (number): Herfindahl-Hirschman Index (HHI) of holder concentration on a 0-10000 scale (sum of squared percent shares × 100). Below 1500 = unconcentrated (broad ownership); 1500-2500 = moderately concentrated; above 2500 = highly concentrated (FTC merger-review threshold). The single-number summary metric used in academic literature. - `institutionalPercent` (number): Aggregate institutional ownership percentage — sum of all 13F-HR-reported positions normalized against shares outstanding. Mega-caps (AAPL, MSFT) typically 60-75%; small-caps 30-50%; closely-held names < 20%. The complement of retail-+-insider ownership. - `insiderPercent` (number): Aggregate insider ownership percentage from Form 4 / Form 3 / Form 5 filings — the cumulative `total_beneficial_ownership` of all insiders normalized against shares outstanding. Founder-led companies (TSLA, META, SHOP) typically 5-25%; mature large-caps < 1%. High `insiderPercent` correlates with founder-CEO governance regimes. **Since:** v3.0.0 **Utility:** Quantitative concentration metrics for one issuer's ownership structure: top-5 / top-10 / top-25 holder share, Herfindahl-Hirschman Index of holder concentration, and the institutional-vs-insider split. The right endpoint for screening on float-pressure thesis ('find issuers where >70% of float is held by ≤5 funds, then look for cluster buys at lower levels') and for assessing concentration risk in covered names. Pair with `/ownership/analytics/threshold-crossings` to surface the recent filings that drove changes in these metrics, and with `/ownership/beneficial-ownership/issuers/{cik}/summary` for the underlying holder list. **Use case:** Assess ownership concentration risk, identify companies with highly concentrated ownership. **Parameters:** - `cik` (path, required): Issuer CIK (the company being analyzed). Accepts both 10-char zero-padded form (`0000320193`) and unpadded (`320193`). Returns 404 when no ownership filings (13F + 13D/G + Form 4) have ever surfaced this issuer. **Sample response:** ```json { "issuerCik": "0000320193", "issuerTicker": "AAPL", "asOf": "2026-05-01T20:55:12.000Z", "top5Percent": 22.4, "top10Percent": 31.7, "top25Percent": 48.3, "herfindahl": 412.6, "institutionalPercent": 61.8, "insiderPercent": 0.07 } ``` ### GET /api/v1/ownership/analytics/threshold-crossings Recent filings that crossed 5%, 10%, 15%, or 20% ownership thresholds. **Token cost:** 10 tokens per call **Response fields:** - `crossings` (array): Array of threshold-crossing rows, sorted by `filedAt DESC` (most recent crossings first). Each row represents one threshold-crossing event by one filer at one issuer (a single filing that crosses multiple thresholds emits multiple rows — e.g. going from 4% to 11% emits both `5%` and `10%` rows). Empty array on no match. - `crossings[].accessionNumber` (string): SEC accession of the filing that triggered the crossing. Pass to `/ownership/beneficial-ownership/filings/{accession}` for the full filing payload (purpose, intent flags, exhibits). - `crossings[].filedAt` (string): ISO-8601 UTC timestamp of SEC EDGAR acceptance for the crossing-triggering filing. Use for time-bucketed crossing-rate analytics ('how many 10% crossings filed this quarter?'). - `crossings[].issuerCik` (string): Issuer CIK in 10-char zero-padded form. The company whose ownership threshold was crossed. - `crossings[].issuerTicker` (string (nullable)): Resolved issuer ticker (canonical hyphen form). Null only for private-issuer filings (rare; most threshold-crossings target public issuers). - `crossings[].filerCik` (string): Filer CIK in 10-char zero-padded form. The entity that crossed the threshold. Pass to `/ownership/beneficial-ownership/filers/{cik}/portfolio` for the filer's full position book. - `crossings[].filerName` (string): Filer name from the crossing filing (typically all-caps EDGAR convention). For activist crossings commonly surfaces names like `TRIAN FUND MANAGEMENT LP`, `STARBOARD VALUE LP`, `ELLIOTT INVESTMENT MANAGEMENT LP`. - `crossings[].threshold` (integer): The threshold that was crossed — `5`, `10`, `15`, or `20`. A single filing can produce multiple rows in this response if it crossed multiple thresholds (e.g. accumulating from 4% to 11% → two rows: one for `5` and one for `10`). - `crossings[].direction` (string): Crossing direction — literal `"up"` (accumulating: prior was below threshold, current is at-or-above) or `"down"` (reducing: prior was at-or-above, current is below). The actionable direction for surveillance is `"up"`. - `crossings[].priorPercent` (number (nullable)): Filer's `percent_of_class` from the IMMEDIATELY-PRIOR filing (the last filing before this crossing-triggering one). Together with `currentPercent` defines the magnitude of the threshold crossing. Null on first-ever filings by this `(filer, issuer)` pair (i.e. fresh 5% accumulations from zero). - `crossings[].currentPercent` (number): Filer's `percent_of_class` on the crossing-triggering filing. Always above the threshold for `direction='up'`; always below the threshold for `direction='down'`. Use `currentPercent - priorPercent` (when prior is not null) to compute crossing-event size. **Since:** v3.0.0 **Utility:** Surfaces 13D/13G filings that crossed a beneficial-ownership threshold (5%, 10%, 15%, 20%) in either direction — the leading-indicator endpoint for material ownership-buildup or position-trim events. Computed via amendment-chain analysis: comparing each filing's `percentOfClass` against the prior filing by the same `(filer, issuer)` pair and emitting a row whenever the crossing occurs. Filterable by issuer ticker, specific threshold level, direction (`up` = accumulating; `down` = reducing), and date range. The 5% threshold is the SEC trigger; 10% triggers Section 16 short-swing-profit rules and is a common activist threshold; 15% (added v3.7.3) is a finer-grained activist-watching level; 20% is the often-used 'control-position' threshold. The right endpoint for compliance teams monitoring control-block accumulation and for analysts tracking activist position-building campaigns. **Use case:** Monitor for large ownership buildups/reductions, detect threshold trigger events, filter by crossing direction. **Parameters:** - `issuerTicker` (query, optional): Issuer ticker filter, case-insensitive (server normalizes to canonical hyphen form). Returns only crossings against this specific issuer. Useful for company-overview pages: 'has anyone crossed 5% in this name recently?' - `threshold` (query, optional): Specific threshold to filter on — `5`, `10`, `15`, or `20`. Default: returns crossings of any threshold. The `15` threshold was added in v3.7.3; pre-v3.7.3 only `5`, `10`, `20` were detected. - `direction` (query, optional): Crossing direction filter — `up` (accumulating: prior < threshold ≤ current) or `down` (reducing: prior ≥ threshold > current). Default: returns both directions blended. `up` crossings are the more actionable surveillance target. - `dateFrom` (query, optional): Inclusive lower bound on `filedAt` (the date of the crossing-triggering filing). Format ISO `YYYY-MM-DD`. Use for incremental polling: `dateFrom = last_run_timestamp`. - `dateTo` (query, optional): Inclusive upper bound on `filedAt` (added v3.7.3). Format ISO `YYYY-MM-DD`. Combine with `dateFrom` for closed ranges. - `page` (query, optional, default: 1): 1-based page number. Crossings are a moderate-density subset of 13D/G filings — even broad date ranges typically fit on 5-20 pages. - `size` (query, optional, default: 50): Page size, capped at 200 server-side. For full-corpus enumeration use date-range chunking + `size=200`. **Sample response:** ```json { "crossings": [ { "accessionNumber": "0001193125-26-001999", "filedAt": "2026-04-15T20:14:32.000Z", "issuerCik": "0000051143", "issuerTicker": "IBM", "filerCik": "0001637207", "filerName": "TRIAN FUND MANAGEMENT LP", "threshold": 5, "direction": "up", "priorPercent": 4.12, "currentPercent": 6.2 } ] } ```