SEC Form 4 Insider Trading Transactions Scraper avatar

SEC Form 4 Insider Trading Transactions Scraper

Pricing

from $10.20 / 1,000 results

Go to Apify Store
SEC Form 4 Insider Trading Transactions Scraper

SEC Form 4 Insider Trading Transactions Scraper

Scrape SEC Form 4 insider trades as structured transactions: insider name, role, transaction code (buy, sell, grant), shares, price per share, transaction value and shares owned after. Search by ticker or CIK, or pull recent market-wide filings. Export to JSON, CSV or Excel.

Pricing

from $10.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

SEC Form 4 Insider Trading Transactions Scraper

SEC Form 4 Insider Trading Transactions Scraper

Here is one real result. The footnotes array is trimmed to 2 of the 11 real notes for length; every other field is exactly as returned:

{
"issuerName": "NVIDIA CORP",
"issuerTicker": "NVDA",
"issuerCik": "1045810",
"insiderName": "HUANG JEN HSUN",
"insiderCik": "1197649",
"insiderTitle": "Director, President and CEO",
"isDirector": true,
"isOfficer": true,
"officerTitle": "President and CEO",
"isTenPercentOwner": false,
"securityType": "non-derivative",
"securityTitle": "Common Stock",
"transactionDate": "2026-06-17",
"transactionCode": "F",
"transactionType": "Payment of exercise/tax by shares",
"acquiredDisposed": "D",
"shares": 45723,
"pricePerShare": 207.41,
"transactionValue": 9483407.43,
"sharesOwnedAfter": 70146252,
"ownedValueAfter": 14549034127.32,
"ownershipChangePercent": -0.07,
"directOrIndirect": "D",
"natureOfOwnership": null,
"conversionOrExercisePrice": null,
"exerciseDate": null,
"expirationDate": null,
"underlyingSecurity": null,
"footnotes": [
"Represents shares withheld by the Issuer to satisfy taxes due by the Reporting Person in connection with the vesting of restricted stock units previously reported on a Form 4.",
"Includes 46,495 shares issued upon the vesting of restricted stock units previously reported on a Form 4."
],
"is10b51Plan": false,
"filingDate": "2026-06-23",
"accessionNo": "0001197649-26-000010",
"filingUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000119764926000010/wk-form4_1782208834.xml",
"source": "SEC EDGAR (Form 4)",
"observedAt": "2026-07-30T17:53:39.335Z"
}

The most complete SEC Form 4 insider-trades scraper available. It parses each ownership document into individual transactions and returns every field the filing exposes: who traded, the code and its plain-English meaning, shares, price, value, and the position held afterward, plus derived analytics like transactionValue, ownedValueAfter, ownershipChangePercent, and a Rule 10b5-1 plan flag.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor finds SEC Form 4 insider-ownership filings for a company (by ticker or CIK) or market-wide, parses each ownership document, and writes one record per individual transaction to the run's dataset. Each record identifies the issuer and the insider, their roles (director, officer with title, 10% owner), and the exact transaction: security type and title, date, transaction code with its plain-English meaning, whether shares were acquired or disposed, share count, price, and the position held afterward. Derived fields add the dollar value of the trade (transactionValue), the market value of the remaining position (ownedValueAfter), the percent change in the insider's holding (ownershipChangePercent), and a is10b51Plan flag for pre-arranged Rule 10b5-1 trading plans. Document footnotes are returned in full.

Leave both ticker and cik empty to pull recent market-wide Form 4 filings. The date window defaults to about the last 30 days.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 40 NVIDIA insider transactions filed since the start of 2026.

{
"ticker": "NVDA",
"maxTrades": 40,
"dateFrom": "2026-01-01"
}

Use transactionCode to keep only certain trade types (for example P, S for open-market buys and sells). Leave ticker and cik empty for a market-wide sweep.

Input reference

FieldTypeRequiredDefaultDescription
tickerstringnoAAPLStock ticker of the issuer, for example AAPL, TSLA, NVDA. Leave ticker and cik empty to pull market-wide Form 4 filings.
cikstringno(empty)SEC CIK of the issuer, used instead of a ticker. If both are set, ticker wins.
transactionCodestringno(all)Keep only transactions with these Form 4 codes, comma-separated. P purchase, S sale, A grant, M option exercise, F shares withheld for tax, G gift.
dateFromstringno~30 days agoOnly include filings on or after this date (YYYY-MM-DD).
dateTostringnotodayOnly include filings on or before this date (YYYY-MM-DD).
maxTradesintegerno10Maximum number of insider transactions to collect.

Output reference

One dataset item per insider transaction. Types: string, number, boolean, string[], or null when the source value is absent.

FieldTypeDescription
issuerNamestringCompany (issuer) name.
issuerTickerstringIssuer trading symbol.
issuerCikstringIssuer CIK (no leading zeros).
insiderNamestringReporting insider name.
insiderCikstringInsider CIK (no leading zeros).
insiderTitlestringCombined role label, for example Director, President and CEO.
isDirectorbooleanWhether the insider is a director.
isOfficerbooleanWhether the insider is an officer.
officerTitlestringOfficer title, or null.
isTenPercentOwnerbooleanWhether the insider is a 10% owner.
securityTypestringnon-derivative or derivative.
securityTitlestringTitle of the security, for example Common Stock.
transactionDatestringTransaction date (YYYY-MM-DD).
transactionCodestringForm 4 transaction code, for example P, S, F.
transactionTypestringPlain-English meaning of the code.
acquiredDisposedstringA acquired or D disposed.
sharesnumberNumber of shares in the transaction.
pricePerSharenumberPrice per share, or null.
transactionValuenumberDerived dollar value (shares times pricePerShare), or null.
sharesOwnedAfternumberShares owned after the transaction.
ownedValueAfternumberDerived market value of the position held after, or null.
ownershipChangePercentnumberDerived percent change in the insider's position from this trade.
directOrIndirectstringD direct or I indirect ownership.
natureOfOwnershipstringNature of indirect ownership, or null.
conversionOrExercisePricenumberConversion or exercise price for derivatives, or null.
exerciseDatestringDerivative exercise date, or null.
expirationDatestringDerivative expiration date, or null.
underlyingSecuritystringUnderlying security title for derivatives, or null.
footnotesstring[]Full text of each filing footnote, or null.
is10b51PlanbooleanWhether the trade references a Rule 10b5-1 plan.
filingDatestringDate the Form 4 was filed.
accessionNostringSEC accession number of the filing.
filingUrlstringDirect SEC EDGAR link to the ownership document.
sourcestringAlways SEC EDGAR (Form 4).
observedAtstringISO 8601 timestamp of when the record was collected.

On a failed run, a single item with a populated error field is written instead, and it is not charged.

Example output record

The full real record is shown at the top of this page. It comes from a live run with input {"ticker":"NVDA","maxTrades":40,"dateFrom":"2026-01-01"}: NVIDIA CEO Jensen Huang had 45,723 shares withheld to cover taxes on vesting RSUs (code F, a disposition) at $207.41, leaving 70,146,252 shares held afterward.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sec-form4-insider-trades-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"ticker":"NVDA","transactionCode":"P,S","dateFrom":"2026-01-01","maxTrades":50}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sec-form4-insider-trades-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"dateFrom":"2026-08-01","dateTo":"2026-08-08","maxTrades":100}'

Apify CLI:

apify call scrapers_lat/sec-form4-insider-trades-scraper \
--input '{"ticker":"NVDA","maxTrades":40,"dateFrom":"2026-01-01"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per transaction returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxTrades.

FAQ and troubleshooting

A run returned 0 transactions. Why? No Form 4 matched the ticker, date window, and code filter. The default window is only about 30 days, so widen dateFrom/dateTo, or drop transactionCode. Zero-result runs are not charged.

One filing produced several records. Why? One record equals one transaction. A single Form 4 often reports multiple non-derivative and derivative transactions, so it yields several records.

How do I see only open-market buys and sells? Set transactionCode to P, S. The transactionType field spells out each code in plain English.

What is the 10b5-1 flag? is10b51Plan is true when the filing references a pre-arranged Rule 10b5-1 trading plan, a signal that the trade was scheduled in advance rather than opportunistic.

Can I scan the whole market? Yes. Leave both ticker and cik empty to pull recent market-wide Form 4 filings within the date window.

Is this an official SEC tool? No. This actor is independent and has no affiliation with the SEC. It reads only data that is publicly available on SEC EDGAR.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the SEC or EDGAR. Accesses only publicly available SEC Form 4 disclosure data.