# SEC EDGAR Scraper - US Filings, Financials & Search (`get_anything/sec-edgar-scraper`) Actor

Scrape SEC EDGAR for any US public company: profile, recent filings (10-K, 10-Q, 8-K, Form 4) with direct links, key financials (revenue, net income, assets, EPS) from XBRL, and EDGAR full-text search. Official SEC endpoints, no API key. Export JSON, CSV or Excel. Public data, not investment advice.

- **URL**: https://apify.com/get\_anything/sec-edgar-scraper.md
- **Developed by:** [Get Anything](https://apify.com/get_anything) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 EDGAR Scraper — US Filings, Financials & Full-Text Search

Pull data straight from the **U.S. Securities and Exchange Commission (SEC) EDGAR** system for any U.S. public company: **company profile**, **recent filings** (10-K, 10-Q, 8-K, Form 4…) with direct links, **key financials** (revenue, net income, assets, equity, EPS…) from XBRL, and **EDGAR full-text search** across all filings.

Uses the SEC's **official endpoints** (`data.sec.gov`, `efts.sec.gov`). **No API key.**

> ⚠️ EDGAR data is **public record**, provided for information only — **not investment advice**.

### What it does

- **Company** — CIK, ticker, SIC industry, exchange, state of incorporation, address.
- **Filings** — recent filings with form type, dates, description, and a **direct link** to the document; filter by form type (`10-K`, `8-K`, `4`…).
- **Financials** — latest XBRL facts: revenue, net income, operating income, gross profit, total assets/liabilities, stockholders' equity, cash, EPS (basic/diluted), R\&D.
- **Full-text search** — search the entire EDGAR corpus (e.g. `"artificial intelligence"`), optionally limited to a form type.
- Resolve companies by **ticker, CIK, or name**.
- Export to **JSON, CSV, or Excel**, or pull via the Apify API.

### Input

| Field | Description |
|-------|-------------|
| `companies` | Tickers (`AAPL`), CIKs, or names (`Apple`). |
| `getFilings` | Return recent filings with links. |
| `filingTypes` | Filter to form types (`10-K`, `10-Q`, `8-K`, `4`). |
| `maxFilings` | Cap per company. |
| `getFinancials` | Return key XBRL financials. |
| `fullTextSearch` | EDGAR full-text query across all filings. |
| `maxSearchResults` | Cap on search hits. |

#### Example

```json
{
  "companies": ["AAPL", "MSFT"],
  "getFilings": true,
  "filingTypes": ["10-K", "10-Q"],
  "getFinancials": true,
  "fullTextSearch": "\"artificial intelligence\""
}
```

### Output

Records of type `company`, `filing`, `financial`, and `searchHit`:

```json
{ "resultType": "filing", "ticker": "AAPL", "form": "10-K", "filingDate": "2025-10-31",
  "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm" }
```

```json
{ "resultType": "financial", "ticker": "AAPL", "label": "Net income",
  "value": 101464000000, "unit": "USD", "fiscalYear": 2026, "fiscalPeriod": "Q3" }
```

### Use cases

- **Fundamental research** — filings + financials for any US public company.
- **Compliance / legal** — track a company's 8-Ks and Form 4 insider filings.
- **Thematic screening** — full-text search 10-Ks for a topic (AI, tariffs, a competitor).
- **Data pipelines / AI** — feed structured filings to a model or a database.

### FAQ

**Do I need an API key?** No — SEC EDGAR is a free public system. The Actor sends the descriptive User-Agent the SEC asks for and respects its rate limits.

**Which companies are covered?** Every company that files with the SEC (US-listed and foreign private issuers filing in the US).

*Not affiliated with the SEC. Data is public record, for information only — not financial advice.*

# Actor input Schema

## `companies` (type: `array`):

US public companies by ticker (AAPL), CIK number, or name (Apple). Leave empty if you only use full-text search.

## `getFilings` (type: `boolean`):

Return the company's recent filings with direct links.

## `filingTypes` (type: `array`):

Only keep these form types, e.g. '10-K', '10-Q', '8-K', '4'. Leave empty for all.

## `maxFilings` (type: `integer`):

Cap on filings returned per company.

## `getFinancials` (type: `boolean`):

Return key financials from XBRL: revenue, net income, operating income, assets, liabilities, equity, cash, EPS, R\&D.

## `fullTextSearch` (type: `string`):

Optional EDGAR full-text search across all filings, e.g. '"artificial intelligence"'. Combined with the filing types filter.

## `maxSearchResults` (type: `integer`):

Cap on full-text search hits.

## `proxyConfiguration` (type: `object`):

Optional proxy. SEC endpoints usually work without one.

## Actor input object example

```json
{
  "companies": [
    "AAPL",
    "MSFT"
  ],
  "getFilings": true,
  "filingTypes": [],
  "maxFilings": 40,
  "getFinancials": false,
  "maxSearchResults": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

Structured results in the default dataset - one item per company, filing, financial fact or search hit.

# 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 = {
    "companies": [
        "AAPL",
        "MSFT"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("get_anything/sec-edgar-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 = { "companies": [
        "AAPL",
        "MSFT",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("get_anything/sec-edgar-scraper").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 '{
  "companies": [
    "AAPL",
    "MSFT"
  ]
}' |
apify call get_anything/sec-edgar-scraper --silent --output-dataset

```

## MCP server setup

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

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/DQ5buSBzS95n7Upub/builds/dFHs44WHXNpPiNJQq/openapi.json
