SEC EDGAR Filings Monitor: New Form 4, 8-K, 10-K & 13D
Pricing
Pay per event
SEC EDGAR Filings Monitor: New Form 4, 8-K, 10-K & 13D
Watch tickers or CIKs on SEC EDGAR and get every filing that is new since your last run: Form 4 insider trades, 8-Ks with item codes, 10-K/10-Q, 13D/G, S-1, each with a sec.gov link. $2 per 1,000 filings plus $0.002 per company; no API key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Changefeeds Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
- What you get: for a list of tickers or CIKs, every SEC filing that is new since your last run: Form 4 insider trades, 8-Ks with their item codes, 10-K/10-Q, 13D/13G, S-1 or any form you pick, each with form, dates, accession number and a direct link to the document on sec.gov.
- Built for: insider-trade tracking, disclosure monitoring and daily digests. It reads only the official public EDGAR submissions feed (
data.sec.gov). No API key, no login. - Price: $2 per 1,000 filings returned plus $0.002 per company checked. Unknown tickers and failed lookups are free.
Sample output
We ran AAPL and TSLA (Forms 4 and 8-K, Max filings per company 10)
on 2026-09-29 and again on 2026-10-23. The second run
found 19 new filings (16 for Apple, 3 for Tesla), delivered 13 and held Apple's
other 6 for the next run:
| ticker | form | filing_date | items | accession_number |
|---|---|---|---|---|
| TSLA | 8-K | 2026-10-21 | 2.02,9.01 | 0001628280-26-066738 |
| TSLA | 8-K | 2026-10-02 | 2.02,9.01 | 0001628280-26-064366 |
| TSLA | 8-K | 2026-09-29 | 1.01,1.02,2.03,9.01 | 0001628280-26-063820 |
| AAPL | 4 | 2026-10-22 | 0001140361-26-040540 | |
| AAPL | 4 | 2026-10-19 | 0001140361-26-040127 |
The first row in full:
{"type": "filing","ticker": "TSLA","cik": "0001318605","company": "Tesla, Inc.","change_type": "new","form": "8-K","filing_date": "2026-10-21","report_date": "2026-10-21","accepted_at": "2026-10-22T00:41:42.000Z","accession_number": "0001628280-26-066738","items": "2.02,9.01","description": "8-K","url": "https://www.sec.gov/Archives/edgar/data/1318605/000162828026066738/tsla-20261021.htm","checked_at": "2026-10-23T03:50:27.167Z"}
And Apple's company row from the same run:
{"type": "company","ticker": "AAPL","status": "ok","error": null,"cik": "0000320193","name": "Apple Inc.","is_baseline": false,"previous_checked_at": "2026-09-29T08:36:23.200Z","filings_seen": 705,"new_filings": 10,"filings_pending": 6,"checked_at": "2026-10-23T03:50:27.165Z"}
Your first run is a baseline. It returns the newest Max filings per
company filings of your form types as change_type: "baseline" rows and
remembers them; from the second run of the same list you get only filings you
have not received yet, marked new (one delivered late, accepted more than a
day before the previous check, is marked baseline).
How to run in 30 seconds
- Click Try for free. The input already holds
AAPLandTSLA, Forms4and8-K, 5 filings each. - Click Start. Our first run of that input took 44 seconds and cost $0.024 (2 companies, 10 baseline filings: Apple's latest Form 4s and Tesla's latest 8-Ks and Form 4).
- Run it again tomorrow: you get only filings made since. Then save it as a task and add a daily schedule.
To watch your own companies, replace the tickers (or use 10-digit CIKs) and pick the form types. Leave Form types empty to watch every form.
Pricing
- $0.002 per company checked (its filings feed was fetched and compared).
- $0.002 per filing returned ($2 per 1,000),
baselineornew. - Free: unknown tickers, invalid entries and failed lookups.
- Examples:
- starting a watch of 25 companies with 10 filings each: 25 × $0.002 + 250 × $0.002 = $0.55 once ($0.10 with Max filings per company at 1);
- Apple and Tesla, Forms 4 and 8-K, daily: $0.004 a run in checks plus the new filings (19 in the 24 days above), about $0.17 a month;
- 100 companies daily: $0.20 a day in checks, about $6 a month, plus $0.002 per new filing.
- Set a maximum total charge and the actor returns only the rows that fit,
saves state for what it returned, stops, and says so in
OUTPUT(stopped_reason: "max_total_charge_reached"). It never charges for a row it did not deliver. (If a run is killed between delivering a company's rows and saving its state, the next run reports those filings again.)
FAQ
How do I get new filings in Slack? Save your list as a task, add a schedule,
and set Webhook URL to a Slack, Zapier or Make endpoint: after each run it
POSTs the summary plus that run's new filing rows (up to 500; up to 3
attempts on network errors, 429 and 5xx). Or attach an
Apify integration to the task's
"run succeeded" event.
Does it parse Form 4 transactions or filing text? No. Rows carry EDGAR's index metadata and a link to the document; the actor does not download or republish filing contents.
Why did a burst of filings arrive over two runs? Each run delivers at most
Max filings per company filings per company, newest first. The rest are
counted in filings_pending and delivered by the next runs, never skipped
while they are in EDGAR's recent-filings window.
I edited my ticker list and everything is baseline again. The default snapshot key comes from the ticker list. Set Snapshot key to a fixed name to keep history when you edit the list.
SC 13D or SCHEDULE 13D? Either: EDGAR renamed the form in December 2024
and the actor treats both names as the same form (likewise 13G). A form also
includes its amendments: 4 returns 4/A too.
Limits
- Only the recent-feed window. The actor reads
filings.recentof each company's submissions feed, roughly the latest 1,000 filings per company (Form 4-heavy companies roll through that fast). Historical filings are never backfilled. - EDGAR's own update cadence applies: a filing accepted minutes ago may not appear until EDGAR publishes it.
- Ticker resolution uses EDGAR's ticker file. A ticker missing from it comes
back
not_found(free); pass the 10-digit CIK instead. Another share class of a company already in the list (BRK-Anext toBRK-B) isduplicate, checked and charged once. - Amendments are separate rows (their own accession numbers). EDGAR filings
are append-only, so there are no
removedrows. newuses a day of slack. EDGAR's acceptance timestamps are Eastern time labelled as UTC, so a never-delivered filing counts asnewunless it was accepted more than a day before the previous check; otherwise it arrives asbaseline.report_dateandaccepted_atcan be empty for some forms; they are thennullrather than guessed.- Polite: at most 4 EDGAR requests per second (their fair-access limit is
10), a declared User-Agent with a contact address, HTTP 429 honoured
(Retry-After up to 60 s, at most 3 retries; a longer wait stops EDGAR requests
for the rest of the run and the remaining companies get free
errorrows), 20 s timeouts. Two companies are fetched at a time, 1 to 2 requests each. - One run at a time per snapshot key. A run that starts while another run with the same key is still going fails immediately, before fetching or charging anything. A crashed run blocks its key for at most 30 minutes. (The lock is best effort: two runs started within the same couple of seconds can, rarely, both proceed, and a filing can then be reported twice.)
- If saved history can't be read, the company is skipped with a free
errorrow rather than re-sent as a paid baseline. If it can't be saved after 3 attempts, the run is marked failed and names the companies.
How the change feed works
- State lives in the named key-value store
secwatch-snapshotsin your account, one record per company (CIK) and snapshot key, holding the accession numbers of every filing already delivered (the newest 5,000). - The first run takes the newest Max filings per company filings of your form types as the baseline. The oldest of them sets the watch's floor: older history is never billed later, even if you widen Form types.
- Later runs take every undelivered filing on or after the floor, newest first,
up to Max filings per company per run; the rest wait in
filings_pending. - If a run hits your charge limit mid-list, only the rows you received are remembered; the rest come back on the next run.
- A run with no new filings still returns one company row per company
(
new_filings: 0), so a quiet run is never mistaken for a broken one.
Input reference
| Field | Default | Notes |
|---|---|---|
tickers | required | Tickers (AAPL, BRK.B) or 10-digit CIKs (0000320193). Up to 1,000 per run. Invalid entries get a free error row; the run continues. |
formTypes | ["4","8-K","10-K","10-Q","SC 13D","SC 13G","S-1"] | Case-insensitive. A form includes its amendments (ask for 8-K/A alone to get only amendments). Empty = all forms. |
maxFilingsPerCompany | 10 | 1 to 1,000. How many of the most recent matched filings to deliver per company per run. |
snapshotKey | derived | Which saved state to compare against. By default derived from the sorted ticker list. Distinct keys always get distinct storage records (sanitised and suffixed with a hash of the original), so watch/a and watch?a never share history. |
webhookUrl | none | Receives the run summary and the new filing rows as a JSON POST. |
contactEmail | operator's | Included in the User-Agent sent to SEC.gov, as their fair-access policy asks. |
Output reference
company rows (type: "company"): ticker, cik, name; status: ok,
not_found, error, invalid or duplicate; is_baseline,
previous_checked_at; filings_seen (filings of your form types in EDGAR's
recent feed), new_filings (found for delivery this run), filings_pending
(found but beyond Max filings per company).
filing rows (type: "filing"): change_type (new or baseline), form,
filing_date, report_date, accepted_at, accession_number, items (8-K
item codes such as 2.02,9.01), description, url (the primary document on
sec.gov), checked_at.
The key-value store record OUTPUT holds totals (filings_returned,
baseline_filings, new_filings, first_run, charged_events,
charge_limit_reached, stopped_reason, dataset_id, webhook_delivered)
and a per-company summary.