SEC 13F Holdings by Fund with Quarterly Changes
Pricing
from $0.80 / 1,000 holdings
SEC 13F Holdings by Fund with Quarterly Changes
Every position from a fund's SEC 13F-HR filings, one row per holding, with dollar values, share counts, voting authority, portfolio weight and quarter-over-quarter changes (new, increased, decreased, closed).
Pricing
from $0.80 / 1,000 holdings
Rating
0.0
(0)
Developer
Code Craft Colorado
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
SEC 13F Holdings by Institutional Manager with Quarterly Changes
Every entry of an institutional investment manager's SEC Form 13F reports, one row per entry, for as many quarters as you ask. Give it a manager's CIK (the SEC's number for every filer) and it returns what the manager reported holding at each quarter end, with amendments applied as the SEC's rules say and each report compared with the manager's report for the quarter before.
- The report as it stands: a restatement replaces the original report, and an amendment that adds holdings is added to it.
- Every column of the Information Table: issuer, class, CUSIP and FIGI, value, shares or principal amount, put or call, investment discretion, other managers, and voting authority.
- Values in dollars for every period: reports filed before 2023 gave thousands; those are converted.
- Quarter-over-quarter comparison: each entry labelled against the report for the calendar quarter before, with the shares then and the difference.
- Notices and unapplied amendments recorded: when a manager's holdings are reported by other managers, or an amendment cannot be applied, the run says so and names them.
- A link to every filing on EDGAR, the SEC's filing system.
The fields are the filing's own. Where this page says what a field means, it quotes or follows the SEC rule, form instruction or EDGAR specification that defines it.
Quick start
- Enter a manager's CIK under Manager CIKs, for example
0001067983. - Start the run.
- Read the rows in the run's dataset as they arrive. Each row looks like the example under Output below.
{"ciks": ["0001067983"]}
With the defaults, the run returns the manager's latest report period, compared with its report for the quarter before.
Who files Form 13F
"Every institutional investment manager which exercises investment discretion with respect to accounts holding section 13(f) securities ... having an aggregate fair market value on the last trading day of any month of any calendar year of at least $100,000,000 shall file a report on Form 13F ... within 45 days after the last day of such calendar year and within 45 days after the last day of each of the first three calendar quarters of the subsequent calendar year."
Rule 13f-1(a)(1). A 13F filer is an institutional investment manager, which is not necessarily a fund. Its report takes one of three forms (Form 13F Special Instruction 5):
- a 13F holdings report, when all of its holdings are reported in the report;
- a 13F combination report, when other managers report part of them, listed on the cover page;
- a 13F notice, filed as 13F-NT, when other managers report all of them. A notice has no Information Table.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
ciks | array of strings | required | CIKs of the institutional investment managers. Leading zeros are optional. |
quarters | integer | 1 | How many of each manager's most recent report periods to return, newest first. |
includeChanges | boolean | true | Compare each period's report with the manager's report for the calendar quarter before. |
A manager's CIK is shown beside its name in the SEC's EDGAR company search.
Four report periods for two managers
{"ciks": ["0001067983", "0001350694"],"quarters": 4}
The latest report only, without the comparison
{"ciks": ["0001067983"],"includeChanges": false}
Output
One row per Information Table entry. The example is a real 13F-HR, turned into a row by this actor's code from the filing's submission text on EDGAR. It was produced without the earlier report, so its comparison fields are empty:
{"filerCik": "0002061426","filerName": "One Rock Capital Partners, LLC","periodOfReport": "2026-06-30","filingDate": "2026-08-14","accessionNumber": "0001193125-26-350364","form": "13F-HR","nameOfIssuer": "PRIMO BRANDS CORPORATION","titleOfClass": "CLASS A COM SHS","cusip": "741623102","figi": null,"valueUsd": 2840192099.0,"shares": 116210806.0,"sharesType": "SH","putCall": null,"investmentDiscretion": "SOLE","otherManagers": [],"votingSole": 116210806.0,"votingShared": 0.0,"votingNone": 0.0,"change": null,"sharesChange": null,"previousShares": null,"portfolioPercent": 100.0,"sourceUrl": "https://www.sec.gov/Archives/edgar/data/2061426/0001193125-26-350364-index.html"}
Rows are written to the run's default dataset as they are produced. The dataset's Holdings view shows the manager, period, issuer, class, CUSIP, value, shares, put or call, portfolio weight, change, share change, filing date and the filing link.
The report and the filing
filerCik,filerName: the manager, with its name from the cover page of the filing the entry comes from.periodOfReport: the calendar quarter end the report is for. "The period end date used in the report is the last day of the calendar year or quarter, as appropriate, even though that date may not be the same as the date used for valuation" (Special Instruction 2).filingDate,accessionNumber,form,sourceUrl: the filing the entry comes from. A filing submitted after 5:30 p.m. Eastern time is filed the next business day (Regulation S-T Rule 13(a)(2)).
The Information Table columns
Each column is as the manager entered it, following Form 13F Special Instruction 11.b:
nameOfIssuer(Column 1) andtitleOfClass(Column 2): as they appear in the SEC's 13F List; "Reasonable abbreviations are permitted."cusipandfigi(Column 3): "the nine (9) digit CUSIP number"; a manager "also may optionally enter the twelve (12) character alphanumeric FIGI".valueUsd(Column 4): market value, "the value at the close of trading on the last trading day of the calendar year or quarter" (Special Instruction 8), in dollars. See below for filings made before 2023.sharesandsharesType(Column 5): "the total number of shares of the class of security or the principal amount of such class", withSHfor shares andPRNfor principal amount.putCall:PutorCallwhen the entry reports securities subject to put or call options. For options, Columns 1 to 5, 7 and 8 are given "in terms of the securities underlying the options, not the options themselves" (Special Instruction 10).investmentDiscretion(Column 6):SOLE;DFND, shared-defined, when discretion "is shared with controlling and controlled companies (such as bank holding companies and their subsidiaries); investment advisers and investment companies advised by those advisers; or insurance companies and their separate accounts"; orOTR, shared-other, when it is "shared in a manner other than" that.otherManagers(Column 7): the numbers, in the report's List of Other Included Managers, of the other managers with whom discretion over the entry is shared.votingSole,votingShared,votingNone(Column 8): "the number of shares for which the Manager exercises sole, shared, or no voting authority".portfolioPercent: the entry'svalueUsdas a percentage of the totalvalueUsdof the period's entries.
A manager lists the same security on more than one line when its discretion over the shares differs: holdings with sole discretion are listed "separately from those with respect to which investment discretion is shared" (Special Instruction 11.a).
Values before 2023
For the data the SEC publishes, "Starting on January 3, 2023, market value is reported rounded
to the nearest dollar. Previously, market value was reported in thousands." The date is the
filing date: "All Form 13F reports that are filed on or after January 3, 2023 ... must use the
updated Form 13F" (13F FAQ 62, staff view), including reports for the quarter ending December
31, 2022. The actor multiplies the values of filings made before January 3, 2023 by 1,000, so
every valueUsd is in dollars.
The comparison with the quarter before
With includeChanges, each period's report is compared with the manager's report for the
calendar quarter before it. Entries are matched on CUSIP and putCall, and the lines that
share both are added together first, so every line of a security carries the same comparison.
change | Meaning | previousShares | sharesChange |
|---|---|---|---|
NOT_IN_PRIOR_REPORT | The earlier report has no entry for the CUSIP and put/call | null | null |
INCREASED | Total shares now are greater than in the earlier report | earlier total | positive |
DECREASED | Total shares now are less than in the earlier report | earlier total | negative |
UNCHANGED | Totals are equal | earlier total | 0 |
NOT_IN_THIS_REPORT | The earlier report has an entry this one does not | earlier total | minus the earlier total |
A NOT_IN_THIS_REPORT row is added by the actor; it is not in the filing. It has zero shares
and valueUsd, the security fields of the earlier entry, and the filing fields of the current
report.
The labels compare two reports; they do not say what the manager bought or sold. A report may leave out holdings: "A Manager may omit holdings otherwise reportable if the Manager holds, on the period end date, fewer than 10,000 shares (or less than $200,000 principal amount in the case of convertible debt securities) and less than $200,000 aggregate fair market value" (Special Instruction 9), and holdings for which confidential treatment is requested are omitted too. A manager also does not report "put or call options that you write" or "short positions" (13F FAQ 43 and 41, staff view).
When the manager has no report for the quarter before, or it was a notice, or it could not be read, the comparison fields are null.
Amendments
The actor reads every 13F-HR and 13F-HR/A the manager filed for a period and combines them as the rules say:
"Amendments to a Form 13F report must either restate the Form 13F report in its entirety or include only holdings entries that are being reported in addition to those already reported in a current public Form 13F report for the same period."
Form 13F Special Instruction 3. "Amended filings, when it is a restatement, will supersede the original filing. When new holding entries are added, the amended filing will supplement the original filing." Amendment numbers reflect "the order in which such amendments are filed in a quarter" (EDGAR Filer Manual Volume II, 8.2.12). So:
- the latest restatement (
RESTATEMENT) replaces the original report and every amendment before it; - each amendment that adds holdings (
NEW HOLDINGS) after that is added to it, and its rows carry its ownaccessionNumber,filingDateandform; - an amendment with no amendment type does not say whether it restates or adds, so it is not
applied. Neither is an amendment that adds holdings when the period has no 13F-HR or
restatement for it to add to. Both are listed in
ERRORS.
Notices
When a manager's report for a period is a 13F notice, other managers report its holdings, so
there are no rows for that period. The notice is listed in ERRORS with the managers the
filer names as reporting for it (managersReportingForThisManager), and the status message
counts it. A notice still counts as one of the quarters you asked for.
Limitations
- The actor reports what the manager filed. Positions under the reporting thresholds, positions under confidential treatment, written options and short positions are not in a report.
- The comparison labels say how two reports differ, not what the manager traded.
- A combination report holds only the part of the manager's holdings that other managers do not report.
- Values are as reported. "Filers with no holdings may enter, as appropriate, N/A (not applicable), NONE, or zero" in the Information Table's one required line (EDGAR Filer Manual Volume II, 8.2.12), so such a line can appear as an entry.
- Managers are looked up by CIK only.
Errors and rate limits
The ERRORS record in the run's key-value store lists, one entry each: CIKs that are not
numeric or have no Form 13F filings; filings that could not be read, with their accession
number and link; amendments that were not applied, with the reason; and 13F notices, with the
managers reporting for the filer. A period with a filing that could not be read is not
returned, because its amendments cannot be combined without it. The status message counts
entries, reports, notices, unapplied filings and errors. Nothing in ERRORS is charged.
The SEC limits each user to "no more than 10 requests per second, regardless of the number of machines used to submit requests", and asks automated tools to declare who they are. The actor identifies itself as Code Craft Colorado, LLC with your Apify user ID and a contact address, and spaces its requests to stay within the limit. When the SEC refuses a request as over the limit, the actor pauses all requests for 10 minutes, the period after which the SEC says a user "may resume", and continues at a lower rate. If the SEC is still refusing after 20 minutes of pauses in one run, the run stops with a status message saying so. If the SEC rejects the actor's declared identity, the run fails. Either way, every row already delivered is kept.
Each manager costs one request for its filing list (more for managers with a long filing history) and one request per filing read.
How much does it cost?
The billable unit is one dataset row. NOT_IN_THIS_REPORT rows are rows and are charged; they
exist only when includeChanges is on. Reading the report for the quarter before, which is
used only for the comparison, and everything in ERRORS are not charged. Current per-row
pricing is on the Pricing tab of this page.
Use cases
- Follow the reports of the managers you track each quarter, on a schedule.
- Join entries across managers on
cusipto see which of them reported a security. - Compare a manager's reported positions across periods with
changeandsharesChange. - Measure how concentrated a manager's reported holdings are with
portfolioPercent.
Run it on a schedule, from the API, or from an agent
The actor runs the same way from a saved task on a Console schedule, from the Apify API or the JavaScript and Python clients, and as a tool through Apify's MCP server, so an AI agent can call it directly. The input JSON is identical in every case, and the results are in the run's dataset whichever way it was started.
Related actors
- SEC Insider Trades (Form 4) by Company or Person: every transaction reported on Forms 4 and 5, by company, reporting owner, or across the market.
- SEC 8-K Filings by Ticker with Item Codes: 8-K filings with their items and exhibits, and optionally their text.
- Wayback Machine Snapshots and Archived Page Content: every Wayback Machine capture of a URL, host, or domain, with optional archived page text.
FAQ
Why does a security appear on several lines? The manager lists holdings with sole and shared discretion separately, and shared ones separately again by the managers they are shared with. Every line of a security carries the same comparison, which is for the total across its lines.
Why is the newest period older than I expected? A manager files within 45 days after the quarter ends. Until it does, its latest report is for the quarter before.
Why are there no rows for a period? The report may be a 13F notice, or a filing for the
period could not be read. Both are listed in ERRORS.
Something is missing or wrong? Open an issue on the actor's Issues tab with the
accessionNumber or sourceUrl of the filing.