# 8-K API — Material Events: CEO Exits, Restatements, M\&A (`smartmoney-data/sec-8k-material-events`) Actor

SEC Form 8-K filings classified by item: CEO and CFO departures, earnings, restatements, auditor changes, M\&A, bankruptcy, delisting and cyber incidents, with the key paragraph from each filing. Any ticker or the whole market. Pay per result.

- **URL**: https://apify.com/smartmoney-data/sec-8k-material-events.md
- **Developed by:** [SmartMoney Data](https://apify.com/smartmoney-data) (community)
- **Categories:** Business, AI, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$4.00 / 1,000 material events

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

## 8-K API — Material Events: CEO Exits, Restatements, M\&A

**Get alerted when a company reports something big: a CFO resigns, earnings are restated, the auditor is fired, a merger closes, or bankruptcy is filed. Classified, with the key paragraph, straight from SEC EDGAR.**

Public companies must file a **Form 8-K** within four business days of any major event. Each 8-K is tagged with one or more *items* that say what happened: 5.02 for an executive or board change, 4.02 for a restatement, 1.03 for bankruptcy, and so on. Reading hundreds of 8-Ks a day to find the few that matter is painful. This Actor gives you each filing as a clean row: what happened, a red-flag marker, and the text under each item heading.

> Part of the **SmartMoney Data** suite: [Insider Trades](https://apify.com/smartmoney-data/sec-insider-trades-tracker) · [Hedge Fund 13F Holdings](https://apify.com/smartmoney-data/sec-13f-hedge-fund-tracker) · [Congress Stock Trades](https://apify.com/smartmoney-data/congress-stock-trades-tracker) · [Form 144 Planned Sales](https://apify.com/smartmoney-data/sec-form-144-planned-insider-sales) · [13D/13G Activist Stakes](https://apify.com/smartmoney-data/sec-13d-13g-activist-stakes) · [8-K Material Events](https://apify.com/smartmoney-data/sec-8k-material-events)

### What you can do with it

- 🚨 **Red-flag alerts:** restatements, auditor changes, impairments, delisting notices, debt acceleration, cyber incidents and bankruptcies across the whole market.
- 👔 **Executive departures:** "CFO resigned" is one of the most-watched signals in investing. Filter to 5.02 filings that mention a resignation or retirement.
- 📅 **Earnings and deals:** earnings releases (2.02), material agreements (1.01), completed acquisitions (2.01).
- 📰 **Newsletters and feeds:** a daily digest of material events for a watchlist, ready to post.
- 🤖 **AI agents:** "Did anything material happen at Boeing this month?" as one tool call, with the paragraphs an LLM needs to summarise it.

### Features

- ✅ **Every 8-K item classified**, with the official item title and a short category
- ✅ **Red-flag marker** for 1.03, 1.05, 2.04, 2.06, 3.01, 4.01 and 4.02
- ✅ **Executive-change hint** for 5.02: departure or appointment, and which roles (CEO, CFO, COO, director…) are mentioned
- ✅ **Text under each item heading**, taken from the filing and cut to a length you choose
- ✅ **Event date** (the "date of earliest event reported") and the exact **SEC acceptance time**
- ✅ **Any ticker, or the latest filings market-wide**
- ✅ Filters for item codes, red flags, executive departures, amendments and exhibit-only filings. **You only pay for rows you keep.**
- ✅ Per-ticker **summary** of event categories, red flags first
- ✅ Link to the official filing and main document on every row

### How to use it

#### Everything material at your watchlist, last 30 days

```json
{ "tickers": ["AAPL", "BA", "INTC"], "lookbackDays": 30 }
```

#### Red flags across the whole market

```json
{ "redFlagsOnly": true, "latestFilingsCount": 100 }
```

#### Executive departures market-wide

```json
{ "items": ["5.02"], "executiveDeparturesOnly": true, "latestFilingsCount": 100 }
```

#### Earnings releases only, item codes only (fast)

```json
{ "tickers": ["NVDA", "MSFT"], "items": ["2.02"], "includeText": false, "lookbackDays": 365 }
```

### Output

One row per 8-K filing. Example (illustrative values):

```json
{
  "ticker": "BA",
  "companyName": "BOEING CO",
  "cik": "0000012927",
  "form": "8-K",
  "isAmendment": false,
  "eventDate": "2026-09-22",
  "filingDate": "2026-09-23",
  "acceptedAt": "2026-09-23T16:30:00.000Z",
  "itemCodes": ["5.02", "9.01"],
  "categories": ["Executive / board change"],
  "headline": "Executive / board change",
  "hasRedFlag": false,
  "executiveChange": { "departure": true, "appointment": true, "roles": ["CFO"] },
  "items": [
    {
      "code": "5.02",
      "title": "Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers; Compensatory Arrangements of Certain Officers",
      "category": "Executive / board change",
      "redFlag": false,
      "text": "On September 22, 2026, Jane Doe notified the Company of her decision to resign as Executive Vice President and Chief Financial Officer…"
    },
    { "code": "9.01", "title": "Financial Statements and Exhibits", "category": "Exhibits", "redFlag": false, "text": "(d) Exhibits. 99.1 Press release…" }
  ],
  "accessionNumber": "0000012927-26-000010",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/12927/000001292726000010/0000012927-26-000010-index.htm",
  "documentUrl": "https://www.sec.gov/Archives/edgar/data/12927/000001292726000010/ba-8k.htm"
}
```

A `SUMMARY` record in the key-value store counts filings, red flags and event categories per ticker.

### Input

| Field | What it does | Default |
|---|---|---|
| `tickers` | Tickers to track. Empty = latest filings market-wide | `[]` |
| `items` | Keep filings with one of these item codes, e.g. `5.02`, `4.02` | `[]` |
| `redFlagsOnly` | Keep only filings with a red-flag item | `false` |
| `executiveDeparturesOnly` | Keep only 5.02 filings that mention a resignation, retirement or termination | `false` |
| `lookbackDays` | Ticker mode: only filings from the last N days | `30` |
| `maxFilingsPerTicker` | Cap per ticker | `50` |
| `latestFilingsCount` | Market-wide mode: how many of the latest 8-Ks to read | `40` |
| `skipExhibitOnly` | Skip 8-Ks whose only item is 9.01 | `true` |
| `includeAmendments` | Include 8-K/A | `true` |
| `includeText` | Download each filing and return the item text | `true` |
| `maxTextChars` | Maximum characters of text per item | `3000` |

### Item codes

| Code | Event | Red flag |
|---|---|---|
| 1.01 / 1.02 | Material agreement entered / terminated | |
| 1.03 | Bankruptcy or receivership | 🚩 |
| 1.05 | Material cybersecurity incident | 🚩 |
| 2.01 | Acquisition or disposition completed | |
| 2.02 | Earnings (results of operations) | |
| 2.03 / 2.04 | New debt obligation / debt acceleration | 🚩 (2.04) |
| 2.05 | Restructuring (exit or disposal costs) | |
| 2.06 | Material impairment | 🚩 |
| 3.01 | Delisting notice or listing transfer | 🚩 |
| 3.02 / 3.03 | Unregistered equity sale / change to shareholder rights | |
| 4.01 | Auditor change | 🚩 |
| 4.02 | Previous financial statements can't be relied on (restatement) | 🚩 |
| 5.01 | Change in control | |
| 5.02 | Director or officer departure, election or appointment | |
| 5.03 | Bylaws or fiscal year change | |
| 5.07 | Shareholder vote results | |
| 7.01 | Regulation FD disclosure | |
| 8.01 | Other events | |
| 9.01 | Financial statements and exhibits | |

### Pricing

Pay per result: you are charged for each filing returned after filters, never for filings that are filtered out. Set a maximum cost per run and the Actor stops cleanly when it is reached.

### FAQ

**How fast is the data?**
The Actor reads EDGAR directly, so a filing is available as soon as the SEC publishes it, usually within minutes of acceptance. Schedule it every 15 minutes in market-wide mode for near-real-time alerts.

**How accurate is the executive-change hint?**
It is a keyword read of the Item 5.02 text: resignation, retirement or termination words, and officer titles. It is meant for filtering and alerts. Read the item text or the filing before acting on it.

**Where does the item text come from?**
From the main 8-K document: the text between each "Item X.XX" heading and the next heading or the signature block. Press releases attached as exhibits are linked from the filing page but not included.

**Is this legal to use?**
Yes. 8-K filings are public records published by the SEC. The Actor follows the SEC's fair-access rules: rate-limited, identified with a User-Agent.

### Related Actors

- 👔 [SEC Insider Trades Tracker](https://apify.com/smartmoney-data/sec-insider-trades-tracker): Form 4 buys and sells by CEOs and directors.
- 🚨 [Form 144 Planned Insider Sales](https://apify.com/smartmoney-data/sec-form-144-planned-insider-sales): executives and directors who have filed to sell, before the sale happens.
- 🎯 [13D & 13G Activist Stakes](https://apify.com/smartmoney-data/sec-13d-13g-activist-stakes): activist funds and 5%+ owners, with their stated purpose.
- 🏦 [Hedge Fund 13F Holdings Tracker](https://apify.com/smartmoney-data/sec-13f-hedge-fund-tracker): what Berkshire, Pershing Square & co. bought and sold last quarter.
- 🏛️ [Congress Stock Trades Tracker](https://apify.com/smartmoney-data/congress-stock-trades-tracker): stock trades by US Senators and Representatives.

### Support

Found a bug or need a feature? Open an issue on the **Issues** tab or email **smartmoney-data@googlegroups.com**. We usually reply within a day.

*Data is provided for informational purposes only and is not investment advice.*

# Actor input Schema

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

US stock tickers to track (e.g. AAPL, BA). Leave empty to pull the latest 8-K filings market-wide.

## `items` (type: `array`):

Keep only filings with one of these items, e.g. 5.02 (executive/board changes), 4.02 (restatement), 4.01 (auditor change), 2.02 (earnings), 1.01 (material agreement), 2.01 (M\&A), 1.03 (bankruptcy), 1.05 (cyber incident). Leave empty for all.

## `redFlagsOnly` (type: `boolean`):

Keep only filings with a warning-sign item: bankruptcy (1.03), cyber incident (1.05), debt acceleration (2.04), impairment (2.06), delisting notice (3.01), auditor change (4.01) or restatement (4.02).

## `executiveDeparturesOnly` (type: `boolean`):

Keep only Item 5.02 filings whose text mentions a resignation, retirement or termination. Keyword-based.

## `lookbackDays` (type: `integer`):

Only include filings made within this many days (ticker mode).

## `maxFilingsPerTicker` (type: `integer`):

Upper bound on 8-K filings read for each ticker.

## `latestFilingsCount` (type: `integer`):

When no tickers are given, how many of the most recent 8-K filings on EDGAR to read.

## `skipExhibitOnly` (type: `boolean`):

Skip 8-Ks whose only item is 9.01 (financial statements and exhibits).

## `includeAmendments` (type: `boolean`):

Also return amended 8-Ks, which often add details such as final terms or an auditor's letter.

## `includeText` (type: `boolean`):

Download each filing and return the text under every item heading. Turn off for faster runs with item codes only.

## `maxTextChars` (type: `integer`):

Item text is cut to this length.

## `secUserAgent` (type: `string`):

The SEC asks automated clients to identify themselves as 'Company Name email@domain.com'. Put your own contact here for heavy use.

## Actor input object example

```json
{
  "tickers": [
    "AAPL",
    "BA",
    "INTC"
  ],
  "items": [],
  "redFlagsOnly": false,
  "executiveDeparturesOnly": false,
  "lookbackDays": 30,
  "maxFilingsPerTicker": 50,
  "latestFilingsCount": 40,
  "skipExhibitOnly": true,
  "includeAmendments": true,
  "includeText": true,
  "maxTextChars": 3000,
  "secUserAgent": "SmartMoney Data 8-K Events smartmoney-data@googlegroups.com"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (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": [
        "AAPL",
        "BA",
        "INTC"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("smartmoney-data/sec-8k-material-events").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": [
        "AAPL",
        "BA",
        "INTC",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("smartmoney-data/sec-8k-material-events").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": [
    "AAPL",
    "BA",
    "INTC"
  ]
}' |
apify call smartmoney-data/sec-8k-material-events --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,smartmoney-data/sec-8k-material-events"
        }
    }
}
```

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/AF60apoXyKeN7Pboy/builds/q9y40h1C5bmuuWNRC/openapi.json
