# SEC EDGAR Filings Scraper (`crawlerbros/sec-edgar-filings-scraper`) Actor

Search SEC EDGAR filings, browse IPOs (S-1), get company filings, and extract XBRL financial facts. Free public API, no login or proxy required.

- **URL**: https://apify.com/crawlerbros/sec-edgar-filings-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Developer tools, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

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

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 EDGAR Filings Scraper

Search and extract SEC EDGAR filings — the US Securities and Exchange Commission's public database covering every regulatory filing from every US-listed company. Browse IPO registrations (S-1), annual reports (10-K), quarterly reports (10-Q), crowdfunding rounds (Form C), private placements (Form D), proxy statements, and more. Powered entirely by the SEC's free public API. No login, no proxy, no API key required.

### What this actor does

**4 modes in one actor:**

1. **Search filings** (`searchFilings`) — full-text keyword search across all EDGAR filings, filtered by form type and date range
2. **Browse IPOs** (`browseIPOs`) — browse recent S-1 registration statements (IPO filings) by date and keyword
3. **Company filings** (`getCompanyFilings`) — fetch all recent filings for a specific company by ticker or CIK
4. **Company financial facts** (`getCompanyFacts`) — extract structured XBRL financial data (revenue, assets, liabilities, earnings per share, etc.)

### Output fields

#### searchFilings / browseIPOs
| Field | Description |
|---|---|
| `filingId` | SEC accession number (e.g. `0001234567-24-000001`) |
| `companyName` | Entity name |
| `ticker` | Stock ticker if available |
| `cik` | 10-digit padded CIK |
| `formType` | Filing form (S-1, 10-K, 8-K, etc.) |
| `filingDate` | Date filed (YYYY-MM-DD) |
| `description` | Filing description |
| `documentUrl` | Direct link to EDGAR filing index |
| `period` | Reporting period end date |
| `scrapedAt` | Scrape timestamp |

#### getCompanyFilings
One record per filing: `companyName`, `cik`, `ticker`, `sic`, `sicDescription`, `state`, `fiscalYearEnd`, `formType`, `filingDate`, `accessionNumber`, `documentUrl`, `description`, `scrapedAt`

#### getCompanyFacts
One record per financial data point: `companyName`, `cik`, `concept`, `label`, `unit`, `value`, `period`, `form`, `filed`, `scrapedAt`

Empty fields are omitted (no nulls anywhere).

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | select | `searchFilings` | One of: searchFilings / getCompanyFilings / getCompanyFacts / browseIPOs |
| `query` | string | – | Full-text search query (searchFilings / browseIPOs) |
| `formType` | select | `all` | S-1 / 10-K / 10-Q / 8-K / C / D / proxy statement / all |
| `dateStart` | string | – | Filter filings on or after this date (YYYY-MM-DD) |
| `dateEnd` | string | – | Filter filings on or before this date (YYYY-MM-DD) |
| `cikOrTicker` | string | – | Ticker (AAPL) or CIK (0000320193) — required for company modes |
| `maxItems` | integer | `25` | Max records to return (1–200) |

#### Example: Browse recent IPO filings
```json
{
  "mode": "browseIPOs",
  "maxItems": 25
}
````

#### Example: Search 8-K filings mentioning "acquisition"

```json
{
  "mode": "searchFilings",
  "query": "acquisition",
  "formType": "8-K",
  "dateStart": "2024-01-01",
  "maxItems": 50
}
```

#### Example: Get Apple's recent SEC filings

```json
{
  "mode": "getCompanyFilings",
  "cikOrTicker": "AAPL",
  "maxItems": 25
}
```

#### Example: Get Apple's financial facts (XBRL)

```json
{
  "mode": "getCompanyFacts",
  "cikOrTicker": "AAPL",
  "maxItems": 100
}
```

#### Example: Browse crowdfunding filings (Reg CF)

```json
{
  "mode": "searchFilings",
  "formType": "C",
  "dateStart": "2024-01-01",
  "maxItems": 50
}
```

### Use cases

- **IPO tracking** — monitor new S-1 registrations in real time; identify upcoming listings before they hit news feeds
- **Investment research** — pull annual/quarterly reports for a watchlist; extract XBRL financials for quantitative analysis
- **Crowdfunding deal flow** — browse Form C filings from companies raising capital under Regulation Crowdfunding
- **Private placement monitoring** — scan Form D filings for new exempt offerings and venture rounds
- **Compliance & due diligence** — verify filing history, SIC codes, state of incorporation, fiscal year end
- **M\&A intelligence** — search 8-K filings mentioning "merger", "acquisition", or specific company names
- **Financial journalism** — access public disclosures programmatically without paying for Bloomberg or FactSet
- **Academic research** — bulk-download structured XBRL financial data for empirical finance studies

### FAQ

**Does it require a login, API key, or cookies?**
No. SEC EDGAR is fully public. This actor requires zero credentials.

**Is a proxy needed?**
No. SEC accepts requests from any IP. The actor uses only SEC's official public API with the required User-Agent header.

**What is the rate limit?**
SEC enforces a soft 10 requests/second limit. The actor automatically stays within this limit.

**How fresh is the data?**
Real-time. SEC processes filings within minutes of submission and makes them available immediately via the API.

**What is an accession number?**
SEC's unique filing identifier, formatted as `XXXXXXXXXX-YY-ZZZZZZ` (filer-year-sequence). Each document submitted to EDGAR has a unique accession number.

**What is a CIK?**
Central Index Key — SEC's unique numeric identifier for each filer. Every public company, fund, and individual who files with the SEC has a CIK. The actor accepts both tickers and CIKs.

**What are XBRL financial facts?**
eXtensible Business Reporting Language facts are structured, machine-readable financial data extracted from filings. The `getCompanyFacts` mode returns individual data points like `RevenueFromContractWithCustomerExcludingAssessedTax` (revenue) with value, period, and filing provenance.

**Can I get financial data for private companies?**
No — only companies that file with the SEC (publicly listed companies and certain private filers). Truly private companies do not file with the SEC except for Form D (exempt offering notices) and Reg CF (crowdfunding).

**What is the difference between S-1 and Form C?**
S-1 is an IPO registration statement for companies going public on a major exchange (NYSE, Nasdaq). Form C is a crowdfunding offering circular for companies raising up to $5M from the general public under Regulation Crowdfunding — typically early-stage startups.

# Actor input Schema

## `mode` (type: `string`):

What to fetch from SEC EDGAR.

## `query` (type: `string`):

Full-text search query (mode=searchFilings or browseIPOs). Examples: "artificial intelligence", "going concern", "material weakness".

## `formType` (type: `string`):

SEC form type to filter by (mode=searchFilings). Ignored for browseIPOs (always S-1).

## `dateStart` (type: `string`):

Only include filings filed on or after this date.

## `dateEnd` (type: `string`):

Only include filings filed on or before this date.

## `cikOrTicker` (type: `string`):

Stock ticker (e.g. AAPL, MSFT, GOOGL) or SEC CIK number (e.g. 0000320193). Required for getCompanyFilings and getCompanyFacts modes.

## `maxItems` (type: `integer`):

Maximum number of records to return.

## Actor input object example

```json
{
  "mode": "browseIPOs",
  "formType": "S-1",
  "maxItems": 25
}
```

# Actor output Schema

## `filings` (type: `string`):

Dataset containing all scraped SEC EDGAR records.

# 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 = {
    "mode": "browseIPOs",
    "formType": "S-1",
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/sec-edgar-filings-scraper").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 = {
    "mode": "browseIPOs",
    "formType": "S-1",
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/sec-edgar-filings-scraper").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 '{
  "mode": "browseIPOs",
  "formType": "S-1",
  "maxItems": 25
}' |
apify call crawlerbros/sec-edgar-filings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC EDGAR Filings Scraper",
        "description": "Search SEC EDGAR filings, browse IPOs (S-1), get company filings, and extract XBRL financial facts. Free public API, no login or proxy required.",
        "version": "1.0",
        "x-build-id": "SXnEqwFRXAB7C1uxz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~sec-edgar-filings-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-sec-edgar-filings-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~sec-edgar-filings-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-sec-edgar-filings-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~sec-edgar-filings-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-sec-edgar-filings-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "searchFilings",
                            "getCompanyFilings",
                            "getCompanyFacts",
                            "browseIPOs"
                        ],
                        "type": "string",
                        "description": "What to fetch from SEC EDGAR.",
                        "default": "searchFilings"
                    },
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Full-text search query (mode=searchFilings or browseIPOs). Examples: \"artificial intelligence\", \"going concern\", \"material weakness\"."
                    },
                    "formType": {
                        "title": "Form type",
                        "enum": [
                            "S-1",
                            "10-K",
                            "10-Q",
                            "8-K",
                            "C",
                            "D",
                            "proxy statement",
                            "all"
                        ],
                        "type": "string",
                        "description": "SEC form type to filter by (mode=searchFilings). Ignored for browseIPOs (always S-1).",
                        "default": "all"
                    },
                    "dateStart": {
                        "title": "Date from (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Only include filings filed on or after this date."
                    },
                    "dateEnd": {
                        "title": "Date to (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Only include filings filed on or before this date."
                    },
                    "cikOrTicker": {
                        "title": "Company CIK or ticker (getCompanyFilings / getCompanyFacts)",
                        "type": "string",
                        "description": "Stock ticker (e.g. AAPL, MSFT, GOOGL) or SEC CIK number (e.g. 0000320193). Required for getCompanyFilings and getCompanyFacts modes."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum number of records to return.",
                        "default": 25
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
