SEC EDGAR Form 4 Insider Trading Scraper avatar

SEC EDGAR Form 4 Insider Trading Scraper

Pricing

Pay per event

Go to Apify Store
SEC EDGAR Form 4 Insider Trading Scraper

SEC EDGAR Form 4 Insider Trading Scraper

Scrape SEC EDGAR Form 4 insider transactions: buys, sells, grants, exercises, gifts. Filter by ticker, CIK, date range, transaction code, or stream the live feed. 32 fields per row.

Pricing

Pay per event

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

📈 SEC EDGAR Form 4 Insider Trading Scraper

🚀 Pull every SEC Form 4 insider transaction in seconds. Filter by ticker, CIK, date range, or transaction code. No API key, no registration, no manual XML wrangling.

🕒 Last updated: 2026-05-17 · 📊 32 fields per record · All 20 SEC transaction codes covered · 10,000+ public US companies searchable · Updated every filing day

The SEC EDGAR Form 4 Insider Trading Scraper turns raw Form 4 ownership filings into a clean, transaction-level dataset. Every record is one buy, sell, grant, gift, option exercise, or other coded transaction by an officer, director, or 10% beneficial owner. You get the issuer, the insider, the security, the shares, the price, the post-transaction position, and the footnotes. The scraper hits the official SEC EDGAR XML, so the data is identical to what shows up on the SEC viewer, parsed into stable JSON columns.

Form 4 filings have to be submitted within two business days of a transaction, which makes them one of the timeliest legally-mandated signals in US public markets. Insider behavior shows up here before it shows up in 13F holdings, in research notes, or in news coverage. This Actor lets quantitative funds, compliance teams, and retail traders pull a full historical Form 4 backfill for any ticker, or subscribe to a rolling latest-filings feed that updates throughout each filing day.

Target AudiencePrimary Use Cases
Quantitative analysts and hedge fund researchersBuild insider-activity factors, cluster-buy signals, sale-after-grant detection
Compliance officers and corporate secretariesVerify Section 16 filings, monitor blackout-window violations, audit internal vs. SEC counts
Retail investors and financial bloggersTrack C-suite buying or selling, surface 10% owner activity, follow specific insiders
Data engineers and fintech buildersBackfill insider-transaction tables, power dashboards, feed downstream ML models

📋 What the SEC EDGAR Form 4 Insider Trading Scraper does

  • 🔍 Two scrape modes. Pick company to backfill every Form 4 for a list of tickers or CIKs, or latest to subscribe to the SEC's market-wide live feed of the most recent 20 filings.
  • 💸 Transaction-level rows. One row per non-derivative or derivative transaction line item, joined with issuer, insider, and filing metadata. No filing-only rows, no holding-snapshot noise.
  • 🎯 Filter by transaction code. Restrict output to specific SEC codes (P, S, A, M, G, and 15 others) when you only care about open-market trades or only care about grants.
  • 📅 Date-range support. Pass startDate and endDate to limit historical pulls to any window since EDGAR went online in 1994.
  • 🧾 Footnote text included. Every footnote referenced by a transaction is pulled into the record, so context like "vests over three years" or "by estate planning vehicle" stays attached to the trade.
  • ⚙️ Derivative-aware. Options, RSUs, warrants, and convertible notes are parsed with exercise price, exercise date, expiration date, and underlying security shares.

Each record carries the issuer name, ticker, and CIK, the reporting insider's name, CIK, and Section 16 role, the security title and type, the transaction date and code with a human-readable description, share count, price per share, computed USD value, post-transaction position, ownership type (direct or indirect), nature of indirect ownership, and the canonical SEC viewer URL plus the raw XML document URL. Derivative rows add exercise price, exercise date, expiration date, underlying security title, and underlying share count.

💡 Why it matters: Form 4 data is legally mandated, time-sensitive, and free at the source, but the source is awkward XML scattered across millions of filings. This Actor collapses that into one structured row per transaction so you can write SQL or pandas against it directly.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to backfill a ticker, monitor the latest feed, and filter by transaction code.


⚙️ Input

FieldTypeNotes
modeenumcompany backfills tickers or CIKs you supply. latest pulls the most recent market-wide Form 4 feed.
tickersarray of stringsStock tickers (AAPL, TSLA, NVDA). Each is resolved to its SEC CIK using the official ticker map.
ciksarray of stringsSEC Central Index Keys, with or without leading zeros.
startDatedateYYYY-MM-DD lower bound on filing date. Inclusive.
endDatedateYYYY-MM-DD upper bound on filing date. Inclusive.
transactionCodesarray of stringsOutput only rows matching these SEC codes. Empty means all codes.
includeDerivativesbooleanSet to false for share-only rows. Default true keeps options, RSUs, warrants, and other derivatives.
maxItemsintegerTotal rows to return. Free plan caps at 10, paid plans up to 1,000,000.
userAgentstringOptional SEC-compliant contact header. The default works for casual use.

Example: backfill three tickers and only keep open-market buys and sales.

{
"mode": "company",
"tickers": ["AAPL", "TSLA", "NVDA"],
"transactionCodes": ["P", "S"],
"startDate": "2026-01-01",
"maxItems": 500
}

Example: subscribe to the SEC's live feed of the latest Form 4 filings.

{
"mode": "latest",
"maxItems": 50
}

⚠️ Good to Know: SEC EDGAR is rate-limited to 10 requests per second per User-Agent. The scraper paces itself well under that limit. Apple alone has roughly 1,300 Form 4 filings since 1994, so a full historical backfill of a high-volume issuer can run for several minutes if you do not set a startDate.


📊 Output

Each row in the dataset is one Form 4 transaction. Below is the schema, then three real records from a live SEC pull on 2026-05-17.

🧾 Schema

FieldTypeExample
🏢 issuerNamestringApple Inc.
💹 issuerTradingSymbolstringAAPL
🆔 issuerCikstring0000320193
👤 reportingOwnerNamestringLEVINSON ARTHUR D
🆔 reportingOwnerCikstring0001214128
🎭 reportingOwnerRelationshiparray of strings["Director"]
🪪 reportingOwnerTitlestringSenior Vice President, CFO
📦 securityTypestringnon-derivative or derivative
🏷️ securityTitlestringCommon Stock
📅 transactionDatestring (ISO date)2026-05-06
🔣 transactionCodestringS
📖 transactionCodeDescriptionstringOpen market or private sale
🔢 transactionSharesnumber149527
💵 transactionPricePerSharenumber284.57
💰 transactionValueUsdnumber42550898.39
acquiredOrDisposedstringA (acquired) or D (disposed)
📊 sharesOwnedFollowingTransactionnumber3920049
🤝 directOrIndirectOwnershipstringD (direct) or I (indirect)
🏦 natureOfOwnershipstringBy estate planning vehicle
🎯 exercisePricenumber12.50
📆 exerciseDatestring2027-01-01
expirationDatestring2030-12-31
🧷 underlyingSecurityTitlestringClass A Common Stock
🔗 underlyingSecuritySharesnumber83333
🗓️ periodOfReportstring2026-05-06
filedAtstring (ISO datetime)2026-05-08T22:30:09.000Z
🧾 accessionNumberstring0001140361-26-020298
🔗 filingUrlstringSEC filing index URL
📄 documentUrlstringRaw Form 4 XML URL
🗒️ footnotesstringPipe-separated footnote text
🕒 scrapedAtstring (ISO datetime)2026-05-17T04:19:17.962Z
errorstringOnly set on filing-level failures

📦 Sample records


✨ Why choose this Actor

Capability
🎯Transaction-level, not filing-level. Every row is one buy, sell, grant, gift, exercise, or other coded line item. Filings with multiple transactions split into multiple rows so you can group and aggregate however you like.
📡Two modes in one Actor. company for historical backfills, latest for live monitoring. No need to wire two scrapers.
🔣All 20 SEC transaction codes parsed. Each code is mapped to its plain-English description (P, S, A, M, F, G, X, V, and 12 more).
💵Computed USD value. transactionValueUsd is derived from shares times price, ready for filters like "show me trades over $1M".
🧾Footnotes attached to transactions. Each transaction carries the text of every footnote it references, so context like vesting schedules and indirect-ownership disclosures stays with the trade.
🛰️Derivative columns when relevant. Exercise price, exercise date, expiration date, underlying security title, and underlying share count are populated for options, RSUs, warrants, and convertibles.
Official SEC XML source. The scraper hits SEC EDGAR directly, so every value is identical to the canonical SEC viewer. No third-party reformatting, no AI hallucinations.

📊 The scraper resolves any of the 10,000+ tickers in SEC's official ticker map to the right CIK automatically. Just pass a ticker and you get the full Form 4 history.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ SEC EDGAR Form 4 Scraper (this Actor)Low Apify usageEvery public US company since 1994Every filing dayTicker, CIK, dates, codes, derivativesOne JSON input
Manual SEC EDGAR browsingFree, but slowEvery filingManualPage-by-pageHours per ticker
Paid commercial feedsHundreds to thousands per monthSame sourceReal-timeVendor-specificContract negotiation
Legacy community CSV dumpsFreeOutdated, incompleteWhenever the maintainer remembersLimitedDownload and merge
Building your own EDGAR XML parserEngineering timeCustomCustomCustomDays to weeks

For most teams, the value of this Actor is in skipping the XML parser work and the rate-limit handling, not in the data itself, which is free at the source.


🚀 How to use

  1. 🆕 Sign up. Create a free Apify account at console.apify.com/sign-up?fpr=vmoqkp. No credit card required for the preview.
  2. 🔎 Open the Actor. Find the SEC EDGAR Form 4 Insider Trading Scraper in the Apify Store.
  3. ⚙️ Configure the input. Choose company mode with a list of tickers, or latest mode with no extra parameters. Optionally narrow by startDate, endDate, or transactionCodes.
  4. ▶️ Run. Click Start and watch the log. The scraper streams transactions to the dataset as it parses each filing.
  5. 📥 Export. Download the dataset as JSON, CSV, Excel, or RSS, or query it via the Apify API.

⏱️ Total time: about 30 seconds for a 10-item preview run, 5 to 10 minutes for a full historical backfill of a high-volume ticker like Apple.


💼 Business use cases

📊 Quantitative analysts

  • Build cluster-buy signals from coincident insider purchases
  • Detect unusual sale sizes against rolling baselines
  • Backtest the "Sell after grant" pattern across the Russell 3000
  • Feed Form 4 transaction counts into multi-factor models

🛡️ Compliance officers

  • Audit Section 16 filings against internal trade records
  • Flag transactions inside blackout windows automatically
  • Reconcile counts across multiple insider trading systems
  • Build internal dashboards for the general counsel

📰 Financial journalists

  • Surface large director and officer sales in real time
  • Build watchlists of specific insiders and track every trade
  • Compare insider behavior to public guidance and earnings calls
  • Power newsletter alerts on cluster activity

🛠️ Fintech developers

  • Backfill an insider-transaction table with one input
  • Drive consumer alerts when a watched CEO buys shares
  • Build a Form 4 history view inside a research product
  • Replace expensive commercial feeds for the same data

🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Empirical datasets for papers, thesis work, and coursework
  • Longitudinal studies tracking changes across snapshots
  • Reproducible research with cited, versioned data pulls
  • Classroom exercises on data analysis and ethical scraping

🎨 Personal and creative

  • Side projects, portfolio demos, and indie app launches
  • Data visualizations, dashboards, and infographics
  • Content research for bloggers, YouTubers, and podcasters
  • Hobbyist collections and personal trackers

🤝 Non-profit and civic

  • Transparency reporting and accountability projects
  • Advocacy campaigns backed by public-interest data
  • Community-run databases for local issues
  • Investigative journalism on public records

🧪 Experimentation

  • Prototype AI and machine-learning pipelines with real data
  • Validate product-market hypotheses before engineering spend
  • Train small domain-specific models on niche corpora
  • Test dashboard concepts with live input

🔌 Automating SEC EDGAR Form 4 Insider Trading Scraper

Run this Actor on a schedule or from your own code.

Schedules let you run the Actor every hour, every morning, or on any cron pattern. A common setup is to run latest mode every 15 minutes during market hours and push new rows into your warehouse.


❓ Frequently Asked Questions


🔌 Integrate with any app

  • Zapier - trigger workflows whenever a new Form 4 row lands.
  • Make - build visual automations on top of the dataset.
  • Airtable - sync transactions into a base for collaborative review.
  • Google Sheets - feed insider data into a spreadsheet dashboard.
  • Slack - alert a channel when a watched insider sells.
  • Webhooks - push run results to any HTTP endpoint.

💡 Pro Tip: browse the complete ParseForge collection for more financial, regulatory, and corporate-data scrapers.


🆘 Need Help? Reach out via Open our contact form and we will respond within one business day.


⚖️ Disclaimer: This Actor extracts publicly available data from SEC EDGAR for legitimate research, compliance, and analytical purposes. Form 4 filings are public government records. Users are responsible for ensuring their use of the data complies with applicable laws and regulations in their jurisdiction. ParseForge is not affiliated with the SEC or any other government agency.