SEC 13F Fund Holdings Diff — What Big Funds Bought & Sold avatar

SEC 13F Fund Holdings Diff — What Big Funds Bought & Sold

Pricing

from $0.20 / 1,000 position rows

Go to Apify Store
SEC 13F Fund Holdings Diff — What Big Funds Bought & Sold

SEC 13F Fund Holdings Diff — What Big Funds Bought & Sold

Quarter-over-quarter 13F diff, not a raw filing dump: NEW/EXIT/ADD/TRIM/UNCHANGED per position, plus a cross-fund 'most bought' summary. Berkshire, Bridgewater, Renaissance or any 13F filer by CIK or name. Official SEC EDGAR only, amendments and unit change handled.

Pricing

from $0.20 / 1,000 position rows

Rating

0.0

(0)

Developer

Celest Jux

Celest Jux

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

SEC 13F Fund Holdings Diff — what the big funds bought and sold

Not a raw filing dump — a quarter-over-quarter diff. Other 13F actors give you the filing; this one tells you what changed: one row per position with the action — NEW, EXIT, ADD, TRIM, UNCHANGED — and the change in shares, value and portfolio weight, plus one cross-fund summary of which securities the selected funds bought, exited, added to or trimmed the most. Pick any institutional manager (Berkshire Hathaway, Bridgewater, Renaissance, Pershing Square… or any 13F filer by CIK or name).

The kind of view WhaleWisdom sells as a $300–500/yr subscription — here it's pay per use, amendments and the 2023 unit change included.

Built on official SEC endpoints only (data.sec.gov submissions + EDGAR archives), with a declared User-Agent and at most 5 requests/second (half the SEC fair-access limit). No scraping of third-party sites, no proxy.

SEC EDGAR filings are US federal public records. Not investment advice. 13F data is delayed, incomplete by design (see Limits), and self-reported by the filers.

What you get

One record per position (recordType: "position"):

FieldExampleNotes
managerCik, managerName1067983, BERKSHIRE HATHAWAY INC
period, prevPeriod2026-06-30, 2026-03-31quarter ends, ISO dates (prevPeriod null in holdings mode)
filedDate, accessionNo2026-08-14, 0001193125-26-352200the filing the row comes from
issuer, titleOfClass, cusipAPPLE INC, COM, 037833100as filed; no ticker mapping in v1
putCallnull / PUT / CALLonly with includeOptions
sharesTypeSHPRN = principal amount of notes
actionADDNEW / EXIT / ADD / TRIM / UNCHANGED (null in holdings mode)
sharesNow, sharesPrev, sharesChange227917808, 227917808, 0EXIT → sharesNow 0; NEW → sharesPrev 0
sharesChangePct-12.5% of sharesPrev; null for NEW
valueNowUsd, valuePrevUsd65950296923, 57843260493whole US dollars (pre-2023 filings converted from thousands)
weightNowPct, weightPrevPct22.0383, 21.9856% of the manager's reported value that quarter
valueUnitCorrectedfalsetrue when the filer used the wrong value unit and the actor fixed it (see Units)
filingUrlhttps://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/0001193125-26-352200-index.htm
scrapedAt2026-09-27T07:41:49ZUTC

One summary record per run (recordType: "summary", when summary is on — the last item): period (null if the managers' latest quarters differ), managers (cik, name, period, prevPeriod, filing), skippedManagers, and topNew, topExits, topAdds, topTrims — each the top 20 securities by number of selected funds, then total value: {cusip, issuer, putCall, fundsCount, totalValueUsd}. In holdings mode the summary has topHeld instead. The summary covers every position that passed your filters, even when maxItems or the charge cap cut the position rows.

Missing values are null, never empty strings.

Input examples

Berkshire Hathaway, latest quarter vs the one before:

{ "managers": ["1067983"] }

What the famous investors newly bought, positions over $50M only:

{ "preset": "famous_investors", "actions": ["NEW"], "minValueUsd": 50000000 }

One fund's current holdings and weights (by name):

{ "managers": ["Bridgewater Associates"], "mode": "holdings" }

A specific quarter:

{ "managers": ["1067983", "1350694"], "quarter": "2025Q4" }

Inputs

  • managers — CIKs (digits, e.g. 1067983) or names. Names go through the EDGAR company search limited to 13F-HR filers (prefix match). A name that matches exactly one filer — ignoring case, punctuation and legal suffixes like Inc/LLC/L.P. — resolves; otherwise the run fails and lists the candidates, so you can pick a CIK. Example: "Pershing Square" → PERSHING SQUARE INC. (CIK 2026053); "Capital" → fails with 40+ candidates.
  • preset — famous_investors: Berkshire Hathaway (1067983), Pershing Square Inc. (2026053), Scion Asset Management (1649339), Bridgewater Associates (1350694), Renaissance Technologies (1037389), Appaloosa (1656456), Third Point (1040273), Tiger Global (1167483), Duquesne Family Office (1536411), Baupost Group (1061768). Can be combined with managers.
  • quarter — 2026Q2 = holdings at 2026-06-30 vs the most recent earlier 13F-HR, usually 2026-03-31. Empty = each manager's latest filed quarter (managers can differ: Scion's last 13F is 2025Q3). A skipped quarter or 13F-NT does not erase the previous available 13F-HR. An explicitly listed manager without the requested or any earlier 13F-HR fails the run; a preset member is skipped and listed under skippedManagers in the summary.
  • mode — diff (default) or holdings (the quarter's positions only).
  • actions — keep only these actions (diff mode).
  • minValueUsd — drop positions worth less (current value; previous value for EXIT).
  • includeOptions — include PUT/CALL rows (default off). 13F reports an option's underlying value, so options are excluded from weights too unless this is on.
  • summary (default on), maxItems (default 5000), maxTotalChargeUsd (optional cap).

Invalid input (bad CIK, malformed or unfinished quarter, unknown field) fails the run with a clear message — nothing is guessed.

How the diff is built

  • Positions are summed per (CUSIP, put/call, shares-or-principal) across all rows of the filing (big managers split one holding over many rows by sub-manager/discretion). Issuer and class come from the largest row. The class label is not part of the key, so a relabel like "COM" → "COM NEW" between quarters does not turn one holding into an EXIT + NEW.
  • Action compares share counts: new key → NEW, gone → EXIT, more → ADD, fewer → TRIM, equal → UNCHANGED.
  • Amendments (13F-HR/A): a RESTATEMENT replaces the quarter's report; NEW HOLDINGS amendments (typically positions revealed after confidential treatment expires) are added to it. Example: Berkshire's 2025Q1 NEW HOLDINGS amendment filed 2025-08-14 added D.R. Horton, Lennar and Nucor.
  • Units: filings made before 2023-01-03 report value in thousands of dollars, later ones in dollars. Everything is converted to dollars, so diffs across the change (e.g. 2022Q4 vs 2022Q3) have no ×1000 jumps. Some filers never switched: Duquesne Family Office and Baupost still report thousands on the new form (2026). The actor checks each filing's median implied share price (value ÷ shares): under $1 on a dollars-form filing means thousands (×1000 applied), over $10,000 on an old-form filing means it was already dollars. Such rows carry valueUnitCorrected: true, and the summary's managers[].unitCorrections says which filing and why.
  • Unit guard: an extreme median needs at least five distinct ordinary-share CUSIPs before automatic correction. Smaller samples fail with an ambiguous-units error; one penny stock, a single expensive share, or a PRN/options-heavy filing is insufficient evidence for ×1000. Even larger all-penny-stock portfolios remain a heuristic limitation.
  • Weights are shares of the quarter's total reported value (options excluded unless included).
  • The run checks that the information-table sum equals the cover page's reported total and records any mismatch in the run's last_run_summary (key-value store).

When to run it — the 13F calendar

Managers file within 45 days of quarter end: mid-February (Q4), mid-May (Q1), mid-August (Q2), mid-November (Q3). A schedule on the 16th of those months (with quarter empty) catches almost everyone's newest filing. Many big funds file on the last day.

Pricing

Pay per event: $0.0002 per position row and $0.01 per summary record. Berkshire Hathaway's latest diff is 30 rows ($0.016 with the summary); the 10-fund preset, all actions, is about 5,300 rows (~$1.07; Renaissance alone has ~3,779) — use actions, minValueUsd or maxTotalChargeUsd to keep it small. With a charge cap the summary is reserved first, then rows fill the rest; the run stops cleanly before going over.

Limits

  • 13F covers long US-listed equity positions (plus listed options and some convertibles) of managers with over $100M in such assets. No short positions, no cash, no non-US holdings, no bonds in general.
  • Data is 45+ days old when filed, and a snapshot of the last day of the quarter.
  • Some positions are withheld under confidential treatment and appear later via amendments.
  • CUSIP + issuer name only; ticker mapping is planned (optional OpenFIGI with your own key).
  • Machine-readable 13F tables start mid-2013, so the earliest diffable quarter is 2013Q3.

Reliability

  • Sequential requests, max 5/second, User-Agent CelestJux 13F Diff juxtapo.opus@gmail.com on every call.
  • SEC 403/429 → wait at least 10 s (honour a longer Retry-After up to 300 s), retry once, then the run fails with the URL. Network errors / 5xx → 3 attempts with backoff, then fail with the URL.
  • Rows are pushed only after every manager loaded: a failure leaves no half-finished dataset, and nothing is charged for it.