> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SEC Form 13F

> Form 13F, what every institutional manager over $100 million holds in US public equities: search filings by manager and quarter, read one filing's positions, and follow a security across every manager holding it.

Every institutional investment manager with at least \$100 million in US
public equities reports what it holds to the Securities and Exchange
Commission within 45 days of each quarter's end, on Form 13F: the manager,
the quarter, and one line per position with the issuer, its CUSIP, the value
in dollars, the shares held, whether it is an option, and who votes the
shares. Berkshire Hathaway's book, every pension fund and every hedge fund
large enough to file are all here, signed by the manager.

Every filing since 2013 and the positions of recent quarters, organized and
ready to query. That is what makes a list of every manager that holds one
CUSIP, or one manager's whole book for a quarter, a single fast call. The
manager's CRD number ties a filing to the same firm in the investment
adviser registry, so a manager's public book and the private funds it runs
read together.

<Note>
  The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries `as_of`: how current the data is. [How datasets work](/datasets).
</Note>

## Search filings

`POST /us/sec-13f/filings-search/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

Searches the filings by any combination of manager name, CIK, CRD, state,
quarter and total value. Newest quarter first.

| Field         | Type    | Notes                                                                                          |
| ------------- | ------- | ---------------------------------------------------------------------------------------------- |
| `query`       | string  | Optional. Words in the manager's name. Every word must match; no stemming.                     |
| `manager_cik` | string  | Optional. The manager's EDGAR CIK, with or without leading zeros: every filing of one manager. |
| `manager_crd` | string  | Optional. The manager's CRD number, the same id the investment adviser registry uses.          |
| `state`       | string  | Optional. Two-letter state of the manager's address, e.g. `NE` or `NY`.                        |
| `period_from` | string  | Optional. Earliest quarter end reported (`yyyy-mm-dd`, inclusive), e.g. `2026-03-31`.          |
| `period_to`   | string  | Optional. Latest quarter end reported (`yyyy-mm-dd`, inclusive).                               |
| `min_value`   | number  | Optional. Only filings whose positions total at least this many US dollars. Default `0`.       |
| `page`        | integer | Optional. 1-based page. Default `1`.                                                           |
| `per_page`    | integer | Optional. Results per page, 1-50. Default `20`.                                                |

```bash theme={"dark"}
curl https://api.croma.run/us/sec-13f/filings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "berkshire hathaway" }'
```

Returns `as_of` (how current the data is), the applied filters, `total` (matches across every page), `page`, `per_page`, `total_pages`, `count` and `filings[]`, newest quarter first and largest first within it.

Every filing carries `accession_number` (the key), `filed_on`, `period` (the quarter end reported), `submission_type` (`13F-HR` a holdings report, `13F-NT` a notice that another manager reports the positions, and their `/A` amendments), `is_amendment`, `amendment_number`, `amendment_type`, `report_type`, `manager` (`{ cik, name, crd, sec_file_number, form_13f_file_number, address }`), `holdings_count`, `holdings_value` (US dollars), `other_managers_count`, `confidential_omitted`, `additional_information` and `filing_url`.

Amounts are numbers in US dollars. Form 13F reported values in thousands until the rules that took effect in January 2023; the amounts here are normalized to dollars throughout, so a 2019 filing and a 2026 one compare directly. The SEC's own rule is applied by filing date; a minority of managers reported whole dollars before 2023 anyway, and their older amounts read a thousand times high. Dates are `yyyy-mm-dd`. Empty fields are `null`.

<Note>
  The SEC publishes Form 13F as quarterly data sets a few weeks after each
  filing window closes, so the copy is as current as the newest data set:
  `as_of` says exactly how current.
</Note>

## One filing and its positions

`POST /us/sec-13f/filing/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

Resolves one Form 13F by its accession number and returns it with the
positions it reported, largest first.

| Field              | Type   | Notes                                                                                                   |
| ------------------ | ------ | ------------------------------------------------------------------------------------------------------- |
| `accession_number` | string | **Required.** EDGAR's accession number, e.g. `0001193125-26-226661`, as returned by the filings search. |

```bash theme={"dark"}
curl https://api.croma.run/us/sec-13f/filing/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "accession_number": "0001193125-26-226661" }'
```

Returns `found`, `accession_number`, `as_of`, `filing` (null when not found) and `holdings[]`: the filing's positions, largest first, up to 200.

Every filing carries `accession_number` (the key), `filed_on`, `period` (the quarter end reported), `submission_type` (`13F-HR` a holdings report, `13F-NT` a notice that another manager reports the positions, and their `/A` amendments), `is_amendment`, `amendment_number`, `amendment_type`, `report_type`, `manager` (`{ cik, name, crd, sec_file_number, form_13f_file_number, address }`), `holdings_count`, `holdings_value` (US dollars), `other_managers_count`, `confidential_omitted`, `additional_information` and `filing_url`.

Amounts are numbers in US dollars. Form 13F reported values in thousands until the rules that took effect in January 2023; the amounts here are normalized to dollars throughout, so a 2019 filing and a 2026 one compare directly. The SEC's own rule is applied by filing date; a minority of managers reported whole dollars before 2023 anyway, and their older amounts read a thousand times high. Dates are `yyyy-mm-dd`. Empty fields are `null`.

Every position carries `id` (the key: the filing's accession number and the position's sequence), `accession_number`, `filed_on`, `period`, `manager_cik`, `manager_name`, `manager_crd`, `issuer_name`, `cusip`, `figi`, `class_title`, `value` (US dollars), `shares`, `share_type` (`SH` shares or `PRN` principal amount), `put_call` (`PUT`, `CALL` or null when the position is the security itself), `discretion`, `other_managers`, and the voting authority split into `voting_sole`, `voting_shared` and `voting_none`.

Values are normalized to US dollars across the whole series. Dates are `yyyy-mm-dd`. Empty fields are `null`.

<Note>
  An accession number no Form 13F carries returns `found: false` with HTTP 200,
  not an error. `holdings` is empty for a notice, which reports no positions of
  its own, and for quarters older than the ones the copy keeps positions for.
</Note>

## Search positions

`POST /us/sec-13f/holdings-search/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

Searches the positions by any combination of issuer, manager, CUSIP, options,
quarter and value. Largest first.

| Field         | Type    | Notes                                                                                           |
| ------------- | ------- | ----------------------------------------------------------------------------------------------- |
| `query`       | string  | Optional. Words in the issuer's name or the manager's name. Every word must match; no stemming. |
| `cusip`       | string  | Optional. The security's CUSIP, nine characters: every manager holding it.                      |
| `manager_cik` | string  | Optional. The manager's EDGAR CIK, with or without leading zeros: every filing of one manager.  |
| `manager_crd` | string  | Optional. The manager's CRD number, the same id the investment adviser registry uses.           |
| `put_call`    | enum    | Optional. `PUT` or `CALL` for option positions only; leave empty for every position.            |
| `period_from` | string  | Optional. Earliest quarter end reported (`yyyy-mm-dd`, inclusive), e.g. `2026-03-31`.           |
| `period_to`   | string  | Optional. Latest quarter end reported (`yyyy-mm-dd`, inclusive).                                |
| `min_value`   | number  | Optional. Only positions worth at least this many US dollars. Default `0`.                      |
| `page`        | integer | Optional. 1-based page. Default `1`.                                                            |
| `per_page`    | integer | Optional. Results per page, 1-50. Default `20`.                                                 |

```bash theme={"dark"}
curl https://api.croma.run/us/sec-13f/holdings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "nvidia", "min_value": 1000000000 }'
```

Returns `as_of` (how current the data is), the applied filters, `total` (matches across every page), `page`, `per_page`, `total_pages`, `count` and `holdings[]`, largest first.

Every position carries `id` (the key: the filing's accession number and the position's sequence), `accession_number`, `filed_on`, `period`, `manager_cik`, `manager_name`, `manager_crd`, `issuer_name`, `cusip`, `figi`, `class_title`, `value` (US dollars), `shares`, `share_type` (`SH` shares or `PRN` principal amount), `put_call` (`PUT`, `CALL` or null when the position is the security itself), `discretion`, `other_managers`, and the voting authority split into `voting_sole`, `voting_shared` and `voting_none`.

Values are normalized to US dollars across the whole series. Dates are `yyyy-mm-dd`. Empty fields are `null`.

<Note>
  Pass a `cusip` to see every manager holding one security, or a
  `manager_cik` to see one manager's book. The copy keeps recent quarters;
  `as_of` says how current it is, and the filings search covers every quarter
  since 2013.
</Note>

<Card title="Full reference" icon="code" href="/api-reference/overview">
  Schemas, all response fields, and an interactive playground.
</Card>
