---
title: "A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings)"
method: GET
path: "/v1/insider-holdings"
---

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

`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`

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.

## Query parameters

- `ticker` string
- `company_cik` string
- `company_name` string
- `reporting_owner_cik` string
- `reporting_owner_name` string
- `merge_co_reports` boolean
- `holding_type` 'nonderiv' | 'deriv'
- `direct_indirect_ownership` 'D' | 'I'
- `is_director` boolean
- `is_officer` boolean
- `is_ten_percent_owner` boolean
- `min_shares` number
- `min_value` number
- `since` string
- `until` string
- `sort_by` 'period_of_report'
- `sort_order` 'desc' | 'asc'
- `limit` integer

## Response `200`

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

## Other responses

- `400`: Invalid parameter.
- `401`: Missing or invalid API key.
- `402`: This tool requires a higher plan (upgrade_required). Retrying will not help.
- `429`: Tier rate/quota limit reached (rate_limited). Retry-After points at the reset.

---

[API](https://skmtc.dev/keyvex/apis/keyvex-api.md) · [All operations](https://skmtc.dev/keyvex/apis/keyvex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/keyvex/apis/keyvex-api/revisions/01c0210c19cd?raw)
