# SEC Filings Monitor: 8-K, 10-K and S-1 Alerts (`veridra/sec-filings-monitor`) Actor

New SEC EDGAR filings by form type, ticker, CIK or 8-K item (cybersecurity incidents, earnings, officer changes and more), with industry, state and filing links. Schedule it for a feed of only new filings.

- **URL**: https://apify.com/veridra/sec-filings-monitor.md
- **Developed by:** [Veridra Computer Technology](https://apify.com/veridra) (community)
- **Categories:** Business, Developer tools, News
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### What does SEC Filings Monitor do?

**SEC Filings Monitor** returns new filings from **SEC EDGAR** as they are published: 8-K current reports, 10-K and 10-Q reports, S-1 and F-1 registrations, proxy statements, late-filing notices, deregistrations and delistings. Filter by form, ticker, CIK, company name or **8-K item** (for example 1.05, a material cybersecurity incident), and get each filing's items, period, industry, state of incorporation, business address and a link to EDGAR. Schedule it with **Only new results** for a clean feed of new filings.

It collects data from **[US Securities and Exchange Commission (SEC) EDGAR](https://www.sec.gov/search-filings/edgar-application-programming-interfaces)** and returns clean, structured results you can download or pull through the **Apify API**.

### Why use SEC Filings Monitor?

- **Investors and analysts:** follow the companies you hold or cover and see earnings releases (8-K item 2.02), guidance and material agreements the day they are filed.
- **Risk, compliance and security teams:** watch for 8-K item 1.05 cybersecurity incidents, auditor changes (4.01), restatements (4.02) and delisting notices across all companies or your vendors.
- **Deal, IPO and capital markets watchers:** a daily list of new S-1, F-1 and 424B4 filings, mergers (S-4) and going-private steps.
- **Journalists and researchers:** officer and director changes (5.02), shareholder votes (5.07) and late-filing notices (NT 10-K) as a structured feed.
- **AI agents:** structured filing metadata with links to the official documents, billed per filing.
- Runs on the Apify platform: schedule runs, call it through the API, connect it to integrations, and get notified when a run fails.

### What data can SEC Filings Monitor extract?

| Field | Type | Description |
| --- | --- | --- |
| `accessionNumber` | string | EDGAR accession number, unique per filing. |
| `formType` | string | The form filed, for example 8-K or 10-Q. |
| `companyName` | string | The filer's name as listed by EDGAR. |
| `cik` | string | The company's SEC Central Index Key. |
| `tickers` | array | The company's tickers, from the SEC's ticker list. Empty for companies without listed stock. |
| `filedDate` | string | Date filed with the SEC (YYYY-MM-DD). |
| `acceptedAt` | string | When EDGAR accepted the filing (US Eastern time, YYYY-MM-DDTHH:MM:SS). |
| `periodOfReport` | string | The period or event date the filing reports on (YYYY-MM-DD). |
| `items` | array | For 8-Ks: each item reported, with its number when recognized. |
| `itemCodes` | array | For 8-Ks: the item numbers reported. |
| `industry` | string | The company's industry (SEC SIC description). Empty when only the filing's short header file could be read; industryCode is still filled. |
| `industryCode` | string | The company's SIC code. |
| `stateOfIncorporation` | string | Where the company is incorporated (state or country code). |
| `fiscalYearEnd` | string | Fiscal year end (MMDD). |
| `businessCity` | string | City of the company's business address. |
| `businessState` | string | State or country code of the company's business address. |
| `businessPhone` | string | The company's business phone number as filed. |
| `filingUrl` | string | The filing on SEC EDGAR. |
| `sourceUrl` | string | The EDGAR file this record was read from. |
| `scrapedAt` | string | When this result was collected (UTC, ISO 8601). |

### How to use SEC Filings Monitor

1. Open the actor and select **Try for free**.
2. Fill in **Form types**, **Tickers**. The prefilled example works as a first test.
3. Set **Maximum results** to control how much data, and cost, a run produces.
4. Select **Start** and wait for the run to finish.
5. Download the results as JSON, CSV, Excel or HTML, or fetch them through the API.

### How much does it cost to use SEC Filings Monitor?

You pay per result: **$5.00 per 1,000 results** ($0.005 each), plus Apify's small start fee of $0.0001 per run. For example, 1,000 results cost about $5.00. You can set a maximum cost per run in the run options, and the actor stops cleanly when it is reached.

Subscribers to Apify's paid plans pay less per result: 10% off on Bronze, 20% off on Silver and 30% off on Gold and higher plans.

### Get only new results

Turn on **Only new results** and schedule the actor (for example daily) to use it as a monitor: each run skips what earlier runs already returned, so you get a feed of new records and pay only for those. The first run returns everything that matches. The memory lives in your own Apify account; give runs the same **Monitor name** to share it when you change other inputs.

### Use it from AI agents

AI agents can find and run SEC Filings Monitor as a tool through Apify's MCP server (mcp.apify.com) or the Apify API, and get the same structured results, billed per result. Without code, Apify's Zapier, Make and n8n integrations can start it and send each new result to a sheet, CRM or chat.

### Input

See the **Input** tab for every option. The main fields:

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `formTypes` | array | \["8-K"] | Which filings to return. Ownership and insider forms (3, 4, 5, 144, 13D, 13G) are not offered: their filers are often individuals. |
| `tickers` | array | \[] | Only filings by these companies, for example AAPL, MSFT. Leave empty for every company. |
| `ciks` | array | \[] | Only filings by these SEC Central Index Keys, for companies without a ticker. |
| `companyNameContains` | string | "" | Only companies whose name contains this text. |
| `itemCodes` | array | \[] | Only 8-Ks reporting one of these items, for example 1.05 (material cybersecurity incident), 2.02 (results), 5.02 (officer or director changes), 1.01 (material agreement), 2.01 (acquisition), 4.01 (auditor change). Write them as 5.02 or Item 5.02. Only 8-Ks are filtered by item; other chosen forms come through in full. Leave empty for all. |
| `daysBack` | integer | 3 | Calendar days back from Filed until (or from today when it is empty). Weekends and market holidays have no EDGAR index and are skipped; each day's index appears in the evening. Ignored when Filed from is set. |
| `dateFrom` | string | "" | Only filings on or after this date (YYYY-MM-DD). Leave empty to use Days back. |
| `dateTo` | string | "" | Only filings on or before this date (YYYY-MM-DD). Leave empty for today. |
| `includeAmendments` | boolean | false | Also return amended filings (8-K/A, 10-K/A and so on). |
| `includeDetails` | boolean | true | Read each filing's header for 8-K items, period, acceptance time, industry, state of incorporation and business address. One extra request per filing; turned on automatically when 8-K items are chosen. |
| `maxResults` | integer | 1000 | Stop after this many results. Each result costs $0.005, so this also caps the cost of a run. Use 0 for no limit. Keep it low for a first test. |
| `onlyNew` | boolean | false | Monitoring mode: skip results this monitor returned in earlier runs, so a scheduled run returns, and bills, only what is new. The first run returns everything that matches. |
| `monitorName` | string | "" | Runs with the same name share one memory of returned results, even if you change other inputs. Leave empty to keep a separate memory for each distinct input. |

Example input:

```json
{
  "formTypes": [
    "8-K"
  ],
  "daysBack": 5,
  "maxResults": 20
}
```

### Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Example items:

```json
[
  {
    "accessionNumber": "0001005229-26-000059",
    "formType": "8-K",
    "companyName": "COLUMBUS MCKINNON CORP",
    "cik": "1005229",
    "tickers": [
      "CMCO"
    ],
    "filedDate": "2026-10-26",
    "acceptedAt": "2026-10-26T16:41:40",
    "periodOfReport": "2026-10-26",
    "items": [
      "8.01 Other Events",
      "9.01 Financial Statements and Exhibits"
    ],
    "itemCodes": [
      "8.01",
      "9.01"
    ],
    "industry": "CONSTRUCTION MACHINERY & EQUIP",
    "industryCode": "3531",
    "stateOfIncorporation": "NY",
    "fiscalYearEnd": "0331",
    "businessCity": "CHARLOTTE",
    "businessState": "NC",
    "businessPhone": "7166895400",
    "filingUrl": "https://www.sec.gov/Archives/edgar/data/1005229/000100522926000059/0001005229-26-000059-index.htm",
    "sourceUrl": "https://www.sec.gov/Archives/edgar/data/1005229/000100522926000059/0001005229-26-000059-index-headers.html",
    "scrapedAt": "2026-10-27T04:22:25+00:00"
  },
  {
    "accessionNumber": "0001104659-26-118641",
    "formType": "8-K",
    "companyName": "Capstone Energy Plus, Inc.",
    "cik": "1009759",
    "tickers": [
      "CEPL"
    ],
    "filedDate": "2026-10-26",
    "acceptedAt": "2026-10-26T09:02:16",
    "periodOfReport": "2026-10-26",
    "items": [
      "5.02 Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers",
      "7.01 Regulation FD Disclosure",
      "9.01 Financial Statements and Exhibits"
    ],
    "itemCodes": [
      "5.02",
      "7.01",
      "9.01"
    ],
    "industry": "ENGINES & TURBINES",
    "industryCode": "3510",
    "stateOfIncorporation": "DE",
    "fiscalYearEnd": "0331",
    "businessCity": "VAN NUYS",
    "businessState": "CA",
    "businessPhone": "818-734-5300",
    "filingUrl": "https://www.sec.gov/Archives/edgar/data/1009759/000110465926118641/0001104659-26-118641-index.htm",
    "sourceUrl": "https://www.sec.gov/Archives/edgar/data/1009759/000110465926118641/0001104659-26-118641-index-headers.html",
    "scrapedAt": "2026-10-27T04:22:25+00:00"
  }
]
```

### Tips

- For a watchlist, enter tickers and choose 8-K, 10-K and 10-Q: a daily run with Only new results returns each new filing once.
- To watch one kind of event across the market, choose 8-K and enter item codes, for example 1.05 or 4.02. Item filters read every 8-K's header, so allow a few minutes for long date ranges.
- Turn Include filing details off for the fastest run when you only need the list of filings.
- EDGAR publishes each business day's index in the evening US Eastern time; a schedule in the morning (UTC) catches the full previous day.
- Schedule the actor to keep a dataset fresh, and use the API or integrations to send new results where you need them.

### FAQ, disclaimers, and support

#### Where does the data come from?

From US Securities and Exchange Commission (SEC) EDGAR (www.sec.gov). Data is used under: SEC EDGAR filings are public records published by the US Government (17 U.S.C. 105) for free access; automated access is allowed within SEC's fair-access limit of 10 requests per second. See the source's terms: https://www.sec.gov/os/accessing-edgar-data

#### Is it legal to use this data?

This actor only collects publicly available data from US Securities and Exchange Commission (SEC) EDGAR and does not collect personal data about private individuals. Check that your use complies with the source's terms and the laws that apply to you. This actor is not affiliated with or endorsed by US Securities and Exchange Commission (SEC) EDGAR.

#### Which forms are covered?

Company filings: 8-K, 10-K, 10-Q, 20-F, 40-F, 6-K, S-1, S-3, S-4, S-8, F-1, F-3, 424B4, proxy statements (DEF 14A, DEFA14A, PRE 14A), 10-12B, 8-A12B, NT 10-K, NT 10-Q, 15-12G, 25-NSE, Regulation A (1-A) and crowdfunding (C) offerings, with their amendments on request. Ownership and insider filings (Forms 3, 4, 5, 144, Schedules 13D and 13G) are left out because their filers are often individuals.

#### How fresh is the data?

EDGAR publishes each business day's index in the evening US Eastern time, so a run returns filings up to the previous business day, often the same day.

#### Does it return the filing text?

No. It returns each filing's metadata and header details with a link to the filing on EDGAR, where the documents and exhibits are.

#### Is this data free to reuse?

Yes. SEC EDGAR filings are public records published by the US Government. The actor stays within the SEC's fair-access limit of 10 requests per second.

#### Which days does a run cover?

Business days only: EDGAR publishes no index for weekends and market holidays, and a day's index appears in the evening (US Eastern time), so today is empty until then. The log names every day skipped. If the SEC rate-limits the run, it stops with that reason instead of skipping days, so a scheduled run with Only new results picks them up next time.

#### Can I watch a company that co-files with others?

Yes. Filters by CIK, ticker or name match every company listed on a filing, including co-registrants, and the result names the company that matched. CIKs can be written as 320193 or CIK0000320193.

#### Something is not working

Open an issue in the **Issues** tab with your run link and we will look at it. For programmatic access, see the **API** tab.

# Changelog

This Actor's version history is a separate document: https://apify.com/veridra/sec-filings-monitor/changelog.md

# Actor input Schema

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

Which filings to return. Ownership and insider forms (3, 4, 5, 144, 13D, 13G) are not offered: their filers are often individuals.

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

Only filings by these companies, for example AAPL, MSFT. Leave empty for every company.

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

Only filings by these SEC Central Index Keys, for companies without a ticker.

## `companyNameContains` (type: `string`):

Only companies whose name contains this text.

## `itemCodes` (type: `array`):

Only 8-Ks reporting one of these items, for example 1.05 (material cybersecurity incident), 2.02 (results), 5.02 (officer or director changes), 1.01 (material agreement), 2.01 (acquisition), 4.01 (auditor change). Write them as 5.02 or Item 5.02. Only 8-Ks are filtered by item; other chosen forms come through in full. Leave empty for all.

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

Calendar days back from Filed until (or from today when it is empty). Weekends and market holidays have no EDGAR index and are skipped; each day's index appears in the evening. Ignored when Filed from is set.

## `dateFrom` (type: `string`):

Only filings on or after this date (YYYY-MM-DD). Leave empty to use Days back.

## `dateTo` (type: `string`):

Only filings on or before this date (YYYY-MM-DD). Leave empty for today.

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

Also return amended filings (8-K/A, 10-K/A and so on).

## `includeDetails` (type: `boolean`):

Read each filing's header for 8-K items, period, acceptance time, industry, state of incorporation and business address. One extra request per filing; turned on automatically when 8-K items are chosen.

## `maxResults` (type: `integer`):

Stop after this many results. Each result costs $0.005, so this also caps the cost of a run. Use 0 for no limit. Keep it low for a first test.

## `onlyNew` (type: `boolean`):

Monitoring mode: skip results this monitor returned in earlier runs, so a scheduled run returns, and bills, only what is new. The first run returns everything that matches.

## `monitorName` (type: `string`):

Runs with the same name share one memory of returned results, even if you change other inputs. Leave empty to keep a separate memory for each distinct input.

## Actor input object example

```json
{
  "formTypes": [
    "8-K"
  ],
  "tickers": [],
  "ciks": [],
  "companyNameContains": "",
  "itemCodes": [],
  "daysBack": 5,
  "dateFrom": "",
  "dateTo": "",
  "includeAmendments": false,
  "includeDetails": true,
  "maxResults": 20,
  "onlyNew": false,
  "monitorName": ""
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing all results

# 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 = {
    "formTypes": [
        "8-K"
    ],
    "daysBack": 5,
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("veridra/sec-filings-monitor").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 = {
    "formTypes": ["8-K"],
    "daysBack": 5,
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("veridra/sec-filings-monitor").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 '{
  "formTypes": [
    "8-K"
  ],
  "daysBack": 5,
  "maxResults": 20
}' |
apify call veridra/sec-filings-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,veridra/sec-filings-monitor"
        }
    }
}
```

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/LOfhkhtkSy6bYvSf8/builds/oKJMnPlGal9z3x33U/openapi.json
