# SEC Form D Scraper: Hidden Startup Deals & Leads (`complex_intricate_networks/sec-form-d-scraper`) Actor

Extract unannounced private US startup funding rounds and private placements directly from official SEC EDGAR Form D filings. Get early stealth deal flow, CIKs, and offering amounts before mainstream tech news. Export structured B2B leads to JSON or CSV. Zero login required.

- **URL**: https://apify.com/complex_intricate_networks/sec-form-d-scraper.md
- **Developed by:** [CIN](https://apify.com/complex_intricate_networks) (community)
- **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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

Extract unannounced private US startup funding rounds, SAFEs, and debt placements directly from official **SEC EDGAR Form D** government filings before they ever hit TechCrunch or venture blogs\[cite: 2, 5].

This Actor monitors real-time filings from the U.S. Securities and Exchange Commission, converting legal regulatory filings into clean, structured **B2B sales leads** and **proprietary VC deal flow** ready for CRM synchronization, spreadsheet export, or autonomous AI agent pipelines.

***

### 🚀 How to Scrape SEC Form D Filings in 5 Steps

1. **Create** a free [Apify account](https://console.apify.com/sign-up).
2. **Open** [SEC Form D Scraper: Hidden Startup Deals & Leads](https://apify.com/complex_intricate_networks/sec-form-d-scraper) in the Apify Console.
3. **Configure your Input:** Set your maximum crawl budget (`maxRequestsPerCrawl`) to control file inspection depth.
4. **Click "Start"** to launch the high-speed Python extraction engine.
5. **Download your stealth leads** in JSON, CSV, or Excel, or connect via API or MCP Server\[cite: 10, 11].

***

### 🌟 Key Features & Platform Advantages

- 🏛️ **Official Government Data:** Pulls directly from the official SEC EDGAR Atom feeds, giving you legally verified disclosures of private capital raises.
- 🕵️ **Early Stealth Deal Flow:** Discover early-stage startups weeks before journalists cover them or press releases are distributed\[cite: 2, 5].
- 🧠 **Universal Data Model:** Normalizes complex legal filings into clean, uniform fields (`company_name`, `cik`, `amount`, `round_type`, `state_of_incorporation`, `date_announced`) ready for database ingestion.
- ⚡ **High-Efficiency Engine:** Built on lightweight Python Crawlee architecture to process filings rapidly with minimal compute overhead.
- 🛡️ **Anti-Blocking Support:** Integrates seamlessly with Apify Proxy to ensure uninterrupted access to government database servers.

***

### 💼 Actionable Use Cases & Recipes

#### 🎯 Proprietary Deal Flow & Investor Sourcing

- **Goal:** Identify stealth-mode startups raising capital before competitors spot them on public tech blogs.
- **Recipe:** Set this Actor to run **Daily** at 06:00 UTC. Route dataset outputs via Webhooks to Slack or Make/Zapier to notify your investment or outbound sales team the moment a target company files Form D.

#### 📊 Legal & Financial Market Intelligence

- **Goal:** Track state-by-state venture financing volumes and private placement trends across the US market.
- **Recipe:** Run weekly crawlers, export results to CSV, and analyze geographical clustering (e.g., Delaware vs. California incorporations) for macro market research.

***

### ⬇️ Input Configuration

Configure inputs directly via the Apify Console UI or pass a JSON payload:

#### Input JSON Example

```json
{
  "maxRequestsPerCrawl": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

#### Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `maxRequestsPerCrawl` | Integer | `50` | Maximum number of filing pages to inspect from SEC EDGAR to control your run budget. |
| `proxyConfiguration` | Object | `{"useApifyProxy": true}` | Apify proxy configuration to ensure stable, unblocked connection to SEC servers. |

***

### ⬆️ Output Data Schema

Scraped results are pushed directly to your dataset in JSON, CSV, or Excel formats.

#### Sample Output Object (JSON)

```json
{
  "company_name": "Acme Therapeutics Inc.",
  "cik": "0001987654",
  "amount": "Private Placement (Form D)",
  "round_type": "Reg D / Stealth Round",
  "state_of_incorporation": "DE",
  "date_announced": "2026-10-23T12:00:00Z",
  "source_url": "[https://www.sec.gov/Archives/edgar/data/1987654/000198765426000001/primary_doc.xml](https://www.sec.gov/Archives/edgar/data/1987654/000198765426000001/primary_doc.xml)",
  "scraped_at": "2026-10-23T14:30:00.000Z",
  "confidence_score": "High (Government Filing)"
}
```

#### Diagnostic Error Output Schema

If a filing feed encounters temporary network issues, a diagnostic error item is added so your downstream workflow never breaks silently:

```json
{
  "source_url": "[https://www.sec.gov/cgi-bin/browse-edgar](https://www.sec.gov/cgi-bin/browse-edgar)...",
  "error": "No Form D entries found in SEC feed",
  "errorCode": "PARSE_ERROR",
  "scraped_at": "2026-10-23T14:30:00.000Z"
}
```

***

### 🤖 MCP Server & AI Agent Integration

Connect this Actor to AI Agents and LLMs (Claude Desktop, Cursor, LibreChat) using the **Apify MCP Server**\[cite: 10, 11]:

1. Start an SSE session with Apify's MCP endpoint (`https://mcp.apify.com`)\[cite: 14].
2. Pass `complex_intricate_networks/sec-form-d-scraper` to pull live government Form D filings dynamically inside your LLM prompts for automated market research.

***

### 💻 Programmatic API Access (SDKs)

Run this Actor programmatically using Python or JavaScript:

#### Python Client (`apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("complex_intricate_networks/sec-form-d-scraper").call(
    run_input={
        "maxRequestsPerCrawl": 30
    }
)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    if "company_name" in item:
        print(f"🏛️ {item['company_name']} (CIK: {item['cik']}) - Filed: {item['date_announced']}")
```

#### JavaScript Client (`apify-client`)

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('complex_intricate_networks/sec-form-d-scraper').call({
    maxRequestsPerCrawl: 30,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    if (item.company_name) {
        console.log(`🏛️ ${item.company_name} (CIK: ${item.cik})`);
    }
});
```

***

### 🔄 Expand Your B2B Intelligence Pipeline

Enrich your stealth funding leads by pairing this tool with our complementary scrapers:

- **[Startup Fundraising Scraper](https://apify.com/complex_intricate_networks/fundraising-and-startup-funding-scraper):** Cross-reference SEC filings with public news announcements across TechCrunch, Crunchbase, and FinSMEs.
- **[Startup Hiring Signals & Linkedin Finder](https://apify.com/complex_intricate_networks/founder-contact-enricher-hiring-signals):** Extract verified founder LinkedIn profiles and track active hiring status for these newly discovered companies\[cite: 7].
- **[Company Signal - AI Company Research](https://apify.com/complex_intricate_networks/company-research-ai):** Deep-dive into company firmographics, tech stacks, and web traffic.

***

### ❓ FAQ

**What is an SEC Form D filing?**\
Form D is a legal filing required by the U.S. Securities and Exchange Commission when a company offers or sells securities without registration under the Securities Act of 1933 (Regulation D exemptions for private placements and venture rounds).

**How is this different from TechCrunch news scraping?**\
News scrapers only capture rounds that companies choose to publicize via PR. SEC Form D filings are legally mandated government documents, capturing 100% of regulated private US fundraises—including stealth companies that avoid media coverage\[cite: 2, 5].

**Can I run this on an automated schedule?**\
Yes. Use Apify **Schedules** to run this Actor daily and deliver fresh Form D records via Webhook directly to Slack, Google Sheets, or your CRM.

**Is scraping SEC EDGAR data legal?**\
Yes. SEC EDGAR is a public U.S. government database containing open public records. This Actor strictly queries official public endpoints in compliance with data access guidelines.

# Actor input Schema

## `maxRequestsPerCrawl` (type: `integer`):

Maximum number of filing pages the crawler will inspect.

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

Apify proxy configuration for SEC EDGAR access.

## Actor input object example

```json
{
  "maxRequestsPerCrawl": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `overview` (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 = {
    "maxRequestsPerCrawl": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("complex_intricate_networks/sec-form-d-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 = {
    "maxRequestsPerCrawl": 50,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("complex_intricate_networks/sec-form-d-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 '{
  "maxRequestsPerCrawl": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call complex_intricate_networks/sec-form-d-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,complex_intricate_networks/sec-form-d-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/xgjnqnLL39CAIo8A0/builds/NwmIUKsH7uvUfwcQl/openapi.json
