SEC Form 4 Insider Trading & 13F Holdings Scraper avatar

SEC Form 4 Insider Trading & 13F Holdings Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
SEC Form 4 Insider Trading & 13F Holdings Scraper

SEC Form 4 Insider Trading & 13F Holdings Scraper

Track SEC Form 4 insider trading (buys, sells, options) and 13F hedge fund holdings with quarterly changes. Official EDGAR data, no API key.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

dean ko

dean ko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Track insider trading and hedge fund holdings straight from SEC EDGAR, in one Actor:

  1. SEC Form 4 insider trades: every open-market buy and sale, option exercise, award, tax withholding and gift that directors, officers and 10% owners report. One clean row per transaction, with dollar value, holdings after the trade and the Rule 10b5-1 plan flag.
  2. 13F holdings: the full quarterly portfolio of any institutional manager (Berkshire Hathaway, Bridgewater, Pershing Square, ...), one row per position with % of portfolio and quarter-over-quarter changes: new, added, reduced, unchanged, sold out.

No API key, no login, no proxy, no third-party data vendor. Every row links back to the original filing on sec.gov. Export as JSON, CSV, Excel or via API.

What does this SEC insider trading scraper do?

  • Insider trading tracker: pull the latest Form 4 filings across all US public companies, or only for your watchlist of tickers (AAPL, NVDA, TSLA...), or for one insider by CIK.
  • Insider buying screener: keep only open-market purchases (P) and sales (S) above a dollar threshold, e.g. every insider buy over $1M in the last two weeks.
  • 13F hedge fund holdings tracker: get what a fund owned at the end of a quarter, ranked by position size, and what it bought, added to, trimmed or exited compared with the previous quarter.

Who is it for?

  • Investors and traders following insider buying and "smart money" 13F moves
  • Fintech apps and dashboards that need an insider trading API or 13F holdings API without running an EDGAR parser
  • Quant and academic researchers who want typed, tidy rows for pandas, Excel, BigQuery or Google Sheets
  • Compliance, IR and journalists auditing insider activity, with a filing link on every row

Use cases

  • Daily alert of large insider purchases across the market (Schedules + Webhooks / Slack / email)
  • Insider activity history for a watchlist of tickers
  • 13F cloning: see what Buffett or Ackman bought and sold last quarter
  • Institutional ownership research: compare several funds' portfolios quarter by quarter

Why this Actor?

  • Two datasets, one Actor, one price. Form 4 insider trades and 13F holdings, each with its own table view.
  • Low price: $2 per 1,000 rows. Comparable SEC Form 4 / 13F Actors in the Store list $25-30 per 1,000 rows.
  • Market-wide feed, not just tickers. With no tickers, insider mode reads the newest Form 4 filings across every company, so you can screen the whole market for insider buying.
  • One row per position in 13F. Big managers file several lines for the same stock (one per sub-manager). This Actor sums them into one row per position (CUSIP + put/call), so Berkshire's ~90 raw lines become ~30 real positions with a correct rank and % of portfolio.
  • Sold-out positions included. With quarter comparison on, exits are added as soldOut rows instead of silently disappearing.
  • Values normalized to dollars. 13F filings before 2023 reported value in thousands of dollars; this Actor converts them, so old and new quarters compare correctly.
  • Readable transaction codes. Each code comes with a label (S -> "Open market sale", M -> "Option exercise / conversion"), and derivative rows (options, RSUs) carry exercise price, dates and underlying shares.
  • Fund lookup by name. Type "Pershing Square" instead of hunting for a CIK.
  • Polite to the SEC. Identified User-Agent and about 8 requests per second, under SEC's 10/second fair-access limit, with automatic retries.
  • You never pay more than you asked for. maxItems and your run's max charge both stop the Actor early.

How to use it

  1. Click Try for free (or Start).
  2. Pick a Mode: Insider trades (Form 4) or Fund holdings (13F-HR).
  3. Insider mode: optionally add Tickers or CIKs, a date range, Only open-market buys and sells and a Minimum trade value. 13F mode: add Fund CIKs or names and optionally a Quarter (e.g. 2026Q2).
  4. Set Max results and click Start.
  5. Open the Insider trades or 13F holdings tab in the Output, or download JSON / CSV / Excel.

With the default input (no tickers, 20 results), you get the 20 newest Form 4 transactions across the market in well under a minute.

Example input: insider buys over $1M across all companies

{
"mode": "insider",
"dateFrom": "2026-10-01",
"dateTo": "2026-10-16",
"onlyOpenMarket": true,
"minValue": 1000000,
"maxItems": 500
}

Example input: insider trades for a watchlist

{ "mode": "insider", "tickers": ["AAPL", "NVDA", "TSLA"], "maxItems": 200 }

Example input: 13F holdings with quarter-over-quarter changes

{ "mode": "13f", "funds": ["1067983", "Pershing Square"], "quarter": "", "compareToPreviousQuarter": true, "maxItems": 1000 }

Sample output

Insider trade (Form 4)

{
"type": "insiderTrade",
"form": "4",
"issuerName": "Apple Inc.", "issuerTicker": "AAPL", "issuerCik": "0000320193",
"insiderName": "COOK TIMOTHY D", "insiderCik": "0001214156",
"relationship": "Director, Executive Chair", "isDirector": true, "isOfficer": true, "isTenPercentOwner": false,
"securityTitle": "Common Stock", "isDerivative": false,
"transactionDate": "2026-10-02", "transactionCode": "S", "transactionType": "Open market sale",
"shares": 88239, "pricePerShare": 333.26, "value": 29406529.14, "acquiredDisposed": "D",
"sharesOwnedAfter": 3305047, "directOrIndirect": "D", "is10b5_1Plan": true,
"filedDate": "2026-10-05", "accessionNumber": "0001140361-26-038674",
"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036126038674/0001140361-26-038674-index.htm"
}
FieldDescription
issuerName, issuerTicker, issuerCikCompany whose stock was traded
insiderName, insiderCikReporting person (joint filers joined with ; )
relationship, isDirector, isOfficer, isTenPercentOwnere.g. Director, Chief Executive Officer, 10% Owner
transactionDate, transactionCode, transactionTypeSEC code plus a readable label (P, S, A, M, F, G, ...)
shares, pricePerShare, valuevalue = shares x price, in USD
acquiredDisposedA acquired, D disposed
sharesOwnedAfter, directOrIndirect, natureOfOwnershipHoldings after the trade; D direct, I indirect (e.g. "By Trust")
securityTitle, isDerivativeCommon stock vs options/RSUs
exercisePrice, exerciseDate, expirationDate, underlyingSecurity, underlyingSharesFilled for derivative rows
is10b5_1PlanRule 10b5-1 trading plan box (newer filings; null if not reported)
form, periodOfReport, filedDate, accessionNumber, filingUrl, xmlUrlFiling metadata and links

13F holding

{
"type": "holding",
"filerName": "BERKSHIRE HATHAWAY INC", "filerCik": "0001067983",
"period": "2026-06-30", "filedDate": "2026-08-14", "previousPeriod": "2026-03-31",
"rank": 1, "issuerName": "APPLE INC", "titleOfClass": "COM", "cusip": "037833100",
"value": 65950296923, "shares": 227917808, "sharesType": "SH", "putCall": null,
"percentOfPortfolio": 22.0383, "investmentDiscretion": "DFND",
"changeStatus": "unchanged", "previousShares": 227917808, "previousValue": 57843260493,
"sharesChange": 0, "sharesChangePct": 0,
"filingUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/0001193125-26-352200-index.htm"
}
FieldDescription
filerName, filerCik, period, filedDate, accessionNumber, filingUrlFund and report
rank, issuerName, titleOfClass, cusip, figiPosition, ranked by value
value (USD), shares, sharesType, putCallMarket value and size (SH shares, PRN principal); options are separate rows
percentOfPortfolioPosition value / total reported value x 100
investmentDiscretion, votingSole, votingShared, votingNoneDiscretion and voting authority
changeStatusnew, added, reduced, unchanged or soldOut (needs compareToPreviousQuarter)
sharesChange, sharesChangePct, previousShares, previousValue, previousPeriodChange versus the previous quarter's 13F-HR

Pricing

Pay per result: $0.002 per row (one insider transaction or one 13F position), i.e. $2 per 1,000 rows, plus a tiny start fee of $0.00005 per GB of run memory (a fraction of a cent). Platform compute is included; you pay for the rows you get.

Worked examples:

  • Default run, 20 newest insider trades: 20 x $0.002 = $0.04
  • One week of market-wide insider buys/sells over $1M (say 300 rows): about $0.60
  • Berkshire Hathaway's latest 13F with quarter changes (~30-35 rows): about $0.07

maxItems and the max charge you set on a run are hard caps: the Actor stops as soon as either is reached.

Integrations and API

Run it on a Schedule (e.g. every weekday morning for insider buys, or mid-February/May/August/November for 13F season) and send results anywhere with Webhooks, Slack, Google Sheets, Make, Zapier or n8n.

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("deanko/sec-insider-13f-scraper").call(run_input={
"mode": "insider",
"tickers": ["NVDA"],
"onlyOpenMarket": True,
"maxItems": 100,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["transactionDate"], row["insiderName"], row["transactionType"], row["value"])

JavaScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('deanko/sec-insider-13f-scraper').call({
mode: '13f',
funds: ['1067983'],
compareToPreviousQuarter: true,
maxItems: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((r) => r.changeStatus === 'new'));

Table views over the API: add ?view=insiderTrades or ?view=holdings to the dataset items URL.

FAQ

Where does the data come from? Directly from the SEC: EDGAR full-text search (efts.sec.gov), filing archives (sec.gov) and the submissions API (data.sec.gov). No scraping of third-party sites.

How fresh is it? Insider mode reads filings as soon as EDGAR indexes them; Form 4 must be filed within 2 business days of the trade. 13F-HR reports are filed up to 45 days after quarter end.

How do I find a fund's CIK? Type the fund name (e.g. "Bridgewater") in Fund CIKs or names; the matched entity and CIK appear in the run log. Or search on EDGAR company search.

Can I track one insider instead of a company? Yes. Put the insider's CIK in Tickers or CIKs; you get filings where that CIK is the company or the reporting person.

What do the transaction codes mean? P open market purchase, S open market sale, A grant/award, M option exercise, F tax withholding, G gift, D disposition to issuer, C conversion, X in-the-money exercise. The transactionType field spells out every code.

Do I need an SEC API key or my own User-Agent? No key. A generic User-Agent is used by default; you can add your own contact email in Advanced for large jobs, as the SEC recommends.

I need 10-K/10-Q filings or XBRL financials, not insider trades. Use the companion Actor SEC EDGAR Filings & Financials Scraper.

Limitations

  • Market-wide date ranges are searched day by day (EDGAR search caps each query at 10,000 hits), so long ranges take longer. Narrow with tickers, onlyOpenMarket or minValue.
  • For a ticker, only trades in that company's own stock are returned.
  • Prices are as reported. Awards and gifts often have price 0 or no price, so value is 0 or null.
  • Form 3 has no transactions; its holdings come back with transactionType "Holding (no transaction)".
  • 13F amendments (13F-HR/A) are skipped; the original quarterly report is used. Managers that only file 13F-NT have no holdings.
  • 13F covers US-listed long equity and option positions only: no shorts, cash or most non-US assets. Confidential positions may be omitted by the filer.
  • Data is provided as filed. This is not investment advice.

All data is public information published by the U.S. Securities and Exchange Commission through EDGAR. Insider names are part of mandatory public regulatory disclosures. This Actor is not affiliated with or endorsed by the SEC and follows SEC's fair access guidelines.

Support and feedback

Found a bug, a filing that parses wrong, or need a field added? Open a ticket in the Issues tab of this Actor page. Feature requests are welcome, and reviews help other users find the Actor.