Insider Cluster Buy Scorer: SEC Form 4 Buying Signals
Pricing
from $3.00 / 1,000 cluster scoreds
Insider Cluster Buy Scorer: SEC Form 4 Buying Signals
Finds stocks where several insiders (CEO, CFO, directors) bought within days of each other and scores each cluster 0-100. Built on SEC Form 4 filings with a published formula. No API key.

What does Insider Cluster Buy Scorer: SEC Form 4 Buying Signals do?
Insider Cluster Buy Scorer scans SEC Form 4 filings for the tickers you give it and returns every cluster of insiders buying the same stock within a short window. A cluster row lists each insider with role, shares and dollar value, the total value, how tightly the buying is packed in time, and a cluster score from 0 to 100. The score is a published formula that weights CEOs and CFOs above plain directors, so you can see exactly why a cluster ranks where it does. Only open-market purchases count; grants, option exercises and sales are ignored.
Why use Insider Cluster Buy Scorer: SEC Form 4 Buying Signals?
- A ready-made composite signal instead of another raw Form 4 feed.
- The score formula is public and every part is returned, so it is not a black box.
- Seniority matters: a CEO and CFO buying counts for more than two directors.
- Bulk watchlists in one run, and delta mode that reports a cluster again when it grows.
- Official SEC EDGAR data with links to every filing; no API key.
What makes this different
Raw Form 4 scrapers list every filing. This Actor filters to real open-market purchases, groups them into clusters by time window, scores them by seniority, dollars, breadth and tightness, and shows the maths.
Who can use the Insider Cluster Buy Scorer and how?
- Swing and position traders: screen for stocks where management is buying with its own money.
- Retail investors: watch your holdings for insider buying clusters.
- Newsletter writers: publish a weekly list of the highest-scoring clusters with sources.
- Quant teams: use cluster score and components as features in models.
- Analysts and journalists: find and cite the filings behind insider buying stories.
- Fintech developers: add an insider-buying alert to an app through the API.
- Fund managers: monitor insider conviction in portfolio names.
- Compliance teams: track insider activity in names you cover.
How it works

- Your input — enter the tickers to watch, a lookback and a minimum cluster size.
- The Actor collects it — the Actor reads each company's recent Form 4 filings from SEC EDGAR and keeps open-market purchases.
- Your output — you get clusters ranked by score, with the insiders and links to the filings.
What data can you extract?
The dataset has 20 fields per row:
| Field | Type | Description |
|---|---|---|
ticker | string | Stock ticker. |
company_name | string | Company name from the filing. |
cik | string | SEC CIK of the company. |
cluster_id | string | Stable id: ticker, first purchase date and number of insiders. |
insiders | array | Each insider: name, role, shares, value_usd, transaction_date, last_transaction_date, average_price_usd. |
cluster_size | number | Number of different insiders in the cluster. |
cluster_score | number | Score from 0 to 100. |
score_components | object | seniority, size, breadth and tightness points. |
total_value_usd | number | Combined purchase value in US dollars. |
total_shares | number | Combined shares bought. |
first_transaction_date | string | Date of the first purchase (YYYY-MM-DD). |
last_transaction_date | string | Date of the last purchase (YYYY-MM-DD). |
span_days | number | Days between the first and last purchase. |
first_filed_at | string | Date the first Form 4 of the cluster was filed. |
includes_c_suite | boolean | True when a CEO or CFO is in the cluster. |
source_document_urls | array | Links to the Form 4 filings. |
fetch_path | string | How the row was read: edgar_xml. |
source | string | Data source. |
scraped_at | string | Collection time (ISO 8601). |
actor_version | string | Output schema version. |
How to use Insider Cluster Buy Scorer: SEC Form 4 Buying Signals

- Open the Actor and go to the Input tab.
- Enter Tickers, set the Lookback (days) and Minimum insiders in a cluster, and run. Sort the result by
cluster_score. - Optionally set filters and a Max results limit.
- Click Start. A default run finishes in under a minute.
- Open the Output tab, then download the dataset or connect it to your tools.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
tickers | array | No | [] | Stock tickers to scan for insider buying clusters, one per line. |
minClusterSize | integer | No | 2 | A cluster needs at least this many different insiders buying in the same window. Use 1 to also see single-insider purchases. |
minDollarValue | number | No | 0 | Skip clusters whose combined purchases are below this value. |
lookbackDays | integer | No | 30 | How far back to read Form 4 filings. |
clusterWindowDays | integer | No | 14 | Purchases belong to the same cluster while each one is at most this many days after the previous one. |
deltaMode | boolean | No | false | Return and bill only clusters not delivered before, or clusters that grew (more insiders or more dollars) since the last run with the same delta key. |
deltaStateKey | string | No | "default" | Name of the tracked stream. Use a different key per watchlist. |
proxyConfiguration | object | No | {"useApifyProxy":false} | Optional proxy. SEC EDGAR works without one. |
Output Data

cluster_score is 0 to 100 (see how it is calculated below). insiders lists each buyer with role, shares, value_usd and dates. includes_c_suite is true when a CEO or CFO is in the cluster. span_days is the days between the first and last purchase. Values are shares times the reported purchase price.

A real dataset item:
{"ticker": "PFE","company_name": "PFIZER INC","cik": "78003","cluster_id": "PFE-2026-08-05-3","insiders": [{"name": "BLAYLOCK RONALD E","role": "Director","shares": 39231,"value_usd": 998821,"transaction_date": "2026-08-05","last_transaction_date": "2026-08-05","average_price_usd": 25.46},{"name": "Buckley Mortimer J","role": "Director","shares": 37632,"value_usd": 960369,"transaction_date": "2026-08-05","last_transaction_date": "2026-08-05","average_price_usd": 25.52},{"name": "BOURLA ALBERT","role": "Chairman & CEO","shares": 38000,"value_usd": 1000920,"transaction_date": "2026-08-12","last_transaction_date": "2026-08-12","average_price_usd": 26.34}],"cluster_size": 3,"cluster_score": 74,"score_components": {"seniority": 26.7,"size": 30,"breadth": 10,"tightness": 7.5},"total_value_usd": 2960110,"total_shares": 114863,"first_transaction_date": "2026-08-05","last_transaction_date": "2026-08-12","span_days": 7,"first_filed_at": "2026-08-05","includes_c_suite": true,"source_document_urls": ["https://www.sec.gov/Archives/edgar/data/78003/000122520826006944/doc4.xml","https://www.sec.gov/Archives/edgar/data/78003/000122520826006943/doc4.xml","https://www.sec.gov/Archives/edgar/data/78003/000122520826007083/doc4.xml"],"fetch_path": "edgar_xml","source": "sec_edgar","scraped_at": "2026-09-26T02:33:40.502Z","actor_version": "1.0.0"}
How to read and use the results
- Sort by cluster_score and start with 70 and above.
- Check includes_c_suite: CEO or CFO buying carries the most weight.
- Read insiders for who bought, how much and when.
- Look at span_days: a tight cluster (a few days) is stronger than a spread-out one.
- Open source_document_urls to verify each Form 4.
- Automate: schedule daily with delta mode and alert on new or grown clusters.
Usage Examples
Scan a watchlist for clusters
{"tickers": ["PFE", "BAC", "INTC", "F"],"lookbackDays": 90,"minClusterSize": 2}
Only large clusters with a C-suite buyer window of 7 days
{"tickers": ["PFE", "BAC"],"lookbackDays": 180,"clusterWindowDays": 7,"minDollarValue": 250000}
Only new or grown clusters since last run
{"tickers": ["PFE", "BAC", "INTC"],"lookbackDays": 60,"deltaMode": true,"deltaStateKey": "insider-watch"}
Tips for Best Results
- Use a 90 to 180 day lookback for quiet stocks; most companies have no clusters in 30 days.
- Set minimum insiders to 1 to also see single large insider purchases.
- Combine with earnings dates: clusters before earnings are more informative than after.
- Schedule daily with delta mode; a cluster is reported again when it grows.
- Default is 5 results for a fast test. Set the max to 0 to return everything available.
How the cluster score is calculated
The score is the sum of four parts, each returned in score_components:
| Part | Max points | How it is calculated |
|---|---|---|
| Seniority | 40 | Each insider has a weight: CEO 1.0, CFO 0.9, chair, president or COO 0.8, other officer 0.6, director 0.5, 10% owner 0.4, other 0.3. Points = 40 × (sum of weights ÷ 3), capped at 40. |
| Size | 30 | Total dollars bought. $10,000 or less scores 0, $1,000,000 or more scores 30, in between on a log scale. |
| Breadth | 15 | Number of different insiders: 2 insiders score 5, 3 score 10, 4 or more score 15. |
| Tightness | 15 | 15 × (1 − days between first and last purchase ÷ cluster window). Purchases on the same day score 15. |
A cluster is a run of purchases in which each purchase is at most the cluster window (14 days by default) after the previous one. A single insider buying repeatedly is not a cluster. Change the window, the minimum number of insiders and the minimum value in the input.
The score ranks clusters against each other; it is not a prediction of price moves.
Reliability by mode
| Mode | Status | Needs login or key? | Notes |
|---|---|---|---|
| Insider open-market purchases | ✅ | No | Form 4 code P. |
| Cluster scoring | ✅ | No | Formula is published. |
| Sales and option exercises | ❌ | - | Ignored on purpose. |
| Foreign issuers without Form 4 | ❌ | - | Not covered. |
| Small companies with sparse filings | 🟡 | No | Often no cluster in the lookback. |
✅ works as described, 🟡 works with caveats, ❌ not supported.
Only new records (delta mode)
Turn on Only new or grown clusters (delta mode) and set a Delta key. A scheduled run then returns, and bills, only clusters not delivered before or clusters that grew, meaning more insiders or more dollars since the last run.
Known Limitations
- Only open-market purchases (Form 4 transaction code P) are counted; grants, option exercises, gifts and sales are ignored.
- Form 4 must be filed within two business days, so data is one to three days behind the trade.
- The score ranks clusters; it does not predict returns.
- Insiders' purchases can be small relative to their wealth; check the dollar value.
- Purchases through some trusts or entities appear under the filing owner's name.
- Companies that changed ticker or have no SEC ticker mapping are not found.
Integrations
Run it from the Apify API, on a schedule, or from a webhook. Send results straight to Google Sheets, Make, Zapier, Slack or your own database with Apify's built-in integrations.
Export Formats
Download the dataset as JSON, CSV, Excel, XML, HTML table or RSS from the Output tab or the API.
Frequently Asked Questions
Where does the data come from?
SEC EDGAR: the list of Form 4 filings from data.sec.gov and the Form 4 documents themselves. It is an official public source, not a scraped website, and requests stay under the SEC limit of 10 per second.
Does it need an API key?
No.
What counts as a cluster?
Two or more different insiders (you can change the minimum) whose open-market purchases follow each other within the cluster window, 14 days by default.
Is the score a buy signal?
It is a ranking of how unusual and how senior the insider buying is. It is research data, not advice.
How do I find insider buying at a stock?
Enter its ticker and a 90-day lookback; a row is returned for every cluster found.
Am I charged for failed results?
No. You are only charged for clusters that are written to the dataset.
Do I need an account or login?
No. The Actor reads public SEC filings and needs no account or API key.
Am I charged for failed runs or empty results?
You are only charged for results that are actually written to the dataset.
Can I run it on a schedule?
Yes. Create a Task with your input and add a schedule in Apify Console. With monitor mode on, each scheduled run returns only what changed since the previous one.
Changelog
- 2026-09-26: First release: Form 4 cluster detection with a published 0-100 score, delta mode and bulk tickers.
Enterprise and custom work
Need higher volumes, a custom output schema, dedicated scheduling or a no-breaking-changes commitment for a production pipeline? Open an issue on the Actor page and describe your use case. Bulk terms and custom builds are available.
Support
Questions or a missing field? Open an issue from the Issues tab on this Actor's page and it will be looked at.
Legal / Responsible Use
This Actor reads public filings from SEC EDGAR. You are responsible for how you use the data. It is not investment advice and is not affiliated with the SEC.