SEC insider data for AI agents
Under maintenancePricing
Pay per usage
SEC insider data for AI agents
Under maintenanceScores US insider trades on conviction. Separates genuine open-market buys from option exercises and 10b5-1 planned sales, weights by officer seniority and stake change, and flags multi-insider buy clusters.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Investor's Toolkit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
SEC Form 4 Insider Conviction Signal
Turn raw SEC Form 4 filings into a scored insider trading signal — with option exercises, tax withholding, and Rule 10b5-1 planned trades correctly stripped out.
Most Form 4 tools hand you every filing an insider submits. That is the problem. The large majority of Form 4 activity is compensation mechanics — option exercises, restricted stock vesting, shares withheld for tax, gifts — and none of it tells you anything about what the insider believes. Feed that into a model and you get noise with a ticker attached.
This Actor returns only the transactions where an insider made a choice, and scores each one by how much conviction it actually represents.
What it does
- Filters to informative transactions only. Transaction codes
P(open-market purchase) andS(open-market sale), non-derivative. CodesA,M,F,G,C,Xare parsed and discarded. - Resolves Rule 10b5-1 plan participation properly. A trade scheduled months in advance carries very little information about present belief. The explicit schema flag only exists on post-2023 filings, so this Actor resolves plan status through three independent paths — the schema flag, footnotes linked to the specific transaction, and unlinked filing footnotes — and reports which path it used so you can discount weak evidence yourself.
- Weights by seniority. A CEO buying with personal cash is not the same event as a 10% holder rebalancing a mandate. Free-text officer titles are normalised into seniority buckets.
- Measures conviction, not just size. Scoring uses the trade's value relative to the insider's resulting position. Someone increasing their stake 40% is saying more than someone adding 0.4%, regardless of dollar amount.
- Detects insider buy clusters. Flags issuers where multiple distinct insiders bought on the open market inside a rolling window. Distinctness is enforced on owner CIK, so one insider filing several tranches never counts as a cluster.
Output
Two record types in one dataset.
transaction — one per scored insider trade:
{"record_type": "transaction","transaction_date": "2026-03-11","ticker": "EXIN","issuer_name": "EXAMPLE INDUSTRIES INC.","owner_name": "Doe Jane A","officer_title": "President and Chief Executive Officer","seniority": "ceo","transaction_code": "P","code_meaning": "Open-market or private purchase","shares": 40000,"price_per_share": 25.5,"value_usd": 1020000.0,"shares_owned_after": 140000,"rule_10b5_1": false,"rule_10b5_1_evidence": null,"direction": "buy","conviction_score": 60.83,"score_components": {"seniority_weight": 1.0,"size_factor": 1.577,"conviction_ratio": 0.4,"plan_multiplier": 1.0},"source_url": "https://www.sec.gov/Archives/edgar/data/..."}
cluster — one per issuer with coordinated insider buying:
{"record_type": "cluster","ticker": "EXIN","window_start": "2026-03-02","window_end": "2026-04-01","distinct_insiders": 3,"distinct_roles": ["ceo", "cfo", "director"],"total_value_usd": 2840000.0,"cluster_score": 71.4,"insiders": ["Doe Jane A", "Ng Peter", "Ruiz Marta"]}
conviction_score is signed: positive is buying, negative is selling, magnitude is conviction on a 0–100 scale. Every component is exposed, so you can audit or re-derive any score rather than trusting a black box.
Modes
Daily scan — sweeps the EDGAR daily index for every Form 4 filed in the last N days. Schedule it to run each evening for a market-wide insider monitor.
Tickers — pulls Form 4 history for named companies over a chosen window. Use for research, backtesting, and backfill.
Input
| Field | Description |
|---|---|
userAgent | Required. The SEC requires a descriptive User-Agent containing a contact email, e.g. Acme Research contact@acme.com. |
mode | daily or tickers. |
lookbackDays | Days to scan in daily mode. Form 4s are due within two business days, so 3 catches essentially everything. |
tickers | Symbols to pull, in tickers mode. |
minAbsScore | Drop transactions below this magnitude. 25 is a reasonable noise floor. |
excludePlanned | Drop Rule 10b5-1 trades entirely rather than discounting them. |
includeClusters | Emit cluster records. |
seniorityWeights | Override the role weights used in scoring. |
Tuning it for your own model
The scoring weights are not hard-coded opinions you have to accept. seniorityWeights is overridable from the input, and clusterWindowDays / clusterMinInsiders control cluster sensitivity. If you disagree with how a 10% owner is weighted, change it.
Notes on data and compliance
Data comes from the SEC's EDGAR system, which publishes filings as public records and explicitly supports programmatic access. This Actor uses no headless browser, no proxies, and no anti-bot evasion; it sends a descriptive User-Agent and stays under the SEC's published request-rate ceiling.
Form 4 filings are self-reported by insiders and their agents. Amendments (4/A) are returned alongside originals and are not automatically reconciled against the filing they amend. Filings before mid-2003 pre-date the XML schema and are not parsed. Issuers without a listed ticker may return a null or placeholder symbol.
Nothing here is investment advice. Insider buying is a studied but noisy factor; this Actor gives you a clean input to your own research process, not a recommendation.
Common questions
Why are there so few records compared to other Form 4 scrapers? Because the others are returning option exercises and tax withholding. If you want the raw firehose, that is a different tool. This one is deliberately selective.
Why is a large insider sale scoring near zero?
It was almost certainly a Rule 10b5-1 planned sale. Check the rule_10b5_1 and rule_10b5_1_evidence fields. If you want those dropped entirely rather than discounted, set excludePlanned.
Can I get intraday or real-time alerts?
Schedule the Actor with lookbackDays: 1. Resolution is bounded by EDGAR's own publication cadence.