/api/v1/ownership/beneficial-ownership/filers/{cik}/portfolioPortfolio view for a filer — all issuers they have beneficial ownership of.
Portfolio view for a filer — all issuers they have beneficial ownership of.
10 tokensSince v3.0.0
Why use this
Per-filer beneficial-ownership portfolio: every issuer where this filer has filed a 13D/13G with a current >5% (or >0.01% non-cessation) position. The inverse of `/issuers/{cik}/summary` — drill into one specific activist or fund (Carl Icahn, Bill Ackman, Berkshire Hathaway, Engine No. 1) and get the full list of companies they hold significant beneficial ownership in. Drives activist-portfolio tracker dashboards, copycat-investor research, and 'who else does Carl Icahn target?' workflows. Pair with `/ownership/holders/{uuid}/filing-history` for the time-ordered filing chain across both 13D/G and 13F sources.
Common use case
Track an activist investor's portfolio of positions across multiple companies.
Per-filer 13D/13G portfolio — all current beneficial-ownership positions for one filer across every issuer they have filed against. Inverse of GET /api/v1/ownership/beneficial-ownership/issuers/{cik}/summary.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| cik | path | required | — | — | Filer CIK (the entity DOING the reporting — fund, family office, individual). Accepts both 10-char zero-padded form (`0001067983`) and unpadded (`1067983`). Common activist CIKs: `0001412082` (Carl Icahn), `0001336528` (Pershing Square — Bill Ackman), `0001067983` (Berkshire Hathaway). Returns 404 when the CIK has never filed a 13D/13G. | 0001067983 |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| filerCik | string | no | Filer CIK echoed back in 10-char zero-padded form regardless of input. |
| filerName | string | no | Filer name from the most recent filing (typically all-caps EDGAR convention). For activists this often surfaces multi-entity structures — the most-recently-filed legal name wins. |
| positions | array | no | Array of current beneficial-ownership positions — one row per issuer where this filer has a non-cessation 13D/13G position. Sorted by `latestPercent DESC` (largest position first). Excludes issuers whose most-recent filing was a cessation amendment (< 0.01%). |
| positions[].issuerCik | string | no | Issuer CIK in 10-char zero-padded form. Stable join key for issuer-side queries. |
| positions[].issuerTicker | string | yes | Resolved issuer ticker (canonical hyphen form). Null when issuer has no public-equity ticker (private companies, foreign issuers without ADRs). |
| positions[].nameOfIssuer | string | no | Issuer name from the most recent filing's cover page (typically all-caps EDGAR convention). |
| positions[].latestPercent | number | yes | Latest reported `percent_of_class` for this filer at this issuer. Above 5.00 by definition (filing trigger). Null on legacy filings that omitted the field. |
| positions[].latestShares | number | yes | Latest reported aggregate share count. Includes shared voting + dispositive power. NOT split-adjusted. |
| positions[].latestFiledAt | string | no | ISO-8601 UTC timestamp of the most recent filing. Use to detect stale positions — values older than 12 months on a 13G holder may indicate ingest staleness or an annual-filing window not yet reached. |
| positions[].purpose | string | yes | Classified intent at the latest filing — `passive`, `activist`, `m&a`, `going-private`, `proxy-fight`, `recapitalization`, etc. Null on legacy pre-classification filings. Look for `passive` → `activist` purpose transitions across time as the strongest activist-conversion signal. |
| meta | object | no | Pagination + filter echo block: `{ total: integer, limit: integer }`. `total` is the full position count; pagination not currently exposed via this endpoint (positions list is bounded since most filers hold < 100 positions). |
Sample response
·
- "filerCik": "0001067983"
- "filerName": "BERKSHIRE HATHAWAY INC"
- "positions":
- "meta":
- "total": 1
- "limit": 100
Errors
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected server-side failure. Retry with backoff; report if persistent. |
Code samples
curl "https://api.finradar.ai/api/v1/ownership/beneficial-ownership/filers/{cik}/portfolio?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).