
SEC 13F Holdings Scraper
hipersoft/sec-13f-scraper
Scrape any institutional manager's Form 13F holdings from SEC EDGAR: issuer, CUSIP, market value, shares, put/call, voting authority, filing & report dates and portfolio total. Bulk managers. Official data, no setup.
Total users
2Monthly users
2Total runs
90Per holding scraped
$0.0005Last rebuilt
Oct 28, 2026Overview
Scrape any institutional investment manager's Form 13F holdings straight from SEC EDGAR — issuer, CUSIP, market value, shares, put/call, investment discretion and voting authority, plus filing and report dates and the portfolio total — into clean JSON, CSV or Excel. Pass one or many managers by CIK. Uses the official SEC data, no key, no login. Fast and reliable.

Great for 13F tracking, whale-watching, portfolio analysis, quant research and investor dashboards.
What does SEC 13F Holdings Scraper do?
It reads a manager's 13F-HR filings from SEC EDGAR and returns one clean record per holding — issuer, CUSIP, value, shares and voting authority — with the portfolio total and filing metadata attached to every row. Pass many managers by CIK and pull recent quarters in bulk.
What you get

- 🏦 Full holdings — every position in a manager's 13F: issuer, CUSIP, value, shares, share type
- 🧮 Portfolio context — total portfolio value and position count on every row
- 📅 Filing metadata — accession, filing date, report quarter, form type
- 🔁 Bulk & history — many managers, and up to 50 recent quarters each
- ⚖️ Official source — direct from SEC EDGAR
Output schema
| Field | Type | Description |
|---|---|---|
manager |
string | Name of the institutional investment manager. |
cik |
string | SEC Central Index Key of the manager. |
accession |
string | SEC accession number of the filing. |
filingDate |
string | Date the 13F was filed. |
reportDate |
string | Report period (quarter-end) date. |
form |
string | Form type (e.g. 13F-HR). |
portfolioValue |
integer | Total reported portfolio value. |
positions |
integer | Number of positions in the filing. |
nameOfIssuer |
string | Name of the security's issuer. |
titleOfClass |
string | Class of the security (e.g. COM). |
cusip |
string | CUSIP identifier of the security. |
value |
integer | Reported market value of the holding. |
shares |
integer | Number of shares or principal amount held. |
sharesType |
string | Share/principal type (e.g. SH, PRN). |
putCall |
string | Put or call designation, if any. |
investmentDiscretion |
string | Investment discretion code (e.g. SOLE, DFND). |
votingSole |
integer | Shares with sole voting authority. |
votingShared |
string | Shares with shared voting authority. |
votingNone |
string | Shares with no voting authority. |
Use cases
- 13F tracking — monitor what a fund bought and sold quarter over quarter.
- Whale-watching — follow the positions of large, well-known managers.
- Portfolio analysis — reconstruct any manager's full portfolio by CUSIP and value.
- Quant research — build datasets of institutional holdings across many managers.
- Investor dashboards — feed 13F data into a BI tool or spreadsheet.
- Lead and market research — see which issuers institutions are concentrating in.
How to scrape SEC 13F data
- Add the SEC 13F Holdings Scraper to your Apify account.
- Find each manager on SEC EDGAR and copy its CIK.
- Add the CIKs to
ciks, setmaxFilingsPerManagerand choose whether to include amendments. - Click Run.
- Export the results as JSON, CSV or Excel, or pull them via the Apify API.
Input
{
"ciks": ["1067983", "1350694"],
"maxFilingsPerManager": 1,
"includeAmendments": false
}
ciks are SEC CIK numbers. Find a manager on SEC EDGAR and copy its CIK.
| Field | Description |
|---|---|
ciks |
Manager CIK numbers. |
maxFilingsPerManager |
Recent 13F-HR filings per manager (1 = latest). |
includeAmendments |
Also include 13F-HR/A amendments. |
Output
{
"manager": "BERKSHIRE HATHAWAY INC",
"cik": "0001067983",
"reportDate": "2026-03-31",
"filingDate": "2026-05-15",
"portfolioValue": 259000000000,
"positions": 90,
"nameOfIssuer": "APPLE INC",
"titleOfClass": "COM",
"cusip": "037833100",
"value": 66000000000,
"shares": 300000000,
"sharesType": "SH",
"putCall": null,
"investmentDiscretion": "DFND",
"votingSole": 300000000,
"votingShared": 0,
"votingNone": 0
}
Need more financial data?
- SEC EDGAR Scraper — filings across all form types
- Yahoo Finance Scraper — quotes and fundamentals
- Finviz Stock Screener Scraper — screener data
FAQ
Where do I find a manager's CIK? Search the fund on SEC EDGAR; the CIK is in the URL / filer profile. Berkshire Hathaway = 1067983.
How many filings can I pull?
Set maxFilingsPerManager to control how many recent quarters per manager (up to 50).
Are values in dollars or thousands? As reported on the filing — 13F values are reported in whole US dollars for recent filings.
What export formats are supported? JSON, CSV, Excel and XML, plus the Apify API.
Can I integrate it with other tools? The SEC 13F Holdings Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
How does billing work? You pay only per item you get — cheap per holding, cheapest in its class.
Is the data public? Yes. 13F filings are public records filed with the SEC.
Notes
Original clean-room implementation using SEC EDGAR's official public data. You are responsible for how you use the data. Not affiliated with or endorsed by the SEC.
Input
| Field | Type | Description |
|---|---|---|
ciks requiredManager CIKs | array | SEC CIK numbers of institutional managers (find a manager on sec.gov EDGAR full-text search). E.g. 1067983 = Berkshire Hathaway, 1350694 = Bridgewater. |
maxFilingsPerManagerFilings per manager | integer | How many recent 13F-HR filings to scrape per manager (1 = latest quarter). Default: 1 |
includeAmendmentsInclude amendments | boolean | Also include 13F-HR/A amended filings. Default: false |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~sec-13f-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ciks": [
"1067983"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/sec-13f-scraper").call(run_input={
"ciks": [
"1067983"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/sec-13f-scraper').call({
"ciks": [
"1067983"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Holding scraped One 13F portfolio holding scraped. | $0.0005 | $0.0005 |
| API request One SEC EDGAR request (submissions or filing). | $0.0008 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedSend the site and the fields. We build it and you get it first.