Api Institutional Holders

Which institutional funds hold this ticker? Sourced from 13F filings.

Queries fund_holdings_snapshot (populated by the 13f_refresh batch job). Returns the latest known position for each fund, including QoQ change type.

Data source: SEC EDGAR 13F-HR filings from notable institutional filers. Updated quarterly (batch job: tools/daily_data_jobs.py --job 13f_refresh). For broader 5%+ holder data from SC 13D/G filings, see /api/holders.

get/api/institutional-holders

Request

  • Base URL: https://www.oxfordledge.com (the document declares no server; this is the origin it was published from)
  • URL: https://www.oxfordledge.com/api/institutional-holders
  • Auth: none declared

Query parameters

tickerstring required

Response

Successful Response

tickerstring required

Echoed ticker (uppercased).

holdersobject[] required

Per-fund positions for this ticker. May be empty. Each row carries stale_quarters (P1-13f, 2026-09-19): how many quarters behind as_of_quarter that row's filing is, 0 for current, null when the row's quarter is unparseable. A row struck at a quarter NEWER than as_of_quarter keeps stale_quarters 0 and adds ahead_quarters (>= 1, absent otherwise) — the clamp alone made such a row indistinguishable from one AT the as-of quarter (DATA_CZAR 2026-09-21 L7; 12 of 100 measured AAPL rows).

total_holdersinteger nullable

Count of holders. Optional — present on happy path.

as_of_quarterstring nullable

Latest quarter represented (e.g. '2026-Q1').

coverageobject nullable

P2 (13F broad-coverage): {shares_13f, fund_count, shares_outstanding, pct, quarter} — the % of shares outstanding held by the tracked 13F filers. pct is None when shares_outstanding is unavailable.

superseded_parentsobject[] nullable

P1-13f (2026-09-19): rows WITHHELD from holders because the filer stopped filing and its book now arrives under sibling CIKs of the same family, reconciling within 1%. Each carries superseded: true, superseded_by: [fund_cik, ...], and both operands of that reconciliation — shares (the withheld row's own count), superseded_by_shares (the sibling sum) and reconciled_pct (their distance apart). Never summed into coverage — folding them back in restores the double count this field exists to record; since 2026-09-21 their CIKs are also EXCLUDED from the coverage universe aggregate, which until then counted the same book twice (DATA_CZAR L3). Rendered to the reader on the in-app panel and the SSR /13f/security page.

last_goodobject nullable

Present only when the live read failed and a stored copy was served (Sentry 8K, 2026-10-04): {cached_at (UTC ISO), age_s, reason: read_failed|pool_saturated}.

degradedstring[] nullable

Present only when an enrichment read was pool-starved: 'prior_quarter' (QoQ fields null, not 'new') and/or 'coverage' (coverage.basis top_display). Such a result is never cached.

errorstring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.