# SEC EDGAR Insider Trading & Whales Tracker (`lepone31/sec-edgar-insider-trading`) Actor

Live CEO, CFO & Director insider stock purchases (Form 4), breaking material 8-K filings and hedge fund whale holdings across 10,000+ US public companies (NVDA, TSLA, AAPL).

- **URL**: https://apify.com/lepone31/sec-edgar-insider-trading.md
- **Developed by:** [Cedric poma](https://apify.com/lepone31) (community)
- **Categories:** Business, AI, Automation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 sec filing or insider trades

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 📈 SEC EDGAR Insider Trading & Whale Filings Tracker

> Real-time monitoring of CEO, CFO and Director insider stock transactions (Form 4), breaking material 8-K reports, and institutional whale holdings (Form 13F) across 10,000+ US public companies (NVDA, TSLA, AAPL, PLTR, MSTR).

***

### ⚡ What Does This Actor Do?

Corporate insiders (CEOs, Founders, Directors, and 10% owners) have the most intimate knowledge of their company's future trajectory. Whenever they buy or sell company stock, U.S. federal law mandates they file a **Form 4** with the SEC within two business days.

This Actor monitors the official U.S. Securities and Exchange Commission (SEC EDGAR) database and provides:

- **Automated Ticker to CIK Resolution**: Enter any US stock ticker (`NVDA`, `TSLA`, `AAPL`, `PLTR`, `MSFT`, `MSTR`) without needing to look up SEC CIK numbers.
- **Granular Form 4 Transaction Details**:
  - Executive name and title (e.g. *Chief Executive Officer*, *Chief Financial Officer*, *Board Director*).
  - Direct market **Purchases (Code P)** vs. **Sales (Code S)** vs. Grants & Option exercises.
  - Number of shares transacted, execution price per share, and **total transaction value in USD ($)**.
  - Direct vs. Indirect beneficial ownership (Trusts, Family LLCs).
  - Remaining share count owned post-transaction.
- **Institutional Whale & Material Filings**:
  - **Form 8-K**: Unscheduled material events, M\&A announcements, executive departures, earnings surprises.
  - **Form 13F-HR**: Institutional investment manager portfolio holdings.
  - **Form 10-K & 10-Q**: Annual and quarterly financial statements.
- **Aggregated Insider Sentiment Summary**: Computes net buy/sell volume ($) and classifies corporate insider sentiment as `BULLISH`, `BEARISH`, or `NEUTRAL`.

***

### 💡 Top Use Cases

1. **Quantitative Trading & Algorithmic Signals**: Incorporate executive buy clusters into trading algorithms (officer cluster buying is historically one of the most reliable bullish signals in equities).
2. **Hedge Fund & Family Office Due Diligence**: Monitor key insider sentiment and significant stock divestitures across portfolio companies.
3. **Automated Discord / Telegram / Slack Trading Bots**: Connect this Actor via Make, Zapier, or n8n to send instant alerts whenever an executive buys more than $100,000 of company stock.
4. **M\&A and Executive Transition Tracking**: Spot unexpected resignations or material corporate shifts via instant Form 8-K parsing.

***

### 📥 Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `tickers` | Array of Strings | `["NVDA", "TSLA", "AAPL", "PLTR"]` | Stock tickers to track. Supports 10,000+ NYSE, NASDAQ & AMEX equities. |
| `ciks` | Array of Strings | `[]` | Optional direct SEC CIK numbers (e.g. `0001045810`). |
| `formTypes` | Array of Strings | `["4", "8-K"]` | Filing forms to extract: `4` (Insider Trades), `8-K` (Breaking News), `13F-HR` (Whales), `10-Q`, `10-K`. |
| `transactionType` | String | `"ALL"` | Filter transactions: `"ALL"`, `"BUY_ONLY"` (bullish executive buys), or `"SELL_ONLY"`. |
| `minTransactionValue` | Number | `0` | Minimum USD transaction value to filter noise (e.g. `50000` for $50k+). |
| `daysBack` | Integer | `90` | Lookback period in days (e.g. `30`, `90`, `365`). |
| `maxFilingsPerCompany` | Integer | `30` | Maximum recent filings to examine per ticker. |
| `includeSummary` | Boolean | `true` | Include an aggregate `insiderSentimentSummary` record with net USD volume. |

***

### 📤 Output Format

#### 1. Insider Transaction Record (`insiderTrade`)

```json
{
  "recordType": "insiderTrade",
  "ticker": "NVDA",
  "companyName": "NVIDIA CORP",
  "cik": "0001045810",
  "form": "4",
  "filingDate": "2026-10-09",
  "transactionDate": "2026-10-07",
  "insiderName": "COXE TENCH",
  "insiderCik": "0001197647",
  "isOfficer": false,
  "isDirector": true,
  "isTenPercentOwner": false,
  "officerTitle": null,
  "securityTitle": "Common Stock",
  "transactionCode": "P",
  "transactionCodeDescription": "Open market or private purchase",
  "transactionType": "BUY",
  "acquiredDisposed": "A",
  "shares": 50000.0,
  "pricePerShare": 125.50,
  "totalValueUsd": 6275000.0,
  "sharesOwnedFollowingTransaction": 23671360.0,
  "directOrIndirect": "D",
  "accessionNumber": "0001197647-26-000011",
  "secDocumentUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000119764726000011/0001197647-26-000011.txt"
}
```

#### 2. Aggregated Sentiment Summary Record (`insiderSentimentSummary`)

```json
{
  "recordType": "insiderSentimentSummary",
  "tickersAnalyzed": ["NVDA", "TSLA", "AAPL", "PLTR"],
  "totalRecordsScraped": 42,
  "totalInsiderTrades": 38,
  "totalStandardFilings": 4,
  "insiderMetrics": {
    "totalBuyValueUsd": 18450000.0,
    "totalSellValueUsd": 4210000.0,
    "netValueUsd": 14240000.0,
    "buyCount": 8,
    "sellCount": 30,
    "officerAndDirectorBuys": 6,
    "netInsiderSentiment": "BULLISH"
  },
  "topInsiderPurchases": [
    {
      "ticker": "NVDA",
      "insider": "COXE TENCH",
      "title": "Director",
      "valueUsd": 6275000.0,
      "shares": 50000.0,
      "date": "2026-10-07"
    }
  ],
  "scrapedAt": "2026-11-02T19:00:00Z"
}
```

***

### 💰 Transparent Pay-Per-Event Pricing

- **$0.0050 per qualified SEC filing / Form 4 transaction**.
- **Free Overview Summary**: The aggregated sentiment summary metric record is included at no additional event charge.
- **Zero Infrastructure Overhead**: Runs in 1-3 seconds with minimal compute costs.

# Actor input Schema

## `tickers` (type: `array`):

List of stock ticker symbols to track (e.g. 'NVDA', 'TSLA', 'AAPL', 'GOOGL', 'META', 'PLTR', 'MSFT', 'AMZN').

## `ciks` (type: `array`):

Optional SEC Central Index Key numbers (e.g. '0001045810' for NVDA). Useful for private funds, institutional whales or specific reporting entities.

## `formTypes` (type: `array`):

Types of filings to extract: '4' (Insider Buys/Sells), '8-K' (Breaking Material Events), '13F-HR' (Institutional Whale Holdings), '10-Q' (Quarterly Report), '10-K' (Annual Report).

## `transactionType` (type: `string`):

Filter insider transactions: 'ALL' (Buys, Sells, Gifts, Grants), 'BUY_ONLY' (Open market direct purchases by executives), 'SELL_ONLY' (Insider sales).

## `minTransactionValue` (type: `number`):

Ignore small noise transactions below this dollar value (e.g. 50000 for $50k+ only, 1000000 for $1M+ whale transactions).

## `maxFilingsPerCompany` (type: `integer`):

Maximum number of recent filings to inspect per company (1 to 200).

## `daysBack` (type: `integer`):

Only include filings published within the last N days (e.g. 30, 90, 180, 365).

## `includeSummary` (type: `boolean`):

Whether to output an aggregated 'insiderSentimentSummary' record with total buy/sell USD volume and net insider sentiment.

## `customUserAgent` (type: `string`):

Custom compliance User-Agent for SEC EDGAR API (format: 'YourOrg admin@domain.com'). Default compliant User-Agent is provided.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. SEC EDGAR API is open to public requests with a valid User-Agent, so proxies are usually not required.

## Actor input object example

```json
{
  "tickers": [
    "NVDA",
    "TSLA",
    "AAPL",
    "GOOGL",
    "META",
    "PLTR"
  ],
  "ciks": [],
  "formTypes": [
    "4",
    "8-K"
  ],
  "transactionType": "ALL",
  "minTransactionValue": 0,
  "maxFilingsPerCompany": 30,
  "daysBack": 90,
  "includeSummary": true
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "tickers": [
        "NVDA",
        "TSLA",
        "AAPL",
        "GOOGL",
        "META",
        "PLTR"
    ],
    "formTypes": [
        "4",
        "8-K"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lepone31/sec-edgar-insider-trading").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 = {
    "tickers": [
        "NVDA",
        "TSLA",
        "AAPL",
        "GOOGL",
        "META",
        "PLTR",
    ],
    "formTypes": [
        "4",
        "8-K",
    ],
}

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

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

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

```

## CLI example

```bash
echo '{
  "tickers": [
    "NVDA",
    "TSLA",
    "AAPL",
    "GOOGL",
    "META",
    "PLTR"
  ],
  "formTypes": [
    "4",
    "8-K"
  ]
}' |
apify call lepone31/sec-edgar-insider-trading --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lepone31/sec-edgar-insider-trading"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6SJVTZ9MgQohZZtN6/builds/XHiwYrJYNNhUQCQFI/openapi.json
