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
a day ago
Last modified
Categories
Security
Limited permissionsShare
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. 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. |
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. 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.
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. Every request identifies the Actor with a contact address, 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.