SEC Form 4 Watchlist Monitor
Pricing
from $5.00 / 1,000 alerts
SEC Form 4 Watchlist Monitor
Monitors SEC tickers/CIKs for new insider-trading and ownership filings (Forms 3, 4, 5, 13F): one alert per new filing. Use cases: compliance watchlist alerting, M&A screening, quant insider-flow feeds. No new filings means no per-alert charges. Public SEC data only; deterministic; no inference.
Pricing
from $5.00 / 1,000 alerts
Rating
0.0
(0)
Developer
Valunex
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Monitors a watchlist of SEC tickers/CIKs for new insider-trading and ownership filings — Form 4 (default), and optionally Form 3, Form 5 and 13F — and emits one dataset item (alert) per new filing since the last run.
Who it is for
Compliance officers, quant/research desks, M&A professionals and watchdog analysts who need to know when officers, directors or 10% owners file Form 4 trades, when new insiders file Form 3, when annual Form 5 changes are reported, or when institutions file 13F holdings — without re-polling SEC EDGAR manually.
What users run it for
Concrete ways buyers use the Actor. These are example uses of a general watchlist monitor — not customer claims, and the Actor makes no promises about any specific filing or outcome.
Compliance alerting on an insider watchlist
A compliance officer monitors officers, directors and 10% owners on a firm watchlist for personal-account-dealing and front-running risk.
- Input:
tickers= watchlist tickers/CIKs,formTypes: ["3", "4", "5"],lookbackDays: 1,deliveryWebhookUrl= the alert inbox webhook. - The run POSTs each new Form 3/4/5 to the webhook as it is detected.
- If no one filed, the run emits zero items — there are no per-alert charges.
M&A screening of target-company insiders
An M&A analyst screens a target company's insiders for abnormal trading ahead of deal announcements.
- Input:
tickers= the target company,formTypes: ["4", "5"],lookbackDays: 30,transactionCodes: ["P", "S"],minTransactionValueUsd: 250000— large purchases and sales only.
Quant desk insider-flow feed
A quant desk feeds insider buys and sells into an alpha model.
- Input:
formTypes: ["4"],transactionCodes: ["P", "S"],maxResultsPerTicker: 100,deliveryWebhookUrl= the data pipeline webhook. - Each alert is POSTed as JSON as it is detected; you pay only on alerts.
Default run (no decisions needed)
{ "tickers": ["AAPL", "TSLA", "1651777"] }
Monitors Form 4 filings from the last 1 day, up to 10 new filings per ticker. Repeat runs resume from the per-ticker checkpoint and emit only filings newer than the last run, so nothing repeats and nothing is missed.
Free when nothing changes
The Actor checkpoints the last-checked date and seen accession numbers per ticker in its key-value store. Repeat runs only emit genuinely new filings, so no new filings means zero dataset items: you pay the $0.0001 run start, but no $0.005 per-alert fees. Pay only on signal, not on silence.
Form types monitored
| Form | What it is | What the Actor emits |
|---|---|---|
| 3 | Initial statement of beneficial ownership (a new insider) | Reporting person name, title, officer flag, issuer name/CIK |
| 4 | Statement of changes in beneficial ownership (insider trade) | Insider, transaction code (P/S/A/M…), value, shares, ownership after |
| 5 | Annual statement of changes in beneficial ownership | Same trade fields as Form 4 plus issuer name/CIK |
| 13F | Institutional investment manager holdings report | Manager name, report period, holdings count, total holdings value |
Use the formTypes input to select which forms to scan (default: ["4"],
which preserves the original Form 4–only behavior exactly).
What makes it different
Existing Apify Store actors for insider trading are typically on-demand fetchers: you run them, get a batch, and run again when you want an update. This Actor keeps a watchlist and remembers what it already reported, so repeat runs emit only genuinely new filings — free when nothing changes.
Data source
Public SEC data only, via official SEC endpoints:
- https://www.sec.gov/files/company_tickers.json (ticker -> CIK)
- https://data.sec.gov/submissions/CIK{CIK}.json (company recent filings)
- https://www.sec.gov/Archives/edgar/data/... (filing document text)
No credentials, no proxies, no scraping of rate-limited or anti-bot pages, no commercial inference (no LLMs) inside the product. SEC rate guidance (~10 requests/s) is respected; a failing ticker never aborts the whole run.
Pricing (pay-per-event, Apify Store)
- Actor start: $0.0001 per run (one-time)
- New alert (dataset item): $0.005 per alert — any supported form type
- Price changes are limited to no more than once per month, with at least 14 days' notice before they take effect (per Apify Terms).
Apify retains a 20% commission on revenue; payouts are monthly and require completed identity verification (KYC). See knowledge/decisions.md for the full margin model and kill test.
Input
See actor/.actor/input_schema.json. Required: tickers (array of SEC tickers
or CIKs, max 50). Example inputs for each use case are the top-level
examples in input-schema.json.
formTypes: array of"3","4","5","13F", default["4"].transactionCodes: optional array of transaction codes (e.g.["P", "S"]for purchases and sales) — filters Forms 4 and 5 only.minTransactionValueUsd: optional minimum parsed transaction value in USD — filters Forms 4 and 5 only.lookbackDays(1-30, default 1),maxResultsPerTicker(1-100, default 10),deliveryWebhookUrl: each new alert is POSTed as JSON to that URL as it is detected. Webhook failures are logged and never abort the run.
Example:
{ "tickers": ["AAPL", "TSLA", "1651777"], "lookbackDays": 1, "maxResultsPerTicker": 10, "formTypes": ["4", "5"] }
Output
One dataset item per new filing. Common fields are always present;
form-type-specific fields are null when not parseable or not applicable:
{"ticker": "AAPL","cik": "0000320193","companyName": "Apple Inc.","form": "4","filingDate": "2026-10-28","reportDate": "2026-10-27","accessionNumber": "0000320193-26-000123","primaryDocument": "aapl-20261027.htm","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000123/aapl-20261027.htm","newSinceLastRun": true,"insiderName": "John Appleseed","insiderTitle": "Chief Executive Officer","insiderCik": null,"isOfficer": null,"issuerName": null,"issuerCik": null,"transactionCode": "P","transactionDate": "2026-10-27","transactionValueUsd": 1234567.0,"shares": 10000.0,"ownershipAfter": 450000.0,"managerName": null,"managerCik": null,"holdingsCount": null,"totalValueUsd": null}
Every field is null when it could not be parsed from the filing document —
the Actor never guesses. A 13F item instead fills managerName,
holdingsCount and totalValueUsd and leaves the insider/trade fields null.
Output examples by form type
The items below illustrate the output shape per form type. Values are
examples, not records of actual filings, and every field the Actor cannot
parse is null.
Form 4 — insider transaction
{"ticker": "NVDA","cik": "0001045810","companyName": "NVIDIA Corp.","form": "4","filingDate": "2026-10-27","reportDate": "2026-10-23","accessionNumber": "0001045810-26-000123","primaryDocument": "nvda-20261023.xml","documentUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000123/nvda-20261023.xml","newSinceLastRun": true,"insiderName": "Jane Director","insiderTitle": "Chief Financial Officer","insiderCik": null,"isOfficer": true,"issuerName": "NVIDIA Corp.","issuerCik": "0001045810","transactionCode": "S","transactionDate": "2026-10-23","transactionValueUsd": 1250000.0,"shares": 10000.0,"ownershipAfter": 45000.0,"managerName": null,"managerCik": null,"holdingsCount": null,"totalValueUsd": null}
Form 3 — initial statement of beneficial ownership
{"ticker": "AAPL","cik": "0000320193","companyName": "Apple Inc.","form": "3","filingDate": "2026-10-26","reportDate": null,"accessionNumber": "0000320193-26-000045","primaryDocument": "form3.xml","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000045/form3.xml","newSinceLastRun": true,"insiderName": "New Officer","insiderTitle": "EVP, Commercial","insiderCik": null,"isOfficer": true,"issuerName": "Apple Inc.","issuerCik": "0000320193","transactionCode": null,"transactionDate": null,"transactionValueUsd": null,"shares": null,"ownershipAfter": null,"managerName": null,"managerCik": null,"holdingsCount": null,"totalValueUsd": null}
Form 5 — annual statement of changes in beneficial ownership
{"ticker": "JPM","cik": "0000019617","companyName": "JPMorgan Chase & Co.","form": "5","filingDate": "2026-03-27","reportDate": "2025-12-31","accessionNumber": "0000019617-26-000012","primaryDocument": "jpm-20251231.xml","documentUrl": "https://www.sec.gov/Archives/edgar/data/19617/000001961726000012/jpm-20251231.xml","newSinceLastRun": true,"insiderName": "Ten Percent Owner","insiderTitle": null,"insiderCik": null,"isOfficer": null,"issuerName": "JPMorgan Chase & Co.","issuerCik": "0000019617","transactionCode": "A","transactionDate": "2025-12-15","transactionValueUsd": 340000.0,"shares": 2500.0,"ownershipAfter": 180000.0,"managerName": null,"managerCik": null,"holdingsCount": null,"totalValueUsd": null}
13F — institutional investment manager holdings report
{"ticker": "0001067983","cik": "0001067983","companyName": "Berkshire Hathaway Inc.","form": "13F","filingDate": "2026-02-17","reportDate": "2025-12-31","accessionNumber": "0001104659-26-012345","primaryDocument": "infotable.xml","documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000110465926012345/infotable.xml","newSinceLastRun": true,"insiderName": null,"insiderTitle": null,"insiderCik": null,"isOfficer": null,"issuerName": null,"issuerCik": null,"transactionCode": null,"transactionDate": null,"transactionValueUsd": null,"shares": null,"ownershipAfter": null,"managerName": "Berkshire Hathaway Inc.","managerCik": "0001067983","holdingsCount": 55,"totalValueUsd": 150000000000.0}
Limits
- Max 50 tickers per run, 100 alerts per ticker per run.
- Only forms listed in
formTypesin the company's recent filings feed are considered; older filings outside the SEC's recent feed are not scanned. - Checkpoints persist per ticker in the Actor key-value store; resetting the store re-emits filings within the lookback window.
Verification
Run pytest actor/tests before release (builder acceptance criterion).