# SEC EDGAR Tracker — Insider Filings, 13F, 8K, 10K (`gochujang/sec-edgar-tracker`) Actor

Live SEC EDGAR latest filings feed: 10-K/10-Q/8-K/S-1/20-F/13F-HR/DEF-14A/424B5 and more. Filter by form type, CIK, or company name. Returns filer, CIK, role, filed date, accession #, document URL and size. Compliant SEC User-Agent. No API key.

- **URL**: https://apify.com/gochujang/sec-edgar-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Business
- **Features:** Limited permissions
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 filing trackeds

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

### What does SEC EDGAR Filing Tracker do?

The **SEC EDGAR tracker** monitors the U.S. Securities and Exchange Commission's public filing database in real time. It pulls **10-K, 10-Q, 8-K, S-1, 13F-HR, DEF 14A, 424B5**, and more from EDGAR's official atom feeds, then returns one clean structured row per filing — company name, CIK, form type, filing date, accession number, and a direct link to the document. No API key is required. This **SEC filing scraper** runs in under 30 seconds with default settings.

The actor replaces expensive commercial data vendors (Bloomberg, Capital IQ, EDGAR Online) by going straight to the same public source — the SEC's real-time atom feeds — and returning the data in a database-ready format.

***

### Why use SEC EDGAR Filing Tracker?

1. **Regulatory compliance monitoring** — Automatically surface every new filing for your covered tickers. Never miss a material disclosure again.
2. **Quant research & backtesting** — Build datasets of 10-K and 10-Q filings for fundamental factor research. Access historical **10-K 10-Q filing data API** without expensive Bloomberg seats.
3. **Hedge fund & institutional tracking** — Pull 13F-HR quarterly holdings to see what Berkshire Hathaway, Renaissance, or any institutional filer added or removed each quarter.
4. **IPO pipeline intelligence** — Monitor fresh S-1 and S-3 registrations to track the upcoming IPO calendar.
5. **M\&A and event-driven signals** — 8-K filings announce acquisitions, CEO departures, earnings beats, and restatements the moment they hit EDGAR. Catch them before the news cycle does.

***

### How to use SEC EDGAR Filing Tracker

1. Open the Actor on Apify and click **Try for free**.
2. Leave inputs blank to run with defaults — returns up to 200 recent filings across 9 major form types.
3. (Optional) Set `forms` to limit to specific form codes, `ciksFilter` to watch specific companies, or `companyContains` to filter by name.
4. Click **Start** — runs complete in seconds.
5. Download results as **JSON, CSV, or XLSX**, or connect to your dataset via the Apify API.
6. (Optional) Enable `alertOnAny` with your Telegram credentials to receive a digest after every run.

***

### Input

| Parameter | Type | Default | Description |
|---|---|---|---|
| `forms` | array | `['10-K','10-Q','8-K','S-1','S-3','20-F','13F-HR','DEF 14A','424B5']` | **SEC form types** to fetch. Any valid EDGAR form code is supported. |
| `ciksFilter` | array | `[]` | Only include filings from these **CIK numbers** (e.g. `320193` = Apple). |
| `companyContains` | string | \`\` | Case-insensitive substring filter on filer name (e.g. `apple`). |
| `countPerForm` | integer | `40` | How many of the latest filings to pull per form type. |
| `limit` | integer | `200` | Max combined rows to return after all filters. |
| `contactEmail` | string | `research@example.com` | SEC requires a contact email in the User-Agent header. |
| `alertOnAny` | boolean | `false` | Send a Telegram digest after run. |
| `telegramBotToken` | string | — | Telegram bot token for alerts. |
| `telegramChatId` | string | — | Telegram chat ID for alerts. |

***

### Output

Each row represents one **SEC filing**:

```json
[
  {
    "form": "10-K",
    "form_requested": "10-K",
    "filer": "J M SMUCKER Co",
    "cik": "91419",
    "filer_role": "Filer",
    "filed_date": "2026-06-09",
    "accession_no": "0000091419-26-000050",
    "size_kb": 1240,
    "filing_url": "https://www.sec.gov/Archives/edgar/data/91419/000009141926000050/0000091419-26-000050-index.htm",
    "title": "10-K - J M SMUCKER Co (91419) (Filer)"
  },
  {
    "form": "8-K",
    "filer": "Apple Inc.",
    "cik": "320193",
    "filer_role": "Filer",
    "filed_date": "2026-06-08",
    "accession_no": "0000320193-26-000045",
    "size_kb": 38,
    "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000045/0000320193-26-000045-index.htm",
    "title": "8-K - Apple Inc. (320193) (Filer)"
  }
]
```

***

### Data fields

| Field | Example | Description |
|---|---|---|
| `form` | `10-K` | Parsed form type |
| `filer` | `J M SMUCKER Co` | Company name |
| `cik` | `91419` | SEC Central Index Key (no leading zeros) |
| `filer_role` | `Filer` | Filer / Issuer / Reporting Owner |
| `filed_date` | `2026-06-09` | Date filing was submitted to EDGAR |
| `accession_no` | `0000091419-26-000050` | Unique filing identifier |
| `size_kb` | `1240` | Filing document size in kilobytes |
| `filing_url` | `https://www.sec.gov/Archives/…` | Direct link to filing index on EDGAR |

#### Form types covered

| Code | What it is |
|---|---|
| `10-K` | Annual report |
| `10-Q` | Quarterly report |
| `8-K` | Material event (acquisitions, departures, earnings) |
| `S-1` | IPO registration statement |
| `S-3` | Shelf registration |
| `20-F` | Foreign company annual report |
| `13F-HR` | Institutional quarterly holdings (Buffett's filings) |
| `DEF 14A` | Proxy statement |
| `424B5` | Prospectus / pricing supplement |

***

### Cost estimation

**Pay-Per-Event pricing**: `$0.002 per filing row returned`

| Run type | Rows returned | Estimated cost |
|---|---|---|
| Default (9 forms × 40, limit 200) | ~200 | **$0.40** |
| 8-K only, 100 latest | 100 | **$0.20** |
| Single CIK watch | 5–10 | **$0.01–$0.02** |
| 13F-HR quarterly pull | 40 | **$0.08** |

Compare: EDGAR Online subscription starts at $300+/month for the same underlying data.

***

### FAQ

**Do I need an API key or SEC EDGAR account?**
No. This actor uses EDGAR's free public atom feeds — no registration, no API key, no account. Just add your `contactEmail` per the SEC's User-Agent policy.

**Can I monitor filings from a specific company in real time?**
Yes. Pass the company's `ciksFilter` CIK number and schedule the actor on Apify's cron scheduler. Combine with `alertOnAny` and Telegram to get push alerts within minutes of a new filing.

**How does this compare to 10-K 10-Q filing data API services like EDGAR Online or Capital IQ?**
Those services charge $300–$1,000+/month for curated EDGAR data. This **SEC filing scraper** pulls from the exact same SEC atom feeds at $0.002 per row — no sales call, no annual contract, no seat limits.

> **Disclaimer:** This actor retrieves publicly available data from the SEC EDGAR public feeds. It is not affiliated with, endorsed by, or operated by the U.S. Securities and Exchange Commission. Always verify filing data against the official SEC EDGAR website before making investment decisions.

***

### Related actors

- [Insider Trading Tracker](https://apify.com/gochujang/insider-trading-tracker) — Parses Form 4 XML for share-level insider transactions
- [Stock Earnings Calendar Tracker](https://apify.com/gochujang/stock-earnings-tracker)
- [Treasury Yield Curve Tracker](https://apify.com/gochujang/treasury-yield-tracker)
- [Economic Calendar Tracker](https://apify.com/gochujang/economic-calendar-tracker)

**Keywords:** SEC EDGAR tracker, SEC EDGAR filing tracker, SEC filing scraper, 10-K 10-Q filing data API, 8-K filing monitor, 13F holdings scraper, S-1 IPO tracker, EDGAR atom feed parser, corporate SEC filings, regulatory disclosure monitor

# Actor input Schema

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

SEC form types to fetch. Accepts multiple types, e.g. \["10-K", "10-Q", "8-K"]. Defaults to common ones.

## `ciksFilter` (type: `array`):

Only include filings from these CIK numbers (e.g. 320193 = Apple). Empty = all.

## `companyContains` (type: `string`):

Case-insensitive substring filter on filer name (e.g. 'apple').

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

Only include filings on or after this date (ISO format, e.g. 2025-01-01). Leave blank for no lower bound.

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

Only include filings on or before this date (ISO format, e.g. 2025-12-31). Leave blank for no upper bound.

## `minSize` (type: `integer`):

Exclude filings smaller than this size in bytes. Useful to filter out tiny stub filings. 0 = no filter.

## `countPerForm` (type: `integer`):

How many of the latest filings to pull for each form type.

## `limit` (type: `integer`):

Max combined rows to return after filters.

## `extractText` (type: `boolean`):

If true, fetches each filing document and extracts key sections: Risk Factors / MD\&A / Business (10-K), Financial Statements / MD\&A (10-Q), or Item text (8-K). Adds 'extracted_sections' field. Slower and uses more compute.

## `includeFinancials` (type: `boolean`):

If true, queries the SEC XBRL Company Facts API to add recent revenue, net income, and EPS for each filer. Adds 'financials' field.

## `includeForms4` (type: `boolean`):

If true, fetches recent Form 4 (insider trading) filings for each unique company found. Adds 'insider_trades' field.

## `contactEmail` (type: `string`):

SEC requires an identifying User-Agent with a contact. Provide your email.

## `alertOnAny` (type: `boolean`):

Send a digest to Telegram after run.

## `telegramBotToken` (type: `string`):

Telegram bot token.

## `telegramChatId` (type: `string`):

Telegram chat ID to send alerts to (get it from @userinfobot)

## Actor input object example

```json
{
  "forms": [
    "10-K",
    "10-Q",
    "8-K",
    "S-1",
    "S-3",
    "20-F",
    "13F-HR",
    "DEF 14A",
    "424B5"
  ],
  "ciksFilter": [],
  "companyContains": "",
  "dateFrom": "",
  "dateTo": "",
  "minSize": 0,
  "countPerForm": 40,
  "limit": 200,
  "extractText": false,
  "includeFinancials": false,
  "includeForms4": false,
  "contactEmail": "research@example.com",
  "alertOnAny": false,
  "telegramChatId": ""
}
```

# Actor output Schema

## `dataset` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/sec-edgar-tracker").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("gochujang/sec-edgar-tracker").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 '{}' |
apify call gochujang/sec-edgar-tracker --silent --output-dataset

```

## MCP server setup

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

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/OgDD754G3JsTDb5qW/builds/uFMhox2eUzhGbfJd8/openapi.json
