SEC Form 13F Holdings Crawler - Institutional Portfolio Data avatar

SEC Form 13F Holdings Crawler - Institutional Portfolio Data

Pricing

Pay per event

Go to Apify Store
SEC Form 13F Holdings Crawler - Institutional Portfolio Data

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

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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

FieldTypeDefaultDescription
modestringby_filerQuery strategy: by_filer, by_ticker, by_cusip, by_period
filerCiksarray of string["0001067983"]10-digit CIK(s) of fund managers to track. Used with by_filer.
filerNamesarray of string(empty)Fund manager names to resolve via EDGAR full-text search (fallback when CIK unknown).
tickersarray of string(empty)Ticker symbols to search ownership for. Used with by_ticker (full-text search on the ticker).
cusipsarray of string(empty)9-character CUSIPs to search ownership for. Used with by_cusip.
quartersarray of string(empty)Quarters in YYYYQn format (e.g. 2025Q4). Required for by_period; optional filter for other modes.
includeAmendmentsbooleanfalseInclude 13F-HR/A amendment filings.
maxItemsinteger50Maximum number of holdings rows to return.
proxyConfigurationobject{ 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

FieldDescription
accession_numberSEC accession number (unique filing ID)
filing_dateDate the filing was submitted (YYYY-MM-DD)
period_of_reportQuarter-end date the filing covers (YYYY-MM-DD)
filer_nameFund manager legal name
filer_cik10-digit zero-padded CIK
filer_typeFiler type from 13F cover page (usually 13F HOLDINGS REPORT)
issuer_nameIssuer legal name as reported on the Information Table
cusip9-character CUSIP identifier
ticker_guessBest-effort ticker from SEC's public ticker map; blank if no confident match
class_titleSecurity class (COM, PREF, WRT, NOTE, etc.)
value_usdPosition value in USD, normalized across pre/post-2022 SEC reporting changes
shares_or_principalShares held (when shares_or_principal_type=SH) or principal amount (PRN)
shares_or_principal_typeSH (shares) or PRN (principal)
put_callPUT, CALL, or empty for direct holdings
investment_discretionSOLE, DFND, or OTR
voting_authority_soleShares with sole voting authority
voting_authority_sharedShares with shared voting authority
voting_authority_noneShares with no voting authority
quarterReporting 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:

  1. Company submissions APIhttps://data.sec.gov/submissions/CIK{10-digit}.json for per-CIK filing history.
  2. Full-text filing searchhttps://efts.sec.gov/LATEST/search-index for searching by ticker, CUSIP, entity name, or date range.
  3. Filing archivehttps://www.sec.gov/Archives/edgar/data/{cik}/{acc}/ for raw primary_doc.xml and Information Table XML.

No authentication required. Respects SEC's fair-access policy (10 req/sec with a descriptive User-Agent).

Limitations

  • ticker_guess is best-effort — SEC does not publish a free CUSIP-to-ticker database, so ticker resolution is done by fuzzy name matching against company_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_period sweeps covering an entire quarter of ~9,000 filers, split by date range or use by_filer bucketing.
  • value_usd pre-2023 — filings with period_of_report before 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.