# SEC EDGAR Scraper (`sheshinmcfly/sec-edgar-scraper`) Actor

Extract SEC EDGAR data for US public companies by ticker or CIK: filings with links, Form 4 insider transactions (who bought or sold, shares, price) and key XBRL financials. Plus 13F institutional holdings by fund name — see what hedge funds own. No API key needed.

- **URL**: https://apify.com/sheshinmcfly/sec-edgar-scraper.md
- **Developed by:** [Sheshinmcfly](https://apify.com/sheshinmcfly) (community)
- **Categories:** News, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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.

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 Scraper

Pull **filings, insider trades, financials and 13F fund holdings straight from the official SEC EDGAR database** — no login, no API key, no paid data provider. Give it a list of company tickers (or CIKs) and/or institutional fund names, and get clean structured JSON: recent filing history with document links, Form 4 insider transactions (who bought or sold, how many shares and at what price), key financial figures from XBRL, and the latest 13F holdings of any hedge fund or institutional manager. Built for investors, analysts, journalists and fintech apps that want primary-source data.

### What data you get

**Filings** — recent filing history per company: form type (10-K, 10-Q, 8-K, 4, …), filing date, report date, accession number, description and a direct link to the document.

**Insider transactions** — parsed from Form 4 filings: insider name, relationship (director / officer + title), transaction date, transaction code (P = buy, S = sell, G = gift, A = grant, …), shares, price per share, shares owned afterward, and a link to the filing.

**Financials** — key figures from XBRL company facts, latest annual (10-K) values: revenue, net income, total assets, total liabilities, stockholders' equity, cash, diluted EPS and shares outstanding — each with the period end, fiscal year and source form.

**13F holdings** — the latest 13F-HR portfolio of any institutional manager (by fund name or CIK): report period, total portfolio value, holdings count, and each holding's issuer, CUSIP, market value, shares and put/call. See exactly what Berkshire, Scion or any hedge fund owns.

### How to use

1. Open the Actor and enter one or more **Tickers or CIKs** (e.g. `AAPL`, `MSFT`, `NVDA`).
2. Under **Data to extract**, pick **Filings**, **Insider transactions**, **Financials**, or any combination.
3. (Optional) Adjust how many filings / Form 4s to pull per company.
4. Click **Start**. Results land in the dataset — export to JSON, CSV or Excel, or pull via the API.

### Use cases

- **Follow the insiders** — track Form 4 buys and sells for the companies you watch.
- **Track the hedge funds** — pull 13F holdings to see what Berkshire, Scion or any manager bought and sold.
- **Fundamental research** — pull revenue, net income, assets and EPS from the source, not a third party.
- **Filing monitoring** — watch for new 10-K, 10-Q and 8-K filings across a watchlist.
- **Journalism & due diligence** — verify figures and disclosures against the official record.
- **Fintech & dashboards** — feed primary SEC data into your own product without scraping EDGAR yourself.

### Input

| Field | Type | Description |
|-------|------|-------------|
| `tickers` | array | Company ticker symbols or CIK numbers (for filings / insider / financials). |
| `institutions` | array | Fund manager names or CIKs (e.g. `Berkshire Hathaway`) for latest 13F holdings. |
| `dataTypes` | array | Any of `filings`, `insiderTransactions`, `financials`. Default `["filings"]`. |
| `maxFilings` | integer | Recent filings per company (default 40). |
| `maxInsiderFilings` | integer | Recent Form 4 filings to parse per company (default 15). |
| `proxyConfiguration` | object | Apify proxy settings. Datacenter works. |

### Output

Each dataset item is one company. Example (abridged):

```json
{
  "ticker": "AAPL",
  "cik": "0000320193",
  "name": "Apple Inc.",
  "filings": [
    { "form": "8-K", "filingDate": "2026-05-01", "accessionNumber": "...", "url": "https://www.sec.gov/Archives/edgar/data/320193/..." }
  ],
  "insiderTransactions": [
    { "ownerName": "LEVINSON ARTHUR D", "relationship": "Director", "transactionDate": "2026-05-27", "transactionCode": "S", "shares": 50000, "pricePerShare": 311.02, "sharesOwnedAfter": 3764576 }
  ],
  "financials": {
    "revenue": { "value": 416161000000, "periodEnd": "2025-09-27", "fiscalYear": 2025, "form": "10-K" },
    "epsDiluted": { "value": 7.46, "unit": "USD/shares", "fiscalYear": 2025 }
  },
  "scrapedAt": "2026-06-15T00:00:00.000Z"
}
````

Institution (13F) records look like:

```json
{
  "recordType": "institution",
  "query": "Berkshire Hathaway",
  "cik": "0001067983",
  "name": "BERKSHIRE HATHAWAY INC",
  "reportPeriod": "2026-03-31",
  "holdingsCount": 90,
  "totalValue": 263095703570,
  "holdings": [
    { "issuer": "APPLE INC", "cusip": "037833100", "value": 66800000000, "shares": 300000000, "putCall": null }
  ]
}
```

### Performance & cost

The Actor uses SEC's official JSON/XML endpoints — no headless browser — and respects SEC's fair-access rate limit with a built-in identifying User-Agent and request pacing. Filings and financials are one request each; insider transactions fetch one Form 4 per filing, so pulling many insider filings per company takes proportionally longer.

### Pricing

This Actor uses **pay per result**: you are charged only for the companies it returns.

| What you pay for | Price |
|------------------|-------|
| Per result (one company) | $0.005 |

No monthly rental and no platform fees beyond your Apify plan.

### Related actors

Part of a financial-data toolkit — combine SEC filings with prices, calendars and dividends:

- **[Yahoo Finance Scraper](https://apify.com/sheshinmcfly/yahoo-finance-scraper)** — real-time quotes, fundamentals and historical OHLCV by ticker.
- **[Dividend & ETF Scraper](https://apify.com/sheshinmcfly/dividend-etf-scraper)** — full dividend history and ETF holdings, expense ratio and yield.
- **[Financial Calendar Scraper](https://apify.com/sheshinmcfly/financial-calendar-scraper)** — earnings, dividends, splits and IPO calendars from Nasdaq.
- **[FinViz Stock Screener](https://apify.com/sheshinmcfly/finviz-stock-screener)** — top gainers, losers, valuation, technicals and ~50 fields per stock.

### Keywords

SEC EDGAR, SEC filings, insider trading, Form 4, 13F holdings, hedge fund holdings, 10-K, 10-Q, 8-K, XBRL financials, insider transactions, company filings, EDGAR scraper, financial statements, SEC data.

### Disclaimer

This Actor collects publicly available data from the U.S. Securities and Exchange Commission's EDGAR system for informational purposes only. It requires no login and accesses no private or personal data beyond what issuers publicly disclose. The output is **not** financial advice — always verify figures against the official filings before making decisions. The Actor respects SEC's fair-access policy (identifying User-Agent and rate limiting).

# Actor input Schema

## `tickers` (type: `array`):

Company ticker symbols (e.g. AAPL, MSFT) or CIK numbers, for filings / insider transactions / financials. Tickers are resolved to CIKs automatically.

## `institutions` (type: `array`):

Fund / institutional manager names or CIKs (e.g. Berkshire Hathaway, Scion Asset Management) to pull their latest 13F-HR holdings. Leave empty if you only want company data.

## `dataTypes` (type: `array`):

Which data blocks to include per company.

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

How many recent filings to return (when Filings is selected).

## `maxInsiderFilings` (type: `integer`):

How many recent Form 4 filings to parse per company (when Insider transactions is selected). Higher = more requests per company.

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

Apify datacenter proxies work for SEC EDGAR. Switch to Residential only if you hit rate limits.

## Actor input object example

```json
{
  "tickers": [
    "AAPL",
    "MSFT",
    "NVDA"
  ],
  "institutions": [
    "Berkshire Hathaway",
    "Scion Asset Management"
  ],
  "dataTypes": [
    "filings"
  ],
  "maxFilings": 40,
  "maxInsiderFilings": 15,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

All extracted companies stored in the default dataset.

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

// Run the Actor and wait for it to finish
const run = await client.actor("sheshinmcfly/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 = {
    "tickers": [
        "AAPL",
        "MSFT",
    ],
    "proxyConfiguration": { "useApifyProxy": True },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC EDGAR Scraper",
        "description": "Extract SEC EDGAR data for US public companies by ticker or CIK: filings with links, Form 4 insider transactions (who bought or sold, shares, price) and key XBRL financials. Plus 13F institutional holdings by fund name — see what hedge funds own. No API key needed.",
        "version": "0.1",
        "x-build-id": "pcER2gkssBAHKQo3N"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sheshinmcfly~sec-edgar-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sheshinmcfly-sec-edgar-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/sheshinmcfly~sec-edgar-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sheshinmcfly-sec-edgar-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/sheshinmcfly~sec-edgar-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sheshinmcfly-sec-edgar-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": {
                    "tickers": {
                        "title": "Tickers or CIKs (companies)",
                        "type": "array",
                        "description": "Company ticker symbols (e.g. AAPL, MSFT) or CIK numbers, for filings / insider transactions / financials. Tickers are resolved to CIKs automatically.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "institutions": {
                        "title": "Institutions (13F managers)",
                        "type": "array",
                        "description": "Fund / institutional manager names or CIKs (e.g. Berkshire Hathaway, Scion Asset Management) to pull their latest 13F-HR holdings. Leave empty if you only want company data.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "dataTypes": {
                        "title": "Data to extract",
                        "type": "array",
                        "description": "Which data blocks to include per company.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "filings",
                                "insiderTransactions",
                                "financials"
                            ],
                            "enumTitles": [
                                "Filings (recent filing history with links)",
                                "Insider transactions (Form 4 buys/sells by insiders)",
                                "Financials (key XBRL figures: revenue, net income, assets, EPS)"
                            ]
                        },
                        "default": [
                            "filings"
                        ]
                    },
                    "maxFilings": {
                        "title": "Max filings per company",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "How many recent filings to return (when Filings is selected).",
                        "default": 40
                    },
                    "maxInsiderFilings": {
                        "title": "Max Form 4 filings to parse",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "How many recent Form 4 filings to parse per company (when Insider transactions is selected). Higher = more requests per company.",
                        "default": 15
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify datacenter proxies work for SEC EDGAR. Switch to Residential only if you hit rate limits.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
