SEC Form 13F Holdings Crawler - Institutional Portfolio Data
Pricing
Pay per event
SEC Form 13F Holdings Crawler - Institutional Portfolio Data
Parse every position from SEC Form 13F-HR filings into structured rows: CUSIP, issuer, shares, USD value, voting authority, put/call. Query by filer, ticker, CUSIP, or reporting quarter.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract every position from SEC Form 13F-HR institutional holdings filings into structured, row-per-holding data. One row per security held, with CUSIP, issuer, shares, USD value, voting authority, and put/call flags.
Every U.S. institutional investment manager with discretion over $100M or more in 13(f) securities must file a Form 13F-HR with the SEC within 45 days of each quarter's end. This actor parses the filed Information Table XML into clean tabular data — no HTML scraping, no anti-bot hoops, no API keys.
Features
- Four query modes — track a hedge fund (
by_filer), see who owns a stock (by_ticker), search by explicit security ID (by_cusip), or sweep every 13F-HR for a quarter (by_period). - Row-per-holding output — each dataset record is one position. Pivot, aggregate, or join downstream.
- Ticker guessing — best-effort CUSIP-to-ticker resolution via SEC's public ticker map (
company_tickers.json). Blank when not resolvable. - Value normalization — SEC changed the "value" field from thousands-of-dollars to whole-dollars for period-of-report 2022-12-31 onward. This actor normalizes both eras to whole USD.
- Amendment aware — optionally include 13F-HR/A amendments (off by default, since amendments typically supersede originals for specific positions only).
- No proxy, no auth — uses documented SEC EDGAR endpoints with a compliant User-Agent. Rate-limited to stay well under SEC's 10-req/sec fair-access policy.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | by_filer | Query strategy: by_filer, by_ticker, by_cusip, by_period |
filerCiks | array of string | ["0001067983"] | 10-digit CIK(s) of fund managers to track. Used with by_filer. |
filerNames | array of string | (empty) | Fund manager names to resolve via EDGAR full-text search (fallback when CIK unknown). |
tickers | array of string | (empty) | Ticker symbols to search ownership for. Used with by_ticker (full-text search on the ticker). |
cusips | array of string | (empty) | 9-character CUSIPs to search ownership for. Used with by_cusip. |
quarters | array of string | (empty) | Quarters in YYYYQn format (e.g. 2025Q4). Required for by_period; optional filter for other modes. |
includeAmendments | boolean | false | Include 13F-HR/A amendment filings. |
maxItems | integer | 50 | Maximum number of holdings rows to return. |
proxyConfiguration | object | { useApifyProxy: false } | Optional proxy. Not needed — SEC endpoints work fine without one. |
Example Inputs
Track Berkshire Hathaway's most recent holdings:
{"mode": "by_filer","filerCiks": ["0001067983"],"maxItems": 200}
Track multiple funds by name:
{"mode": "by_filer","filerNames": ["Bridgewater Associates", "Renaissance Technologies"],"quarters": ["2025Q4"],"maxItems": 500}
Find who owns Apple:
{"mode": "by_cusip","cusips": ["037833100"],"quarters": ["2025Q4"],"maxItems": 500}
Sweep all 13F-HR filings for a quarter:
{"mode": "by_period","quarters": ["2025Q4"],"maxItems": 2000}
Output
Every record is a single 13F holding.
{"accession_number": "0001193125-26-054580","filing_date": "2026-02-17","period_of_report": "2025-12-31","filer_name": "Berkshire Hathaway Inc","filer_cik": "0001067983","filer_type": "13F HOLDINGS REPORT","issuer_name": "APPLE INC","cusip": "037833100","ticker_guess": "AAPL","class_title": "COM","value_usd": 74990132000,"shares_or_principal": 300000000,"shares_or_principal_type": "SH","put_call": "","investment_discretion": "DFND","voting_authority_sole": 300000000,"voting_authority_shared": 0,"voting_authority_none": 0,"quarter": "2025Q4"}
Field Reference
| Field | Description |
|---|---|
accession_number | SEC accession number (unique filing ID) |
filing_date | Date the filing was submitted (YYYY-MM-DD) |
period_of_report | Quarter-end date the filing covers (YYYY-MM-DD) |
filer_name | Fund manager legal name |
filer_cik | 10-digit zero-padded CIK |
filer_type | Filer type from 13F cover page (usually 13F HOLDINGS REPORT) |
issuer_name | Issuer legal name as reported on the Information Table |
cusip | 9-character CUSIP identifier |
ticker_guess | Best-effort ticker from SEC's public ticker map; blank if no confident match |
class_title | Security class (COM, PREF, WRT, NOTE, etc.) |
value_usd | Position value in USD, normalized across pre/post-2022 SEC reporting changes |
shares_or_principal | Shares held (when shares_or_principal_type=SH) or principal amount (PRN) |
shares_or_principal_type | SH (shares) or PRN (principal) |
put_call | PUT, CALL, or empty for direct holdings |
investment_discretion | SOLE, DFND, or OTR |
voting_authority_sole | Shares with sole voting authority |
voting_authority_shared | Shares with shared voting authority |
voting_authority_none | Shares with no voting authority |
quarter | Reporting quarter (YYYYQn) |
Use Cases
- 13F portfolio cloning — replicate hedge fund positions for your own portfolio
- Ownership analysis — identify which funds hold a given stock and how concentrations are changing
- Quarter-over-quarter diffs — detect new positions and exits across managers
- Fund research — see a manager's full portfolio at any quarter-end since 2013
- Compliance — audit institutional ownership for regulatory or fund-of-funds research
Data Sources
This actor combines three documented SEC endpoints:
- Company submissions API —
https://data.sec.gov/submissions/CIK{10-digit}.jsonfor per-CIK filing history. - Full-text filing search —
https://efts.sec.gov/LATEST/search-indexfor searching by ticker, CUSIP, entity name, or date range. - Filing archive —
https://www.sec.gov/Archives/edgar/data/{cik}/{acc}/for rawprimary_doc.xmland Information Table XML.
No authentication required. Respects SEC's fair-access policy (10 req/sec with a descriptive User-Agent).
Limitations
ticker_guessis best-effort — SEC does not publish a free CUSIP-to-ticker database, so ticker resolution is done by fuzzy name matching againstcompany_tickers.json. It is accurate for household-name issuers but blank for bonds, warrants, illiquid securities, and many foreign ADRs.- EFTS hard cap of 10,000 hits per query — for
by_periodsweeps covering an entire quarter of ~9,000 filers, split by date range or useby_filerbucketing. value_usdpre-2023 — filings withperiod_of_reportbefore 2022-12-31 report values in thousands; this actor multiplies those by 1,000 for consistency. Verify against the raw Information Table if auditing old filings.- 13F-HR/A amendments — optional (
includeAmendments: true). Amendments often restate only specific rows; combine with originals carefully when doing time-series analysis.
Need More Features?
If you'd like to add new data fields, CUSIP-to-ticker resolution via a paid feed, or custom output formats, please get in touch — we build custom versions on request.