SEC 13F Holdings: fund and institutional portfolios per quarter
Pricing
from $0.65 / 1,000 holding listeds
SEC 13F Holdings: fund and institutional portfolios per quarter
Every position from the latest 13F-HR filings of hedge funds, asset managers and holding companies by CIK or ticker: issuer, CUSIP, value, shares, put or call, voting authority, share of the portfolio, with quarter, totals and filing links. Up to 200 filers a run. Pay per holding.
Pricing
from $0.65 / 1,000 holding listeds
Rating
0.0
(0)
Developer
Steadydata Team
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Every position from the latest 13F-HR filings of hedge funds, asset managers and holding companies by CIK or ticker: issuer, CUSIP, value, shares, put or call, voting authority, share of the portfolio, with quarter, totals and filing links. Up to 200 filers a run. Pay per holding.
Why this scraper
- Only delivered results are charged. Inputs that fail come back as clear error records at no cost.
- Straight from the SEC's own archive: the filer's filing list from the SEC JSON API, then the cover page and the information table XML of each 13F, the document the manager filed. Measured on the platform: the 50 largest positions each of Berkshire Hathaway, Bridgewater and Pershing Square, 111 rows, in 7 seconds for a fifth of a cent.
- One row per position with everything the table carries: issuer, class, CUSIP, value, shares or principal, put or call, investment discretion, other managers, sole, shared and no voting authority. Plus, on every row, the quarter, the filer's total number of positions and total value from the cover, so a single row reads in context.
- Positions come largest first with
portfolioPercent, the weight of the position in the delivered table, computed rather than copied, so top-10 lists and concentration figures need no further work. maxHoldingsPerFilingcaps the cost of managers that report thousands of lines;maxFilingsPerFilergoes back several quarters for a history; amendments are read only when asked.
Who this is for
Paste CIKs (1067983 for Berkshire Hathaway), EDGAR URLs or, for listed filers, tickers in filers (up to 200 per run), and set maxFilingsPerFiler (1 is the latest quarter) and maxHoldingsPerFiling (default 1,000, largest first). Built for tracking what famous investors hold, quarter-over-quarter position changes, ownership research on a company across many filers by CUSIP, and building screens on institutional flows.
Who this is not for
13F reports are quarterly snapshots filed up to 45 days after quarter end, so a row is never live and short positions, cash and most non-US holdings are not in it. Only managers above the SEC's threshold file at all. Filers are found by CIK; there is no search by fund name (the CIK is in the URL of any EDGAR filing). Filings before the XML era (roughly 2013) are text only and come back as a free NO_FILINGS row. The SEC asks automated readers to identify themselves and to stay under ten requests per second; this actor does both.
Input example
{"filers": ["1067983","1350694","1336528"],"includeAmendments": false,"maxHoldingsPerFiling": 1000,"maxFilingsPerFiler": 1}
Output example
cikfilerNameformfilingDatereportPeriodaccessionNumberholdingsCountportfolioValueUsdissuerNametitleOfClasscusipvalueUsdsharessharesTypeputCallportfolioPercentinvestmentDiscretionotherManagersvotingSolevotingSharedvotingNonedocumentUrlindexUrl
Error codes: INVALID_COMPANY, NOT_FOUND, NO_FILINGS, DUPLICATE_INPUT, BLOCKED.
One delivered row looks like this:
{"cik": "1067983","filerName": "Berkshire Hathaway Inc","form": "13F-HR","filingDate": "2026-08-14","reportPeriod": "2026-06-30","accessionNumber": "0001193125-26-352200","holdingsCount": 89,"portfolioValueUsd": 299253556246,"documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/56757.xml","indexUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/0001193125-26-352200-index.htm","issuerName": "AMERICAN EXPRESS CO","titleOfClass": "COM","cusip": "025816109","valueUsd": 50419898471,"shares": 149061045,"sharesType": "SH","putCall": null,"investmentDiscretion": "DFND","otherManagers": "4,11","votingSole": 149061045,"votingShared": 0,"votingNone": 0,"portfolioPercent": 16.8486,"status": "ok"}
Related actors from steadydata
- sec-edgar-filings: every filing of a company, 10-K to 8-K, with links
- sec-insider-trading: what the insiders of a company bought and sold, from Form 4
- google-finance-quotes: the current price of the companies held
Pricing
Pay per event: one holding-listed event per delivered result. No charge for inputs
that fail, no separate platform-usage surcharge.
Free Apify plan: this actor delivers up to 25 rows per run for accounts on the Apify free plan, and then stops with a message. That limit is set by us, not by Apify. It exists so the actor keeps paying for itself for the people who do pay. Any paid Apify plan runs it at full size, billed per delivered row, with failed rows never charged.
Reviews: if this actor saves you time, a short review on this page is the one thing that helps most. Ratings are what other buyers look at first, and we have no other way to ask.
FAQ
Is personal data collected? No. Filers are institutions and the positions are companies; the rows carry no person.
How do I compare two quarters?
Run with maxFilingsPerFiler set to 2 (or more) and group the rows by reportPeriod and cusip: a CUSIP present in one quarter and absent in the next is a closed position, a change in shares is a trim or an add.
Are the values in thousands? No. Since 2023 the SEC requires values in whole dollars, and the rows carry them as filed. Older filings (before 2023) reported in thousands; the row shows what the filer wrote.
Why is portfolioPercent not based on portfolioValueUsd?
Because the cover's total is what the filer typed and is sometimes rounded or wrong; the weight is computed from the sum of the delivered table, so the delivered rows add up to 100 percent when the whole table is delivered.
What does otherManagers mean?
Large groups file one 13F for several managers; the numbers point to the managers listed on the cover that share the position. Berkshire's "4,11" are two of its subsidiaries.
What does a run cost when a filer has no 13F?
Nothing. NOT_FOUND, NO_FILINGS, INVALID_COMPANY and BLOCKED rows are free; only delivered positions are charged.
What happens when the source changes? Sources change from time to time; that is the nature of this work. The actor is monitored daily and fixed fast, and while it is broken you are not charged, because only delivered results cost anything.