# MCP Server: SEC EDGAR (US Public Companies + 10-K, insider) (`dltik/mcp-server-sec-edgar`) Actor

Apify MCP server for AI agents: 6 tools to query SEC EDGAR. Search companies, get filings (10-K, 10-Q, 8-K, Form 4 insider), XBRL financials, full-text search. 10K+ public companies, free official data. $0.01/call.

- **URL**: https://apify.com/dltik/mcp-server-sec-edgar.md
- **Developed by:** [dltik](https://apify.com/dltik) (community)
- **Categories:** AI, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 tool calls

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 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 MCP Server — US Public Companies API for AI Agents (10-K, 10-Q, 8-K, Form 4)

> Apify-hosted **SEC EDGAR MCP server** giving AI agents instant access to 10,000+ US public companies — every 10-K, 10-Q, 8-K, Form 4 (insider trading), proxy statement, and XBRL financial fact since 1993. Backed by the free official `data.sec.gov` API. No API key, no rate limit headaches. **$0.01 per tool call**.

⭐ **Bookmark this SEC EDGAR MCP Server** — Apify ranks actors by bookmarks, so it directly helps the visibility of this server on the Apify Store.

### What is the SEC EDGAR MCP Server?

The **SEC EDGAR MCP Server** is an Apify actor implementing the [Model Context Protocol](https://modelcontextprotocol.io/) for the US [Securities and Exchange Commission's EDGAR database](https://www.sec.gov/edgar). It exposes 7 tools your AI agent can call to search public companies, pull recent filings (10-K annual, 10-Q quarterly, 8-K events), retrieve XBRL financial facts, and track insider trading via Form 4. Use it standalone via the Apify API, or wire it into Claude Desktop, Cursor, or Continue.dev as an MCP server.

Every public company filing is free official data — this MCP server just makes it agent-ready.

### Use cases

- **Equity research agents** — let your AI pull 5 years of revenue/profit/cash from XBRL facts in one call.
- **Insider trading monitors** — Form 4 filings on demand, by ticker.
- **M&A intelligence bots** — full-text search across 8-K filings to spot mergers, exec changes, material events.
- **Compliance copilots** — verify a company's SEC filings status before onboarding.
- **Investment due diligence** — pull the latest 10-K, parse risk factors, summarize.

### Tools available

| Tool | What it returns |
| --- | --- |
| `search_companies(query, limit)` | Companies matching name or ticker |
| `get_company(cik_or_ticker)` | Full company profile (CIK, SIC, filings count) |
| `recent_filings(cik, form_type, limit)` | Most recent filings (10-K, 10-Q, 8-K, etc.) |
| `get_company_facts(cik)` | XBRL financial facts — Revenue, Net Income, Assets, etc. |
| `insider_trading(cik, limit)` | Form 4 insider transactions |
| `search_filings(query, form_type, limit)` | Full-text search across all SEC filings |
| `list_tools` | Free — schema discovery |

### Input

```json
{
  "mode": "call_tool",
  "tool_name": "get_company_facts",
  "arguments": { "cik_or_ticker": "TSLA" }
}
````

### Output

```json
{
  "cik": "0001318605",
  "ticker": "TSLA",
  "name": "Tesla, Inc.",
  "facts": {
    "Revenues": [{"period": "2024-12-31", "value": 97690000000, "unit": "USD"}],
    "NetIncomeLoss": [{"period": "2024-12-31", "value": 7130000000, "unit": "USD"}]
  },
  "filings_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001318605"
}
```

### Pricing

**PAY\_PER\_EVENT — $0.01 per tool call** (= $10 per 1,000). The `list_tools` discovery call is free. Errors are not charged.

### FAQ — SEC EDGAR API for AI

**Why use this MCP server vs scraping `sec.gov`?** SEC EDGAR has an undocumented but stable JSON API at `data.sec.gov`. This actor wraps it cleanly, handles SEC's mandatory User-Agent rule, retries 429s, normalizes XBRL facts. Your agent gets clean records, not raw HTML.

**Does this cover non-US filings?** No — SEC EDGAR is US-only. For French companies see [Pappers MCP Server](https://apify.com/dltik/mcp-server-pappers). For French court / M\&A data see [BODACC MCP Server](https://apify.com/dltik/mcp-server-bodacc).

**Can my AI agent run multi-step research with this?** Yes — that's the point of MCP. An agent can chain `search_companies` → `recent_filings` → `get_company_facts` autonomously.

***

⭐ **Found this useful? Bookmark this SEC EDGAR MCP Server** — it's the strongest signal for Apify Store ranking.

#### Related actors

- [Pappers MCP Server](https://apify.com/dltik/mcp-server-pappers) — same pattern for 26M French companies
- [BODACC MCP Server](https://apify.com/dltik/mcp-server-bodacc) — French M\&A and distress signals
- [HackerNews MCP Server](https://apify.com/dltik/mcp-server-hackernews) — same MCP pattern for tech/news

License: MIT · Author: [dltik](https://apify.com/dltik)

# Actor input Schema

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

list\_tools (free, returns tool catalog) or call\_tool (charged $0.01 per call).

## `tool_name` (type: `string`):

Tool to invoke. Use mode=list\_tools to discover.

## `arguments` (type: `object`):

Arguments for the chosen tool. See list\_tools mode for full schema.

## Actor input object example

```json
{
  "mode": "call_tool",
  "tool_name": "search_companies",
  "arguments": {
    "query": "Apple",
    "limit": 5
  }
}
```

# 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 = {
    "arguments": {
        "query": "Apple",
        "limit": 5
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("dltik/mcp-server-sec-edgar").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 = { "arguments": {
        "query": "Apple",
        "limit": 5,
    } }

# Run the Actor and wait for it to finish
run = client.actor("dltik/mcp-server-sec-edgar").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 '{
  "arguments": {
    "query": "Apple",
    "limit": 5
  }
}' |
apify call dltik/mcp-server-sec-edgar --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "MCP Server: SEC EDGAR (US Public Companies + 10-K, insider)",
        "description": "Apify MCP server for AI agents: 6 tools to query SEC EDGAR. Search companies, get filings (10-K, 10-Q, 8-K, Form 4 insider), XBRL financials, full-text search. 10K+ public companies, free official data. $0.01/call.",
        "version": "1.0",
        "x-build-id": "SlhD9O75nl2w9EMfj"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/dltik~mcp-server-sec-edgar/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-dltik-mcp-server-sec-edgar",
                "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/dltik~mcp-server-sec-edgar/runs": {
            "post": {
                "operationId": "runs-sync-dltik-mcp-server-sec-edgar",
                "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/dltik~mcp-server-sec-edgar/run-sync": {
            "post": {
                "operationId": "run-sync-dltik-mcp-server-sec-edgar",
                "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": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "call_tool",
                            "list_tools"
                        ],
                        "type": "string",
                        "description": "list_tools (free, returns tool catalog) or call_tool (charged $0.01 per call).",
                        "default": "call_tool"
                    },
                    "tool_name": {
                        "title": "Tool name",
                        "enum": [
                            "search_companies",
                            "get_company",
                            "recent_filings",
                            "get_company_facts",
                            "insider_trading",
                            "search_filings"
                        ],
                        "type": "string",
                        "description": "Tool to invoke. Use mode=list_tools to discover.",
                        "default": "search_companies"
                    },
                    "arguments": {
                        "title": "Arguments",
                        "type": "object",
                        "description": "Arguments for the chosen tool. See list_tools mode for full schema."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
