POST /v1/owners/13f/compare compares the latest two parsable 13F reports found for an institutional manager. The input CIK belongs to the manager/filer, not the issuer whose security appears in a holding. The route is a disclosed-holdings comparison, not a current portfolio, trade blotter, or two-period query API.
Make a manager-level comparison
cik; limit is 1 through 50 and bounds the parsed holdings considered per report. The response includes managerName, currentFilingDate, previousFilingDate, rows, provenance, freshness metadata, and requestId.
Each row identifies issuer, nullable cusip, status (added, removed, changed, or unchanged), current and previous valueUsdThousands, current and previous shares, and deltas. Reported value fields are in thousands of USD. Retain both filing dates and provenance when ranking a change.
Select historical periods yourself
The comparison route has noperiod_a or period_b inputs. To compare selected reporting dates, first use:
GET /v1/owners/13f and compare the source-labelled outputs in your own application.
Interpretation limits
The service needs two parsable reports. A failure or non-2xx response is not an unchanged portfolio; handle it as an unavailable comparison and logrequestId. 13F disclosures are delayed and do not reveal all positions, derivatives, short exposure, cash, or transactions after the report date. An added/removed row is a difference in reported filing data, not an explanation of manager intent.

