SEC Insider Trades Monitor (EDGAR Form 4)
Pricing
from $2.00 / 1,000 insider filing rows
SEC Insider Trades Monitor (EDGAR Form 4)
SEC insider-trading monitor on EDGAR: Form 4 (and 3/5) filings for a ticker watchlist over a lookback window — insider name and role, 10b5-1 flag, transaction codes, shares and dollar values. Optional Telegram alert on insider buys over a threshold. Official SEC data, no key needed.
Pricing
from $2.00 / 1,000 insider filing rows
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Features
Share
SEC Insider Trades Monitor (Form 4)
Track insider buys and sells for a ticker watchlist from SEC EDGAR ownership filings. Each record is one Form 3, 4 or 5 filing with the insider's name and role, the 10b5-1 plan flag, transaction codes, shares bought and sold, dollar values and holdings after the transaction. Every row states whether its numbers were read from the filing document itself or only confirmed from the filing index. Built for investors, analysts and market-monitoring products, with an optional Telegram alert for large insider buys.
Quick Start
Run it with the default input to get the last 30 days of Form 4 filings for AAPL, MSFT, NVDA, AMZN, GOOGL, META, TSLA, JPM, WMT and ORCL. An empty run returns a small sample of 10 filings from those ten companies and reports usedExample: true. To track your own list:
{"tickers": ["AAPL", "MSFT", "NVDA"], "lookbackDays": 14}
Input
| Name | Type | Default | Meaning |
|---|---|---|---|
tickers | array | 10 large caps | Up to 50 tickers, case-insensitive. An empty list uses the default ten (AAPL, MSFT, NVDA, AMZN, GOOGL, META, TSLA, JPM, WMT, ORCL). |
lookbackDays | integer | 30 | Filing-date window including today (1–90). 1–7 suits a daily or weekly schedule. |
forms | array | ["4"] | Ownership forms to collect: 3 (initial), 4 (transactions), 4/A, 5 (annual), 5/A. |
maxFilings | integer | 100 | Maximum filings per run (10–500), newest kept first. An empty input (no watchlist, no maxFilings) is a sample and stops at 10. |
alertMinUsd | number | 0 | Send a Telegram alert for every insider buy at or above this USD value; 0 turns alerts off. |
telegramBotToken | string | empty | Secret Telegram bot token for alerts; the TELEGRAM_BOT_TOKEN secret environment variable also works. |
telegramChatId | string | empty | Chat that receives the alerts. |
requestDelaySecs | number | 0.2 | Minimum pause between requests to SEC; values below 0.125 are raised to 0.125. |
What it returns
One dataset row per filing:
| Field | Meaning |
|---|---|
recordKey | Stable key, insider:{accessionNumber}. |
source, kind | Record source and type. |
ticker, cik, companyName | Issuer ticker, SEC CIK and name. |
form | Form type (3, 4, 4/A, 5, 5/A). |
filedAt, reportDate, acceptanceDateTime | Filing date, transaction report date and SEC acceptance time. |
accessionNumber | SEC accession number of the filing. |
insiderName, insiderCik, insiderRole, officerTitle | Who filed and their relationship to the company. |
rule10b5One | Whether the trade was made under a Rule 10b5-1 plan. |
detailBasis | form4-xml (numbers read from the filing document) or filings-index (filing confirmed, detail fields null). |
transactionType | buy, sell or mixed. |
transactionCodes | SEC transaction codes in the filing (for example P purchase, S sale). |
securityTitle | Security traded. |
sharesBought, sharesSold, netShares | Share counts. |
buyUsd, sellUsd | Dollar value of buys and sells. |
sharesOwnedFollowing | Shares held after the transactions. |
derivativeTransactionCount | Number of derivative transactions in the filing. |
sourceUrl | Link to the filing on SEC EDGAR. |
collectedAt | UTC time the filing was collected. |
The run summary (OUTPUT) reports filings parsed, coverage counters (tickers matched, filings selected and truncated), the alert result and warnings such as unmatched tickers. usedExample is true when the run was the 10-filing sample that an empty input starts. records counts only the rows stored in the dataset; if your maximum charge per run stops the run early, stoppedBy is chargeLimit and the summary line says how many filings were stored.
Output example
Illustrative record:
{"recordKey":"insider:0000912058-26-000123","source":"sec-edgar","kind":"insider_filing","ticker":"NFLX","cik":"0001065280","companyName":"Netflix, Inc.","form":"4","filedAt":"2026-09-02","reportDate":"2026-09-01","acceptanceDateTime":"2026-09-02T16:31:05.000Z","accessionNumber":"0000912058-26-000123","insiderName":"Hastings Reed","insiderCik":"0001033331","insiderRole":"Director","officerTitle":null,"rule10b5One":false,"detailBasis":"form4-xml","transactionType":"buy","transactionCodes":["P"],"securityTitle":"Common Stock","sharesBought":150,"sharesSold":0,"netShares":150,"buyUsd":3000.0,"sellUsd":null,"sharesOwnedFollowing":150,"derivativeTransactionCount":0,"sourceUrl":"https://www.sec.gov/Archives/edgar/data/1065280/000091205826000123/form4.xml","collectedAt":"2026-09-02T18:00:04Z"}
FAQ
How fresh is the data? Every run reads SEC EDGAR at run time and collects filings by filing date inside your lookback window.
Which forms are covered? Form 4 (current insider transactions) by default; Forms 3 (initial statement), 5 (annual) and their amendments can be selected.
What are the limits? Up to 50 tickers, a 90-day lookback window and maxFilings (default 100, up to 500) filings per run, newest first. A run started with no input at all is a sample and collects at most 10 filings.
What happens when a filing document can't be read? The filing still appears, with its detail fields set to null and detailBasis: "filings-index", so numbers are never guessed. Unmatched watchlist entries are named in the run warnings.
Does it follow SEC's fair-access rules? Yes. Requests stay under SEC's limit of 10 per second, and if SEC asks it to slow down, the run waits and tries again.
How do the alerts work? Set alertMinUsd above 0 and provide your Telegram bot token and chat ID; every qualifying insider buy sends one message from the run. A failed or skipped send is a warning, never a failed run.
Price
See the Actor's Pricing tab on Apify for current rates.
For support, contact Apify support and include the Actor run ID.