Skip to content
/api/v1/form-13f/filers

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.

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.

10 tokensSince v1.0.0

Why use this

Find institutional filers by fund name, CIK, reported authorized signer, or curated manager alias. For example, 'buffett' finds Berkshire Hathaway through an alias, but the returned manager field identifies a reported signer, not necessarily Buffett or the portfolio decision-maker. Returns filingCount, lastFiled, lastPeriod, and manager within the raw HTTP data array. Supports limit up to 10,000; no assets-under-management field is returned.

Common use case

Building an autocomplete search box like StockCircle where typing 'Warren Buffett' or just 'buffett' finds Berkshire Hathaway via the filer_aliases table, or typing 'Bridgewater' finds the fund by company name. Use limit=10000 to preload all filers for instant client-side search.

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

NameInRequiredDefaultAllowedDescriptionExample
qqueryoptionalโ€”โ€”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
limitqueryoptional20โ€”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

FieldTypeNullableDescription
statusstringnoSuccessful raw HTTP response.
request_idstringyesRequest correlation identifier; null when no identifier was attached to the request.
timestampstringnoResponse creation time in UTC, ending in Z.
dataarraynoMatching 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[].cikstringyesCIK 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[].namestringnoFiling 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[].filingCountintegernoNumber of completed 13F filings in this CIK/company-name group, including amendments and notices.
data[].lastFiledstringyesMaximum stored filing-date string for the group, normally YYYY-MM-DD; null if missing.
data[].lastPeriodstringyesLatest reporting-period date for the group, formatted YYYY-MM-DD; null if missing.
data[].managerstringyesReported 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_bystringnoOptional; 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.
metaobjectnoReturned-result metadata; there is no offset, next-page cursor, or echoed limit.
meta.totalintegernoNumber 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

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected 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).

Try it

Related endpoints