Insider Purchase Cluster Monitor - SEC Form 4
Pricing
from $3.00 / 1,000 insider purchase observations
Insider Purchase Cluster Monitor - SEC Form 4
Extract SEC Form 4 purchases with source evidence, ownership details and conservative insider cluster counts. Bounded watchlists, saved comparisons and CSV/JSON output.
Pricing
from $3.00 / 1,000 insider purchase observations
Rating
0.0
(0)
Developer
Brandt May
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

Follow disclosed insider purchases
Build an issuer research timeline from SEC Form 4 purchase disclosures. See who reported a purchase, the shares and reported price, and whether multiple officers or directors appear in the inspected purchase window. Designed for analysts and research teams reviewing insider activity alongside company filings.
Open this Actor in Console · First run · Results · Saved comparisons · Full guide
Try this Actor
Start with one historical Occidental Petroleum purchase. The June 23, 2026 transaction reports 4,770 shares at 52.38 per share. This fixed SEC example demonstrates the output; its date stays attached to the observation. No SEC key or paid source subscription is required.
Inspect an SEC Form 4 purchase — paste this input into the Console JSON editor.
{"filingUrls": ["https://www.sec.gov/Archives/edgar/data/797468/000162828026045313/wk-form4_1782342238.xml"],"maxResults": 5}
Open the dataset to review the purchase and follow sourceUrl to the filing. Then open Run report or SUMMARY to see what was inspected. This one-insider sample does not establish a cluster.
Read the code correctly: SEC transaction code P covers an open-market or private purchase. It does not establish which of the two occurred.
Result preview
One row is one purchase-coded, non-derivative transaction. The overview brings the research essentials together:
| Research question | Output fields |
|---|---|
| Which issuer and when? | ticker, issuerName, transactionDate |
| What was reported? | shares, pricePerShare, reportedValue |
| Who reported it? | reportingOwners, ownershipNature |
| Were other eligible insiders observed? | observedDistinctInsiders, clusterDetected |
| What changed since the saved observation? | comparisonStatus, changedFields, previous |
| Where is the evidence? | sourceUrl, accessionNumber, observedAt |
Cluster counts cover the inspected filings. The price’s currency is not inferred, and missing or nonnumeric prices remain null.
Usage and pricing
Base result rate on the FREE tier: $5 per 1,000 saved purchase observations. The Pricing tab shows your plan’s result rate and the Actor Start charge. Set maxResults and a platform spending limit before running a larger watchlist. A result cap is an upper bound, not a promise of that many results.
Saved unchanged observations are billable. onlyChanges skips unchanged rows after a baseline; skipped rows, source errors and summary files are not dataset-item charges.
Build a repeatable workflow
- Choose a small issuer watchlist. Use the Occidental watchlist example below, then replace its CIK with your tickers or SEC CIKs. Review filing coverage before expanding the scope.
- Save a baseline. Use the saved-comparison example below with
comparePrevious: true. Keep the same input scope,snapshotNameand named history store between runs. - Review the changes. Check
comparisonStatus,changedFields, ownership details and the linked Form 4. A new accession/transaction line has its own identity. - Deliver the evidence. Export the completed dataset to your research sheet or connect it through your own workflow. Use
idas the transaction key and retain the source link. After the baseline,onlyChanges: truecan keep unchanged transactions out of later exports.
Run a comparison namespace sequentially. Check SUMMARY before interpreting an empty result or routing changes; source gaps cannot establish that an insider stopped buying.
Full guide
Choose your evidence
Use either companies or filingUrls. A specified company query never silently falls back to the historical sample. Direct documents are inspected regardless of age. Company discovery searches only the SEC’s returned recent submissions index; it does not traverse archived index files.
companies: up to 10 ticker symbols or SEC CIKs.filingUrls: up to 30 raw SEC archive XML URLs. SEC XSL viewer prefixes are normalized to raw XML.lookbackDays: bounds company discovery by filing date and company-watchlist purchases by transaction date.maxFilingsPerCompany: bounds matching filings before XML inspection. A company can appear as a reporting owner in another issuer’s filing; issuer mismatches are excluded after parsing, so a narrow cap can miss matches.clusterWindowDays,minimumInsidersandonlyClusters: select the observed cluster definition and optional output filter described below.
Field reference
| Field | Meaning |
|---|---|
issuerCik, issuerName, ticker | Issuer identity reported in the ownership XML. Ticker may be missing or historical. |
transactionDate, transactionCode | The transaction date and SEC code P. |
shares, pricePerShare, reportedValue | Reported shares and price; value is shares multiplied by price, rounded to six decimals. Missing or nonnumeric price remains null. Currency is not inferred. |
reportingOwners | Filing owners, CIKs, director/officer flags and officer titles. |
ownershipNature, sharesOwnedFollowing | Direct/indirect ownership and the reported post-transaction amount. |
footnotes, remarks, rule10b51Flag | Source qualifications and the filing’s plan flag when present. Footnotes apply at filing level; review the original for precise references. |
clusterDetected, observedDistinctInsiders | Conservative count within the observed transaction window. |
sourceUrl, accessionNumber | Raw SEC evidence and filing identifier. |
filingDate, acceptedAt, observedAt | SEC discovery metadata when available, and our observation timestamp. Direct URLs have null filing/acceptance metadata; transaction dates are not publication times. |
Grants, sales, withholding, exercises, derivative transactions and holdings-only entries are excluded.
How the cluster count works
For each purchase, the window ends on its transaction date and includes that date plus the preceding clusterWindowDays - 1 days. Only observed purchases for the same issuer and case-insensitively matching security title are considered. Counts use distinct owner CIKs, not numbers of transactions.
A counted owner must be a director or officer, be the sole reporting owner in that filing, and report direct ownership. Joint filings, indirect ownership and institutional-only/other ownership remain visible as purchase rows but do not increase the cluster count. Separate security titles are not assumed to represent the same class.
Form 4/A amendments are excluded and recorded in the run summary to prevent counting the same acquisition again. This release does not resolve amendment chains: an original filing may later be corrected. The output exposes that limitation. It does not estimate total company insider spending or infer that an insider stopped buying.
Saved comparison behavior
Enable comparePrevious and keep the same input scope, snapshotName and named store across scheduled runs. The first saved observation is new. Reobserved transactions are changed or unchanged, with previous values and changed fields. A newly filed transaction has its own accession/line identity.
onlyChanges skips unchanged rows and can correctly produce zero output. onlyClusters can also produce zero output—including the default one-insider example. Neither mode fabricates replacement rows. Saved state advances only after a row is confirmed written; spending limits do not consume unsaved history. Use one writer per comparison namespace.
Coverage, limits and failures
Open Run report for the readable outcome, SUMMARY for source-by-source coverage, or export JSON/CSV from the dataset. Filings are inspected before cluster enrichment so counts use the full inspected set even when fewer rows are saved. The filing cap, recent-index boundary, excluded amendments, failed sources and transaction-date bounds all limit what a cluster can establish.
Requests identify Maydit to the SEC and are serialized at approximately one per second. Requests have bounded time and response size; temporary server errors receive one retry. Access refusals are reported without bypassing them. An upstream failure never becomes a paid data row. An all-failed run fails honestly; an empty valid purchase filter succeeds with an explicit summary.
Three example inputs
The first exact example is Inspect an SEC Form 4 purchase above. The other saved examples are:
Review a bounded Occidental insider purchase window
Inspect up to 12 recent Form 4 filings for Occidental and extract eligible purchases within 365 days.
{"companies": ["0000797468"],"maxFilingsPerCompany": 12,"lookbackDays": 365,"maxResults": 10}
Save an insider purchase comparison baseline
Save the documented Form 4 purchase and compare its observed cluster details on later runs. First run returns a new observation.
{"filingUrls": ["https://www.sec.gov/Archives/edgar/data/797468/000162828026045313/wk-form4_1782342238.xml"],"comparePrevious": true,"snapshotName": "oxy-purchase-example","maxResults": 5}
Research use and sources
Use the observations to prioritize filing review, maintain issuer timelines, or combine disclosed purchases with earnings and financing evidence. The Actor does not calculate buy/sell recommendations or predict share-price moves.
SEC ownership transaction codes · SEC Developer Resources · SEC automated access guidance
Help with your run
Open Run report in the run’s Output tab for a readable outcome and SUMMARY for detailed coverage and source issues. Export CSV for flat spreadsheet columns or JSON to preserve nested evidence.
For help, open this Actor’s Issues tab with the run URL, relevant input and expected result. Remove credentials and private information before posting.