A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings)

A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings). Each row keeps ticker as SEC received it and gains current_ticker when the issuer trades under a different symbol today. Separately-listed share classes are NOT merged, and asking for a RETIRED symbol returns only rows filed under it — retired symbols get reissued to other companies. Returns per-security INSIDER POSITIONS from SEC Form 3/4/5 filings — one row per holding line reported by a corporate insider (director, officer, or 10%+ beneficial owner). Use this when the user asks: what a specific insider currently HOLDS, who the largest insider holders of a stock are, an insider's position across companies, or direct-vs-indirect ownership structure. This is the position (stock) companion to get_insider_transactions (the buys/sells flow). Source: SEC bulk Form 3/4/5 dataset (insider_holdings_v2), 2006→present, refreshed quarterly. Each row carries the filing envelope (company_cik, company_name, ticker, reporting_owner_cik/name, role flags, filing_date, period_of_report), the position (holding_type nonderiv|deriv, security_title, shrs_owned_following_trans, valu_owned_following_trans, direct_indirect_ownership D|I), and — for derivative holdings — conv_exercise_price, exercise_date, expiration_date, and underlying-security detail. Useful filter combos: ticker='NVDA', sort_order='desc' most-recent NVDA insider holdings reporting_owner_cik='0001214128' one insider's positions everywhere ticker='AAPL', holding_type='deriv' AAPL insiders' option/RSU positions ticker='TSLA', is_ten_percent_owner=true 10%+ owners of TSLA company_cik='0000320193', min_value=1000000 Apple insiders holding >$1M reporting_owner_name='Musk' name substring (case-insensitive) shares/value are 'following the reported transaction' — the position as of that filing, not a live real-time holding. For the trades themselves use get_insider_transactions; ownership ties together via reporting_owner_cik.

get/v1/insider-holdings

Request

  • Base URL: https://api.keyvex.com
  • URL: https://api.keyvex.com/v1/insider-holdings
  • Auth: API key in header x-api-key

Query parameters

tickerstring

Exact issuer ticker (e.g., 'AAPL', 'BRK.B').

company_cikstring

Issuer CIK (10-digit, leading-zero padded). Returns insider holdings across all reporting periods for that company.

company_namestring

Case-insensitive substring against issuer company name (e.g., 'Apple', 'Tesla').

reporting_owner_cikstring

Insider CIK (10-digit, leading-zero padded). Returns one insider's positions across every company they report on.

reporting_owner_namestring

Case-insensitive substring against the insider's name (e.g., 'Musk', 'Cook').

merge_co_reportsboolean

DEFAULT TRUE — leave it alone unless you specifically want raw filings. When shares are held through a fund, trust or family holding company, every person deemed a beneficial owner files their own Form 3/4/5 reporting the SAME position, so one block appears once per filer. By default those lines are merged into one row per position, so share counts are the shares actually held; reporting_owner_name names every filer and co_reported_accessions lists every accession. Set false for one row per filing — totals then count the same shares once per reporting person.

holding_type'nonderiv' | 'deriv'

'nonderiv' = direct securities (common stock); 'deriv' = derivative holdings (options, RSUs, warrants, convertibles). Omit for both.

direct_indirect_ownership'D' | 'I'

'D' direct ownership, 'I' indirect (held via trust, LLC, family member, etc.).

is_directorboolean

True returns only holdings reported by directors.

is_officerboolean

True returns only holdings reported by officers.

is_ten_percent_ownerboolean

True returns only holdings reported by 10%+ beneficial owners.

min_sharesnumber

Minimum shares owned following the reported transaction. Use to focus on large positions.

min_valuenumber

Minimum USD value owned following the reported transaction. Use to focus on large positions.

sincestring

ISO date (YYYY-MM-DD). Only holdings whose period_of_report >= this date.

untilstring

ISO date (YYYY-MM-DD). Only holdings whose period_of_report <= this date.

sort_by'period_of_report'

Sort field. Only period_of_report is supported. Default: period_of_report.

sort_order'desc' | 'asc'

Default: desc (most recent reporting period first).

limitinteger

Maximum records to return. Default 50, max 500.

Response

JSON envelope: { results: [...], count, has_more }.

Changes

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