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

# Evaluate 13F API

> Test manager-reported 13F holdings and quarter-over-quarter comparisons with SEC filing evidence.

Choose this API when the job is to operate a manager-monitor or research-review workflow from normalized 13F holdings while retaining the SEC filing trail. Raw EDGAR can provide the submitted reports, but leaves your application to identify comparable reports, normalize holdings, and preserve the comparison context. A general research tool can summarize a manager's activity, but cannot replace the selected filings and dates your reviewer must inspect. A Form 13F is a delayed, manager-reported snapshot; it does not establish current holdings, intraperiod trades, or investment intent.

## Endpoints and boundaries

* `GET /v1/owners/13f` requires a reporting-manager `cik`; it returns the latest normalized report and accepts optional `reportDate`, `filingDate`, and `limit` selectors.
* `GET /v1/owners/13f/filings` lists recent reports for that manager. Use it to inspect availability before treating a missing comparison as a data conclusion.
* `POST /v1/owners/13f/compare` compares the latest two reports available to the route. It is not an arbitrary-quarter comparison endpoint.

The report date is the quarter-end snapshot; the filing date is when it reached the SEC. Keep both. Holding values are returned as `valueUsdThousands`, so convert units only deliberately.

## Selection test

This is a fit when your product needs a repeatable latest-two-report comparison and can display or retain the underlying report identities. Prefer direct EDGAR retrieval when you only need an original submission or must make an arbitrary historical-quarter comparison that this route does not select. The proof passes when a reviewer can trace every reported change back to both selected filings and can explain why it is disclosure evidence rather than a trade conclusion.

## Proof of concept

Use a manager your team already follows. This example uses Berkshire Hathaway's CIK.

```bash theme={null}
# Inspect the source reports before making a comparison.
curl --fail-with-body -H "x-api-key: $SECAPI_API_KEY" \
  "https://api.secapi.ai/v1/owners/13f/filings?cik=0001067983&limit=20"

# Retrieve the selected normalized report.
curl --fail-with-body -H "x-api-key: $SECAPI_API_KEY" \
  "https://api.secapi.ai/v1/owners/13f?cik=0001067983&limit=20"

# Compare the two latest reports available to the endpoint.
curl --fail-with-body -X POST \
  -H "x-api-key: $SECAPI_API_KEY" \
  -H "content-type: application/json" \
  --data '{"cik":"0001067983","limit":50}' \
  "https://api.secapi.ai/v1/owners/13f/compare"
```

## Expected evidence

For each selected report, retain the manager CIK, report date, filing date, accession number, filing URL, reported holdings, `requestId`, `traceparent`, and `provenance` when supplied. For the comparison, retain its two filing dates, row statuses and deltas, plus its request metadata. Pair the diff with the report-history and selected-report evidence before presenting a position as added, removed, increased, or reduced.

## Failure modes

* `missing_cik` means the request needs the reporting manager's CIK, not an issuer ticker.
* A comparison needs two available reports. Inspect the filing-history endpoint rather than treating no comparison as a manager's lack of activity.
* Amendments, fund structure, corporate actions, and reporting conventions can change a row without representing a discretionary trade.
* Bound repeated polling with the account's live limits and quote the workflow before a broad manager universe. See [Pricing and limits](/evaluate/pricing-and-limits).

## Next action

Run the same PoC for a manager in your coverage set, then use the [13F monitoring tutorial](/tutorials/monitor-13f-holdings) to design an idempotent ingestion job.

<CardGroup cols={3}>
  <Card title="Get an API key" icon="key-round" href="https://secapi.ai/signup">Create a key for the selected-manager proof.</Card>
  <Card title="Open the sandbox" icon="terminal-square" href="https://secapi.ai/sandbox">Inspect 13F response shapes before scheduling a monitor.</Card>
  <Card title="Check pricing" icon="credit-card" href="https://secapi.ai/pricing">Review recurring manager-coverage costs.</Card>
</CardGroup>

<Steps><Step title="Choose a known manager">Use a manager in your coverage set and inspect available reports first.</Step><Step title="Compare the selected evidence">Keep report identities beside the latest-two-report diff.</Step><Step title="Set a polling boundary">Quote and limit the manager universe before recurring use.</Step></Steps>

<Prompt>For one reporting-manager CIK, retrieve filing history and a selected 13F report, then compare the two latest reports. Return report and comparison evidence separately, including provenance and request ID, and state the disclosure limits.</Prompt>
