# SEC Filing Monitor (`vanheelsing/sec-filing-monitor`) Actor

Monitor SEC filings for new 10-K, 10-Q, and other disclosure signals. Export matched filings for investor, compliance, and competitive-intelligence workflows.

- **URL**: https://apify.com/vanheelsing/sec-filing-monitor.md
- **Developed by:** [Rodolfo Martins](https://apify.com/vanheelsing) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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.

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 Filing Monitor

Monitor official SEC EDGAR filings for selected public companies. Get structured, deduplicated filing records for compliance, investor research, competitive intelligence, and disclosure alerts—without scraping generic web pages.

### What it does

- Resolves ticker symbols to SEC CIKs.
- Reads the official SEC submissions feed.
- Filters filings by form, recency, and optional keywords.
- Returns canonical EDGAR document links ready for downstream automation.

### Quick start

1. Enter one or more ticker symbols, such as `AAPL` or `MSFT`.
2. Choose the filing forms to monitor.
3. Set the lookback period and maximum results.
4. Run once, or save the configuration as an Apify Task for scheduled monitoring.

### Example input

```json
{
  "tickers": ["AAPL", "MSFT"],
  "forms": ["10-K", "10-Q", "8-K"],
  "keywords": ["acquisition", "material agreement"],
  "lookback_days": 30,
  "max_items": 100
}
```

### Output

Each dataset item is one official filing and includes:

| Field | Description |
| --- | --- |
| `company_name`, `cik` | SEC registrant identity |
| `form`, `filing_date`, `report_date` | Filing classification and dates |
| `accession_number` | SEC filing identifier |
| `document_url` | Canonical EDGAR filing document link |
| `description`, `items`, `matched_keyword` | Filing context and match evidence |

The run output also exposes a results dataset link and a structured run summary with valid-record counts and warnings.

### Common use cases

- Monitor 8-K disclosures for event-driven research.
- Watch portfolio companies for new 10-Q and 10-K filings.
- Send matched filings to a CRM, Slack, webhook, or data warehouse.
- Build compliance and competitor-disclosure alerts.

### Scheduling and integrations

Create an Apify Task from your preferred input, then attach an Apify Schedule for recurring checks. Use the default dataset API, webhooks, or the output links returned by each run to connect the results to your workflow.

### Pricing

This Actor uses pay-per-event pricing. You are charged for each filing record returned, plus a small Actor-start event. Set a maximum run charge suitable for your expected filing volume.

### Data source and limitations

Data comes from official SEC EDGAR submissions endpoints. This Actor is a monitoring and extraction tool, not investment, legal, or compliance advice. SEC availability and filing metadata are controlled by the SEC.

### Support

If a filing appears incomplete or a company cannot be resolved, include the ticker/CIK, input, and run URL when requesting support.

# Actor input Schema

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

SEC-reporting company tickers, e.g. AAPL or MSFT.

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

Optional SEC Central Index Key values. Tickers and CIKs may be combined.

## `forms` (type: `array`):

SEC filing forms to include.

## `keywords` (type: `array`):

Optional case-insensitive terms matched against company name, form, filing description, and SEC item codes.

## `lookback_days` (type: `integer`):

Only include filings submitted within this many days.

## `max_items` (type: `integer`):

Maximum filing records to emit per run.

## Actor input object example

```json
{
  "tickers": [
    "AAPL"
  ],
  "ciks": [],
  "forms": [
    "10-K",
    "10-Q",
    "8-K"
  ],
  "keywords": [],
  "lookback_days": 30,
  "max_items": 100
}
```

# Actor output Schema

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

Matched SEC filing records.

## `summary` (type: `string`):

Items, quality counts, and warnings for this run.

# 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"
    ],
    "ciks": [],
    "forms": [
        "10-K",
        "10-Q",
        "8-K"
    ],
    "keywords": [],
    "lookback_days": 30,
    "max_items": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("vanheelsing/sec-filing-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 = {
    "tickers": ["AAPL"],
    "ciks": [],
    "forms": [
        "10-K",
        "10-Q",
        "8-K",
    ],
    "keywords": [],
    "lookback_days": 30,
    "max_items": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("vanheelsing/sec-filing-monitor").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 '{
  "tickers": [
    "AAPL"
  ],
  "ciks": [],
  "forms": [
    "10-K",
    "10-Q",
    "8-K"
  ],
  "keywords": [],
  "lookback_days": 30,
  "max_items": 100
}' |
apify call vanheelsing/sec-filing-monitor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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