SEC Form 4 Scraper - Insider Trading avatar

SEC Form 4 Scraper - Insider Trading

Pricing

from $1.40 / 1,000 filings

Go to Apify Store
SEC Form 4 Scraper - Insider Trading

SEC Form 4 Scraper - Insider Trading

Form 4 carries a transaction code saying what actually happened, and almost nothing uses it — so an RSU vest gets published as an insider buy and the automatic tax withholding as a sale. This decodes all 19 codes, isolates genuine open-market purchases, and detects cluster buying.

Pricing

from $1.40 / 1,000 filings

Rating

0.0

(0)

Developer

Datalayer

Datalayer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

SEC Insider Trading Scraper — Form 4 With the Codes Decoded

Most insider-trading data is wrong in the same way. Here is a real Apple filing from 17 June 2026 (accession 0001140361-26-025622), by Apple's SVP and General Counsel:

CodeSharesDirectionPrice
M30,104Acquired
F16,238Disposed$296.42

A scraper that ignores the transaction code publishes this as "insider acquired 30,104 shares" and "insider sold 16,238 shares at $296.42."

Both are wrong. M is an RSU exercise — no cash changed hands. F is shares withheld automatically to pay the tax bill on that vest. Nobody made a decision about Apple stock. The filing says nothing.

Only two of the nineteen Form 4 transaction codes involve someone choosing to move money at the market price:

  • P — bought on the open market
  • S — sold on the open market

This Actor decodes all nineteen, reports P and S separately from everything else, and tells you how many filings said nothing at all.

What you get

Real buys, isolated. From a single day's market-wide sweep (11 Aug 2026): 57 filings contained an open-market trade, of which 3 were purchases and 54 were sales. The largest purchase:

Harley-Davidson (HOG) — Artie Starrs, President & CEO, bought $258,941 on the open market, increasing his personal holding by 66.7%.

That is the entire product. Three signals buried under fifty-four.

Cluster-buy detection. Two or more separate insiders buying on the open market inside the same window — the most-studied insider signal in the literature, and one that cannot be seen a filing at a time. Repeat filings by the same person do not count.

Holdings context. largestHoldingsChangePercent sizes a trade against what that person already owned. A $250k buy that lifts a position 67% is a different event to one that lifts it 0.4%.

10b5-1 flags. Trades executed under a pre-arranged plan were scheduled months earlier and carry no view on the price on the day. The form has carried this checkbox since December 2022 and it is read straight off the filing.

Seniority. Officer titles are free text on the form (

SVP, GC and Secretary
, President & CEO, EVP and CFO). They are normalised to ceo, cfo, c_suite, senior_officer, officer, ten_percent_owner, director.

Two modes

By company — pass tickers or CIKs:

{ "tickers": ["AAPL", "NVDA", "HOG"], "maxFilingsPerCompany": 100 }

Market-wide screen — sweep every Form 4 filed and keep only real trades:

{
"scanAllFilings": true,
"startDate": "2026-08-01",
"endDate": "2026-08-11",
"openMarketOnly": true,
"excludePlannedTrades": true,
"minTransactionValue": 100000
}
FieldDefaultNotes
tickers["AAPL"]Resolved to CIKs via SEC's own ticker file.
ciksFor registrants with no ticker. Apple is 320193.
scanAllFilingsfalseWhole-market sweep for the date range.
startDate / endDateYYYY-MM-DD.
openMarketOnlyfalseKeep only filings with a code P or S.
excludePlannedTradesfalseDrop 10b5-1 plan executions.
minTransactionValueDollar floor on the largest open-market trade.
maxFilingsPerCompany100~1 year for most large caps.
maxFilingsTotal500Hard ceiling for the whole run.
clusterWindowDays30Window for cluster-buy detection.
contactEmailGoes in the User-Agent, nowhere else.

Output

filing — one row per Form 4:

{
"type": "filing",
"ticker": "HOG",
"issuerName": "HARLEY-DAVIDSON, INC.",
"insiderName": "Starrs Artie",
"insiderTitle": "President & CEO",
"seniority": "ceo",
"hasOpenMarketBuy": true,
"openMarketBuyValue": 258941,
"openMarketSaleValue": 0,
"largestHoldingsChangePercent": 66.7,
"isCompensationOnly": false,
"isPlanned10b5_1": false,
"transactions": [
{ "transactionCode": "P", "transactionMeaning": "Open-market or private purchase",
"category": "open_market_buy", "isInformative": true,
"securityTitle": "Common Stock", "transactionDate": "2026-08-10",
"shares": 10000, "pricePerShare": 25.8941, "value": 258941,
"sharesOwnedBefore": 15000, "sharesOwnedAfter": 25000, "holdingsChangePercent": 66.7 }
]
}

issuer_summary — one row per company:

{
"type": "issuer_summary",
"ticker": "AAPL",
"filingsRead": 12,
"compensationOnlyFilings": 5,
"informativeFilings": 7,
"distinctBuyers": 0,
"distinctSellers": 5,
"openMarketSaleValue": 111739341.32,
"isClusterBuy": false,
"topSeller": "LEVINSON ARTHUR D",
"plannedTradeFilings": 5
}

The transaction codes

CodeMeaningCounted as a trade?
POpen-market or private purchaseYes
SOpen-market or private saleYes
AGrant or award from the issuerNo — compensation
M, C, X, OExercise or conversion of a derivativeNo — no cash at market
FShares withheld for tax or exercise priceNo — automatic
DDisposition back to the issuerNo
GBona fide giftNo
IDiscretionary transaction in a benefit planNo
E, HExpiration of a derivative positionNo
J, K, L, U, W, ZOther, swap, small, tender, will, voting trustNo

Nothing is discarded — every transaction is returned with its code and category, so you can re-band them however you like.

Reliability

  • Official SEC endpoints only: data.sec.gov, www.sec.gov/Archives, efts.sec.gov. No login, no session, no scraping of rendered pages.
  • The run stays under SEC's published 10 requests/second ceiling with a single serial pacer.
  • A declared User-Agent with a contact address is sent on every request — SEC returns 403 to anything without one.
  • One unparseable filing never fails the run; it lands in RUN_SUMMARY and the rest continue.

Limits

  • Form 4 XML exists from roughly 2003 onward. Older filings are scanned paper and are skipped with a recorded reason.
  • EDGAR's full-text index refuses paging beyond ~10,000 hits, so market-wide sweeps walk one day at a time and warn if a day exceeds the cap.
  • Officer seniority is derived from free text that companies write however they like. The raw insiderTitle is always on the row.
  • Insiders have two business days to file, so filedFor (the trade date) and the filing date differ. Both are available.
  • This is public regulatory data, returned as filed. It is not investment advice and no forecast is implied by any field.