# SEC EDGAR Insider Trading & 8-K Alert Monitor (`cancap/sec-edgar-insider-alerts`) Actor

Monitor SEC EDGAR for Form 4 insider trades and 8-K material events. Watch specific tickers or all US companies. No auth, no proxies — official SEC government data only.

- **URL**: https://apify.com/cancap/sec-edgar-insider-alerts.md
- **Developed by:** [CANCAP](https://apify.com/cancap) (community)
- **Categories:** Other
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## SEC EDGAR Insider Trading & 8-K Alert Monitor

Monitor SEC EDGAR for **Form 4 insider trades** (buy/sell transactions by executives, directors, and large shareholders) and **Form 8-K material events** (M\&A, earnings, CFO departures, bankruptcy, and more).

- ✅ **Watch specific tickers** — AAPL, TSLA, MSFT, etc.
- ✅ **Firehose mode** — latest filings across *all* public US companies
- ✅ **Minimum value filter** — skip noise, surface only significant insider moves
- ✅ **Zero auth / no proxies needed** — uses the official SEC EDGAR JSON & Atom APIs
- ✅ **SEC fair-access compliant** — rate-limited, identifies your contact as required by SEC policy

***

### What it outputs

#### Form 4 rows (one row per transaction)

| Field | Example |
|---|---|
| `ticker` | `AAPL` |
| `issuerName` | `Apple Inc.` |
| `insiderName` | `COOK TIMOTHY D` |
| `insiderRole` | `Chief Executive Officer / Director` |
| `transactionDate` | `2026-06-10` |
| `transactionType` | `Open market sale` |
| `shares` | `75000` |
| `pricePerShare` | `205.32` |
| `totalValue` | `15399000` |
| `acquiredOrDisposed` | `Disposed` |
| `sharesOwnedAfterTransaction` | `3185000` |
| `ownershipType` | `Direct` |
| `isDerivative` | `false` |
| `filingDate` | `2026-06-20` |
| `documentUrl` | *(direct link to the SEC filing XML)* |
| `filingIndexUrl` | *(SEC filing index page)* |

#### 8-K rows (one row per filing)

| Field | Example |
|---|---|
| `companyName` | `Apple Inc.` |
| `filingDate` | `2026-06-18` |
| `itemsSummary` | `2.02 (Results of operations...); 5.02 (Departure/election of directors...)` |
| `items` | `[{ code: "2.02", label: "..." }, ...]` |
| `documentUrl` | *(direct link to the 8-K .htm file)* |
| `filingIndexUrl` | *(SEC filing index page)* |

***

### Input options

| Field | Type | Default | Description |
|---|---|---|---|
| `userAgentContact` | string | **required** | Your name/company + email, e.g. `"MyApp contact@example.com"`. Sent as the `User-Agent` header — required by SEC fair access policy. |
| `tickers` | string\[] | `[]` | Tickers to monitor. Leave empty for firehose mode (all companies). |
| `formTypes` | `"4"` / `"8-K"` | `["4","8-K"]` | Which filing types to watch. |
| `lookbackDays` | integer | `7` | How many days back to look. Only applies in ticker mode. Min 1, max 90. |
| `minTransactionValue` | integer | `0` | Skip Form 4 transactions below this USD value. Set to e.g. `100000` to surface significant moves only. |
| `maxItemsPerCompany` | integer | `50` | Cap on filings per ticker. |
| `maxLatestFilings` | integer | `50` | Cap on filings in firehose mode (max 100). |

***

### Quickstart

#### Ticker mode — watch a handful of companies

```json
{
  "tickers": ["AAPL", "MSFT", "NVDA", "TSLA"],
  "formTypes": ["4"],
  "lookbackDays": 7,
  "minTransactionValue": 100000,
  "userAgentContact": "YourName contact@yourdomain.com"
}
```

#### Firehose mode — every Form 4 filing across all of US public markets

```json
{
  "tickers": [],
  "formTypes": ["4"],
  "maxLatestFilings": 100,
  "minTransactionValue": 1000000,
  "userAgentContact": "YourName contact@yourdomain.com"
}
```

#### 8-K material event monitor for a watchlist

```json
{
  "tickers": ["META", "AMZN", "GOOGL"],
  "formTypes": ["8-K"],
  "lookbackDays": 3,
  "userAgentContact": "YourName contact@yourdomain.com"
}
```

***

### Scheduling tips

Run this on a **daily or hourly schedule** via Apify's built-in scheduler to get fresh insider trading signals as soon as they hit EDGAR. Combine with a webhook to push results to Slack, Google Sheets, or your own database.

***

### Data source & legal

All data is sourced from [SEC EDGAR](https://www.sec.gov/cgi-bin/browse-edgar), the official US government repository of public company filings. This data is in the public domain. This actor does not scrape any third-party paid data source and complies fully with SEC's [fair access policy](https://www.sec.gov/os/accessing-edgar-data).

***

### Limitations

- **Form 4 parsing** covers standard non-derivative and derivative transactions. Unusual formats (paper filings scanned as PDFs, legacy HTML submissions) fall back to metadata-only output rows with `ok: false` and a direct link so you can check manually.
- **8-K item detection** is best-effort text extraction. It correctly identifies Item codes in the vast majority of modern EDGAR HTML filings. Non-standard or inline XBRL filings may produce empty `items` arrays; the `documentUrl` link is always included.
- **Firehose mode** depends on SEC's `getcurrent` Atom feed, which is updated in near-real-time but not officially guaranteed to list every filing within any specific SLA.

## Actor input object example

```json
{}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("cancap/sec-edgar-insider-alerts").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("cancap/sec-edgar-insider-alerts").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call cancap/sec-edgar-insider-alerts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=cancap/sec-edgar-insider-alerts",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ezGg3C4bmywWAqkNf/builds/G60yHB44vWNweq9b9/openapi.json
