SEC Form 4 Insider Trading Tracker & Scraper API
Pricing
from $2.00 / 1,000 insider trades
SEC Form 4 Insider Trading Tracker & Scraper API
Insider buys and sells from official SEC EDGAR Form 4 filings: one row per trade with ticker, insider role, code, shares, price, value, 10b5-1 flag, late-filing flag and cluster-buy alerts. Incremental: pay only for new trades.
Pricing
from $2.00 / 1,000 insider trades
Rating
0.0
(0)
Developer
Clearfeed Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
SEC Form 4 Insider Trading API: Insider Buys & Sells Feed
Form 4 Insider Trades turns new SEC Form 4 filings into a clean feed of insider buys and sells: one row per transaction with issuer, ticker, insider name and role, transaction code with a plain-English label, shares, price, dollar value, shares owned after, direct or indirect ownership, a Rule 10b5-1 plan flag, footnotes, a late-filing flag and amendment info. Turn on cluster detection to get an alert when several insiders buy the same stock within days. Run it on a schedule and you only pay for trades you haven't seen before.
Why use it
Officers, directors and 10%+ owners must report most trades in their company's stock on Form 4 within two business days. Open-market buys by insiders are one of the most-watched signals in investing, but raw EDGAR data is XML spread across thousands of filings a week, full of routine grants, option exercises and tax withholding. This Actor fixes that:
- Signal trades by default. Only open-market purchases (P) and sales (S). Switch on
includeAllCodesfor grants, exercises, gifts and the rest. - Every field parsed. Both the non-derivative and derivative tables, including exercise price, expiration and underlying shares.
- 10b5-1 flag. From the filing's 10b5-1 checkbox (filings after April 2023) and footnote text, plus the plan adoption date when a footnote states it. Exclude planned trades to see discretionary ones.
- Late-filing flag. Filed more than 2 business days after the trade.
- Amendments handled. 4/A filings are flagged with the original filing date; optionally keep only the amended rows.
- Cluster buys. At least 3 distinct insiders (configurable) buying the same issuer within 14 days (configurable).
- Incremental. "Since last run" mode returns new filings only, deduplicated by SEC accession number.
Example runs
Open a ready-made example with real output, then change the filters to fit your watchlist:
- Insider open-market buys over $100k (SEC Form 4)
- CEO and CFO insider sales outside 10b5-1 plans (SEC Form 4)
- Insider cluster buys: 3+ insiders in 14 days (SEC Form 4)
Popular uses
- Daily alerts of insider buys over $100k
- CEO and CFO sales outside a 10b5-1 plan
- Cluster insider buying in small caps
- A watchlist of tickers (
tickers: ["NVDA", "TSLA"]) - Late filings and large 10% owner moves
- Insider trading data as CSV or JSON for a quant notebook or backtest
Input examples
Open-market buys of $100k or more in the last 7 days:
{ "lookbackDays": 7, "transactionCodes": ["P"], "minValueUsd": 100000 }
Officer sales that were not under a 10b5-1 plan:
{ "lookbackDays": 7, "transactionCodes": ["S"], "roles": ["officer"], "exclude10b5_1": true }
Cluster buys, alerts only:
{ "lookbackDays": 14, "transactionCodes": ["P"], "detectClusters": true, "clusterMinInsiders": 3, "clusterWindowDays": 14, "outputTrades": false }
Daily watchlist schedule:
{ "mode": "sinceLastRun", "tickers": ["NVDA", "AAPL", "MSFT"], "stateKey": "big-tech" }
Output
Trade row (abridged, real filing):
{"rowType": "trade","accessionNumber": "0000897069-26-001877","formType": "4", "isAmendment": false,"filedDate": "2026-10-29","issuerCik": "1512499", "issuerName": "LINDBLAD EXPEDITIONS HOLDINGS, INC.", "ticker": "LIND","reportingOwnerName": "Lindblad Sven-Olof", "isDirector": true, "isOfficer": false, "officerTitle": null, "isTenPercentOwner": true,"table": "nonDerivative", "securityTitle": "Common Stock","transactionDate": "2026-10-27", "transactionCode": "S", "transactionCodeLabel": "Open-market or private sale","acquiredDisposed": "D", "shares": 83725, "pricePerShare": 35.46, "valueUsd": 2968888.5,"sharesOwnedAfter": 10083674, "directOrIndirect": "D", "natureOfOwnership": null,"is10b5_1": true, "planAdoptionDate": "2026-06-17", "lateFiling": false,"footnotes": [{ "id": "F1", "text": "The reported sale occurred automatically pursuant to a Rule 10b5-1 trading plan adopted by the reporting person on June 17, 2026..." }],"filingUrl": "https://www.sec.gov/Archives/edgar/data/1639304/000089706926001877/0000897069-26-001877-index.htm"}
Cluster alert row: rowType: "cluster", issuer, ticker, insiderCount, insiders, firstBuyDate, lastBuyDate, totalValueUsd, tradeCount and the accession numbers.
ownershipPctChange is the trade as a percent of the holding before it, when computable. valueUsd is shares × price and is empty when no price is reported.
What to expect
EDGAR receives roughly 1,000 to 1,500 Form 4 filings on a typical business day. Filings are pre-filtered with the SEC's EDGAR full-text search (by date, form and issuer when you give tickers or CIKs), and each filing's XML is then downloaded at no more than 2 requests per second, the SEC's fair-access pace. So a run with tickers takes seconds, while scanning every filing for a whole week can take 10 minutes or more. maxFilings (default 1,500, newest first) caps the scan. For market-wide monitoring, schedule a daily sinceLastRun run.
Pricing
Pay per event: $0.002 per trade returned ($2 per 1,000), $0.01 per cluster-buy alert, plus a tiny per-run start fee. In "Since last run" mode, filings already processed with the same state key are never charged again. See the Pricing tab for current prices. Set a maximum cost per run in the run options.
Use with AI agents (MCP)
This Actor works as a tool for AI agents through the Apify MCP server. Add clearfeedlabs/form4-insider-trades to your MCP client (Claude, Cursor, ChatGPT and others) and ask things like "Which insiders bought NVDA in the last month?" or "Show CEO sales over $1M this week that weren't under a 10b5-1 plan." The structured fields (codes, roles, values, flags) make the answers easy for an agent to filter and explain.
Alerts and integrations
- Schedule + webhook: create an Apify schedule (e.g. weekdays 7 pm ET) with
mode: "sinceLastRun", then add a webhook onACTOR.RUN.SUCCEEDEDthat posts the dataset URL to your endpoint. - Zapier: use the Apify app, trigger "Finished Actor Run", then "Fetch dataset items" and send each insider buy to Slack, email or a spreadsheet.
- Make: Apify "Watch Actor Runs" → "Get Dataset Items" → filter
valueUsd > 100000→ Slack or Gmail. - Google Sheets: use the Apify Google Sheets integration, or
=IMPORTDATA("https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&view=overview"). - Python:
pandas.read_json("https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=json").
Also from Clearfeed Labs
Track private raises too: SEC Form D Funding Feed turns new Form D filings into a feed of companies that just raised private money. Together they cover private raises and insider trades from official EDGAR data.
Compliance and data use
- Data comes only from the SEC's official public EDGAR system (full-text search, filing archives and company_tickers.json). No logins, no API keys, no CAPTCHA solving and no proxy tricks.
- We follow the SEC's fair-access policy: a declared User-Agent and at most 2 requests per second (the SEC allows 10), honouring HTTP 429 Retry-After, and we stop if the SEC blocks access.
- Reporting owners' addresses are never included.
- EDGAR full-text search is the SEC's own search backend but not a formally documented API; if it changes, the Actor falls back to the SEC's daily form indexes.
- This is public data, not investment advice. Not affiliated with or endorsed by the U.S. SEC.
FAQ
Why do I see fewer trades than filings? By default only P and S codes are returned. Most Form 4s are grants, exercises and tax withholding.
Is the 10b5-1 flag reliable? It uses the filer's own checkbox and footnotes. Older filings and some filers don't state it, so treat false as "not stated".
Are holidays counted for the late flag? Weekends are skipped; federal holidays are not, so a filing right after a holiday may be flagged late.
What about multiple reporting owners? The first owner is shown in the main fields; others are in otherOwners.
Built by Clearfeed Labs: clean, compliant data feeds. Found an issue or want a feature? Open an issue on the Actor's Issues tab with a small example input. If the Actor helped your workflow, an honest review helps other users decide.
More Clearfeed Labs tools: clearfeedlabs.com