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

Scrape SEC EDGAR company filings by ticker or CIK. Get form type, filing date, accession number, report date and direct links for 10-K, 10-Q, 8-K and more.

- **URL**: https://apify.com/scrapers\_lat/sec-edgar-filings-scraper.md
- **Developed by:** [Michael Flores](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Automation, Developer tools
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.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.
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 Company Filings Scraper

> Extract company filings from SEC EDGAR by ticker or CIK, covering every public company that files with the United States Securities and Exchange Commission.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![United States](https://img.shields.io/badge/Coverage-United%20States-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>30 fields</strong><br>per record</td>
<td align="center"><strong>United States</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-22</td>
</tr></table>

<br>

### What you get

Each record is one filing submitted to SEC EDGAR, with the metadata you need to identify and open the document, ready to load into any database, spreadsheet, or research pipeline:

- **companyName**: registered company name as filed with the SEC
- **ticker**: stock ticker symbol, when the company is in the SEC ticker directory
- **cik**: ten digit SEC Central Index Key for the company
- **entityType**: SEC entity type, for example operating
- **stateOfIncorporation**: state or country where the company is incorporated
- **fiscalYearEnd**: company fiscal year end as MMDD
- **ein**: employer identification number
- **phone**: company contact phone number
- **businessAddress**: company business address (street, city, state, zip)
- **formerNames**: prior registered names with the dates each was in use
- **form**: filing form type, such as 10-K, 10-Q, 8-K or 4
- **filingDate**: date the filing was submitted
- **reportDate**: period of report the filing covers, when applicable
- **acceptanceDateTime**: timestamp the SEC accepted the submission
- **accessionNumber**: unique SEC accession number for the filing
- **primaryDocument**: file name of the main document in the submission
- **primaryDocumentUrl**: direct link to the primary document on sec.gov
- **primaryDocDescription**: short description of the primary document
- **fileNumber**: SEC file number associated with the filing
- **items**: 8-K item codes reported in the filing, when present
- **act**: securities act the filing was made under
- **size**: size of the submission in bytes
- **isXBRL**: whether the filing includes XBRL structured data
- **isInlineXBRL**: whether the filing uses inline XBRL
- **sicDescription**: SEC industry classification for the company
- **exchanges**: stock exchanges the company is listed on
- **insiderTransactions\***: for Form 3, 4 and 5 filings, the parsed insider trades: reporting owner name and CIK, whether they are a director, officer or ten percent owner, officer title, security title, transaction date and code, shares, price per share, shares owned after, and direct or indirect ownership
- **filingUrl**: link to the filing index page on EDGAR
- **observedAt**: when this filing was last seen by the scraper

*\*The insiderTransactions field only appears when Insider Transaction Details is enabled, and only on Form 3, 4 and 5 filings.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Filing monitoring | Investors watching for new 10-K, 10-Q and 8-K filings |
| Compliance research | Legal and compliance teams pulling a company filing history |
| Document collection | Analysts gathering primary document links in bulk |
| Event tracking | Funds tracking 8-K material events by item code |
| Insider trading | Analysts following Form 4 insider buys and sells by executives and directors |
| Data pipelines | Developers feeding research tools and dashboards |

### Frequently Asked Questions

**How do I choose which companies to scrape?**  
You can provide stock tickers such as AAPL or MSFT, raw CIK numbers, or a company name substring that matches the SEC ticker directory. Tickers are resolved to CIK numbers automatically, and you can mix all three inputs in one run.

**Which filings does it return?**  
It returns the filings listed in a company submissions history on EDGAR, newest first. You can filter by form type, for example only 10-K, 10-Q and 8-K, and by a filing date range. Companies with long histories also have older filings paged in from EDGAR archive files when needed.

**Can I get a direct link to each document?**  
Yes. Every record includes a primaryDocumentUrl that opens the main document on sec.gov and a filingUrl that opens the full filing index, so you can move from the dataset straight to the source.

**Can I see insider transactions from Form 4 filings?**  
Yes. Enable Insider Transaction Details and filter the form types to 3, 4 and 5. For each ownership filing the actor opens the ownership document and parses every trade, including the insider name, their role at the company, the number of shares, the price per share, the transaction date, and the shares owned afterward.

**How current is the data?**  
The data comes straight from the SEC EDGAR submissions API, which updates as new filings are accepted, so a run reflects filings available at the moment it runs.

**What happens if a company cannot be found?**  
If a ticker or CIK cannot be resolved, the actor records an error row for that input and continues with the rest, so one bad symbol never stops the run.

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with the U.S. Securities and Exchange Commission. It only accesses data that is publicly available through the EDGAR open data APIs. Use it in accordance with the SEC EDGAR access terms.

# Actor input Schema

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

Maximum number of filing records to collect across all companies. Optional.
## `withDetails` (type: `boolean`):

For ownership filings (Form 3, 4 and 5), fetch the ownership document and parse insider transactions: the reporting owner, their role, and each trade (shares, price, date, shares owned after). Adds one detail request per matching filing.
## `tickers` (type: `array`):

Stock ticker symbols to look up, for example AAPL or MSFT. Each ticker is resolved to its SEC CIK.
## `ciks` (type: `array`):

SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.
## `companyName` (type: `string`):

Optional company name substring. Matches every company in the SEC ticker directory whose name contains this text.
## `formTypes` (type: `array`):

Only keep filings whose form matches one of these (for example 10-K, 10-Q, 8-K). Leave empty to keep all forms.
## `dateFrom` (type: `string`):

Only keep filings filed on or after this date (YYYY-MM-DD).
## `dateTo` (type: `string`):

Only keep filings filed on or before this date (YYYY-MM-DD).

## Actor input object example

```json
{
  "maxItems": 50,
  "withDetails": false,
  "tickers": [
    "AAPL",
    "MSFT"
  ],
  "formTypes": [
    "10-K",
    "10-Q",
    "8-K"
  ]
}
````

# Actor output Schema

## `results` (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 = {
    "maxItems": 50,
    "tickers": [
        "AAPL",
        "MSFT"
    ],
    "formTypes": [
        "10-K",
        "10-Q",
        "8-K"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/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 = {
    "maxItems": 50,
    "tickers": [
        "AAPL",
        "MSFT",
    ],
    "formTypes": [
        "10-K",
        "10-Q",
        "8-K",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/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 '{
  "maxItems": 50,
  "tickers": [
    "AAPL",
    "MSFT"
  ],
  "formTypes": [
    "10-K",
    "10-Q",
    "8-K"
  ]
}' |
apify call scrapers_lat/sec-edgar-filings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC EDGAR Company Filings Scraper",
        "description": "Scrape SEC EDGAR company filings by ticker or CIK. Get form type, filing date, accession number, report date and direct links for 10-K, 10-Q, 8-K and more.",
        "version": "0.1",
        "x-build-id": "YgnzgS3MI5LSq0FHk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~sec-edgar-filings-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-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/scrapers_lat~sec-edgar-filings-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-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/scrapers_lat~sec-edgar-filings-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-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",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of filing records to collect across all companies. Optional."
                    },
                    "withDetails": {
                        "title": "Insider Transaction Details",
                        "type": "boolean",
                        "description": "For ownership filings (Form 3, 4 and 5), fetch the ownership document and parse insider transactions: the reporting owner, their role, and each trade (shares, price, date, shares owned after). Adds one detail request per matching filing.",
                        "default": false
                    },
                    "tickers": {
                        "title": "Tickers",
                        "type": "array",
                        "description": "Stock ticker symbols to look up, for example AAPL or MSFT. Each ticker is resolved to its SEC CIK.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ciks": {
                        "title": "CIKs",
                        "type": "array",
                        "description": "SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "companyName": {
                        "title": "Company Name",
                        "type": "string",
                        "description": "Optional company name substring. Matches every company in the SEC ticker directory whose name contains this text."
                    },
                    "formTypes": {
                        "title": "Form Types",
                        "type": "array",
                        "description": "Only keep filings whose form matches one of these (for example 10-K, 10-Q, 8-K). Leave empty to keep all forms.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "dateFrom": {
                        "title": "Date From",
                        "type": "string",
                        "description": "Only keep filings filed on or after this date (YYYY-MM-DD)."
                    },
                    "dateTo": {
                        "title": "Date To",
                        "type": "string",
                        "description": "Only keep filings filed on or before this date (YYYY-MM-DD)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
