/api/v1/form-13f/filersSearch or list all 13F filers by fund name, CIK, manager name, or well-known alias, with filing counts, last-filed dates, and authorized signer.
Search or list all 13F filers by fund name, CIK, manager name, or well-known alias, with filing counts, last-filed dates, and authorized signer.
Why use this
Common use case
Look up filer CIKs by company name, CIK, selected reported signer, or curated alias before drilling into POST /api/v1/form-13f/holdings. Results group completed 13F filings by CIK and company name; names may therefore produce multiple rows for one CIK. The manager field is the selected authorized signer, not a verified investment-manager identity.
Raw HTTP versus CLI JSON: the raw HTTP response is the object shown below: status, request_id, timestamp, data, and meta. Read rows from response.data. Both finradar --output json api GET /api/v1/form-13f/filers and finradar --output json 13f filers get use the CLI's shared success-envelope extraction and print only the data value: a top-level array. Iterate that array directly; do not access filers or data on the CLI result. The raw meta block is not part of that JSON stdout.
Result count: meta.total equals the number of returned rows after limit, including zero for an empty search. It is not a full-match count. There is no meta.limit, offset, or next-page cursor. The example is illustrative; filing counts and dates change as filings arrive.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| q | query | optional | โ | โ | Case-insensitive substring search of company name and the group's selected authorized signer (maximum signature_name string), plus CIK substring search with leading-zero-insensitive matching and curated aliases such as buffett. A complete CIK can be supplied, but this is not an exact-only filter. Omit q to list top-ranked filers. Signer search and alias search are different: the returned manager value is a reported signer, not an alias or verified portfolio manager. | buffett |
| limit | query | optional | 20 | โ | Maximum filers returned (up to 10,000). The 10K cap supports client-side preloading the full filer universe for instant in-browser autocomplete (StockCircle-style UX). For typical query-driven autocomplete, 20-50 is plenty; for full-list preload use 10000. | 20 |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| status | string | no | Successful raw HTTP response. |
| request_id | string | yes | Request correlation identifier; null when no identifier was attached to the request. |
| timestamp | string | no | Response creation time in UTC, ending in Z. |
| data | array | no | Matching filer rows; empty on no match. Alias matches rank first, then filers meeting the current reporting-period cutoff, then filing count descending and latest period descending. Known superseded predecessors are moved to the end. Use each row's cik for further 13F queries. |
| data[].cik | string | yes | CIK as stored on the filing; commonly ten digits with leading zeros. This endpoint does not reformat it. Null is possible for a filing without a CIK. |
| data[].name | string | no | Filing company name with a trailing " (Filer)" removed; empty string when missing. Results are grouped by CIK and company name, so one CIK can have multiple name rows. |
| data[].filingCount | integer | no | Number of completed 13F filings in this CIK/company-name group, including amendments and notices. |
| data[].lastFiled | string | yes | Maximum stored filing-date string for the group, normally YYYY-MM-DD; null if missing. |
| data[].lastPeriod | string | yes | Latest reporting-period date for the group, formatted YYYY-MM-DD; null if missing. |
| data[].manager | string | yes | Reported authorized signer name from the group's signature_name values. The current query selects the maximum string value, not necessarily the signer on the latest filing. This is not a verified portfolio decision-maker identity; an alias such as Buffett may differ from the returned signer. Null when no signer is recorded. |
| data[].superseded_by | string | no | Optional; omitted when not applicable. Canonical successor CIK, padded to ten characters, only for a known superseded predecessor. The predecessor remains in the results but is sorted last. Absent on ordinary rows. |
| meta | object | no | Returned-result metadata; there is no offset, next-page cursor, or echoed limit. |
| meta.total | integer | no | Number of rows returned, equal to data.length after limit. Not the full number of matching filers. |
Sample response
- "status": "success"
- "request_id": "filer-example-request"
- "timestamp": "2026-09-12T12:00:00Z"
- "data":
- "meta":
- "total": 1
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/form-13f/filers?api_Token=YOUR_API_KEY&q=buffett&limit=20" \
-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).