# Startup Funding Rounds Scraper: SEC Form D, Form C & News (`d_nepoch/startup-funding-rounds-scraper`) Actor

Track new startup funding rounds and private placements: SEC Form D (amount raised, investors, executives), Form C crowdfunding with revenue and net income, and rounds from TechCrunch and Crunchbase News. Filters, schedules, only-new monitor mode.

- **URL**: https://apify.com/d_nepoch/startup-funding-rounds-scraper.md
- **Developed by:** [Dmitrii Nepochatykh](https://apify.com/d_nepoch) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 sec filings

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/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

## Startup Funding Rounds Scraper: SEC Form D, Form C & News

Track new startup funding rounds and private placements as they are filed. This Actor reads **SEC Form D** (every US private placement: amount raised, offering size, number of investors, executives and directors, industry, state), **SEC Form C** (equity crowdfunding with the company's revenue, net income, assets and debt) and **funding rounds announced in startup news** (TechCrunch, Crunchbase News: amount, round, valuation, lead investors). Filter by industry, state, amount, company or keyword, and schedule it to get only the new rounds every day.

### Try it in one click

The input is prefilled with tech, biotech and health-care companies that raised at least $1M in the last 7 days plus rounds from the news: click **Start** and get 30 rounds in about 30 seconds, for about $0.17.

Real output, prefilled input, filings of 20–26 October 2026:

| Filed | Company | Industry | Raised | Investors | City |
|---|---|---|---|---|---|
| 2026-10-26 | Warp Sciences Inc. | Other Technology | $194.6M of $218.5M | 50 | Portola Valley, CA |
| 2026-10-22 | Town.com, Inc. | Other Technology | $104.4M of $115.2M | 13 | San Francisco, CA |
| 2026-10-22 | Boltz, PBC | Other Technology | $97.4M of $120.0M | 18 | Boston, MA |
| 2026-10-22 | AheadComputing, Inc. | Other Technology | $63.5M of $80.0M | 8 | Beaverton, OR |
| 2026-10-23 | Slingshot Insurance, Inc. | Other Technology | $27.0M | 13 | Minneapolis, MN |

The same run found the matching news: *Slingshot raises $27M in seed funding* (Crunchbase News, leads Rally Ventures and Skyward Group) and *Legora raises $550M Series E at $8.8B valuation* (TechCrunch). Form D filings often appear before or without any press release.

### What can this startup funding scraper do?

- **SEC Form D (private placements)**: company, filing date, amount sold, total offering, remaining, minimum investment, number of investors and non-accredited investors, securities offered (equity, debt, SAFE, options), date of first sale, industry group, revenue range, year of incorporation, address and phone, executives / directors / promoters, sales commissions, links to the filing.
- **SEC Form C (Reg CF equity crowdfunding)**: funding portal (Wefunder, StartEngine, Republic...), security type, price, target and maximum offering, deadline, and the company's financials for the last two fiscal years: revenue, cost of goods sold, net income, total assets, cash, debt, employees, revenue growth.
- **News rounds**: company, amount, round (pre-seed, seed, Series A–K, growth...), valuation, lead investors, headline, link.
- **Filters**: date range or "last N days", company names or keywords, industries, states, minimum amount raised, minimum offering size, only companies incorporated in the last five years, amendments on or off.
- **Funds and SPVs**: exclude them (default: only operating companies raising for themselves), include them, or show only funds and SPVs. Search a company name with "only" to see SPVs set up to buy its shares (pre-IPO secondary demand).
- **Monitor mode**: with "Only new results" every scheduled run returns just the rounds not seen before, so you pay only for new rows.

### Who uses startup funding data?

- **Sales and business development**: companies that just raised money buy software, services and hires. Executives' names come with every Form D.
- **Investors and analysts**: deal flow, sector trends, round sizes by industry and state, SPV activity around hot pre-IPO names.
- **Recruiters**: freshly funded startups are about to hire.
- **Journalists and researchers**: rounds that were filed but never announced.
- **Crowdfunding investors**: Form C offerings with revenue and losses side by side.

### How to scrape startup funding rounds

1. Pick the **sources**: Form D, Form C, news (or all three).
2. Set the **period**: "Days back" for rolling searches, or fixed dates for research.
3. Narrow it down: industries, states, minimum amount, company names or keywords.
4. Click **Start**. Results appear in the **SEC filings** and **News rounds** tabs of the dataset; export to CSV, Excel, JSON or Google Sheets.
5. To monitor: **Save as a new task**, turn on **Only new results**, give the task its own **Monitor name**, and add a **Schedule** (daily works well).

### Input

| Field | What it does |
|---|---|
| `sources` | `formD`, `formC`, `news` |
| `daysBack` / `dateFrom` / `dateTo` | filing date range (news: publication date) |
| `companyNames` | issuer names or keywords for SEC full-text search; also filters news |
| `fundsMode` | `exclude` (default), `include`, `only` funds and SPVs |
| `industries` | Form D industry groups, e.g. Other Technology, Biotechnology |
| `states` | 2-letter state codes from the filing, e.g. CA, NY |
| `minAmountSold`, `minOfferingAmount` | minimum raised / offering size in USD |
| `onlyYoungCompanies` | incorporated within the last five years |
| `includeAmendments` | also D/A and C/A amendments |
| `newsFeeds`, `includeVcFunds` | which feeds; include VC funds closing new funds |
| `onlyNew`, `monitorName` | monitor mode for scheduled runs |
| `maxResults` | rows per run (all sources together) |

### Output: startup funding data

One row per filing or news round. A Form D row (shortened):

```json
{
  "source": "sec-form-d",
  "form": "D",
  "filedAt": "2026-10-26",
  "companyName": "Warp Sciences Inc.",
  "industryGroup": "Other Technology",
  "totalAmountSold": 194609879,
  "totalOfferingAmount": 218459997,
  "investorCount": 50,
  "securitiesOffered": ["Equity"],
  "city": "PORTOLA VALLEY",
  "state": "CA",
  "yearOfIncorporation": 2026,
  "relatedPersons": [{"name": "…", "relationships": ["Executive Officer", "Director"], "city": "…", "state": "CA"}],
  "isInvestmentVehicle": false,
  "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2160711/000216071126000001/0002160711-26-000001-index.htm"
}
```

A news row:

```json
{
  "source": "news",
  "companyName": "Legora",
  "amountUsd": 550000000,
  "roundType": "Series E",
  "valuationUsd": 8800000000,
  "leadInvestors": [],
  "title": "Legal AI startup Legora raises $550M Series E at $8.8B valuation",
  "publishedAt": "2026-10-21T18:51:56+00:00",
  "feed": "techcrunch"
}
```

Form C rows add `fundingPortal`, `securityType`, `targetOfferingAmount`, `maximumOfferingAmount`, `deadline`, `revenueMostRecentYear`, `revenuePriorYear`, `netIncomeMostRecentYear`, `totalAssetsMostRecentYear`, `cashMostRecentYear`, `employees`, `revenueGrowthPct` and more.

### Ready-made setups

Copy the JSON into the **Input → JSON** tab, click **Save as a new task**, then add a **Schedule** and an integration (Google Sheets, Slack, email, webhook) on the task's **Integrations** tab.

**1. Daily lead list of funded tech startups** (sales, recruiting). Every morning, new tech rounds of $2M+ in the US, only rows you have not seen. Schedule: daily. About $0.05–0.20 per run.

```json
{
  "sources": ["formD", "news"],
  "daysBack": 3,
  "industries": ["Other Technology", "Computers", "Telecommunications", "Business Services"],
  "minAmountSold": 2000000,
  "onlyNew": true,
  "monitorName": "tech-rounds-2m",
  "maxResults": 200
}
```

**2. Biotech and health-care rounds in Massachusetts and California** (investors, BD). Schedule: weekly. About $0.10–0.30 per run.

```json
{
  "sources": ["formD"],
  "daysBack": 7,
  "industries": ["Biotechnology", "Pharmaceuticals", "Other Health Care", "Hospitals and Physicians"],
  "states": ["MA", "CA"],
  "onlyNew": true,
  "monitorName": "biotech-ma-ca",
  "maxResults": 300
}
```

**3. Pre-IPO SPV watch** (secondary-market investors). SPVs and funds formed to buy shares of the names you follow. Schedule: weekly.

```json
{
  "sources": ["formD"],
  "daysBack": 30,
  "companyNames": ["Anthropic", "OpenAI", "Anduril", "Databricks", "Stripe"],
  "fundsMode": "only",
  "includeAmendments": true,
  "onlyNew": true,
  "monitorName": "pre-ipo-spvs"
}
```

**4. Equity crowdfunding with financials** (crowdfunding investors). New Form C offerings with revenue and net income. Schedule: weekly.

```json
{
  "sources": ["formC"],
  "daysBack": 7,
  "minOfferingAmount": 250000,
  "onlyNew": true,
  "monitorName": "reg-cf",
  "maxResults": 300
}
```

### Use it from AI agents (MCP, Claude, ChatGPT, n8n)

**MCP server.** Add this URL to Claude, Cursor, VS Code or any other MCP client and sign in to Apify when asked:

```
https://mcp.apify.com?tools=d_nepoch/startup-funding-rounds-scraper
```

```json
{
  "mcpServers": {
    "startup-funding-rounds-scraper": { "url": "https://mcp.apify.com?tools=d_nepoch/startup-funding-rounds-scraper" }
  }
}
```

Then just ask, for example: *"Which AI or software startups in California raised more than $10M this week, and who are their executives?"* or *"Find SPVs formed to buy Anthropic shares in the last 90 days."* The agent fills sources, dates, industries, states and amounts itself.

**One HTTP call** (waits for the run and returns the results as JSON; for runs longer than 5 minutes use the async `runs` endpoint):

```bash
curl -X POST "https://api.apify.com/v2/acts/d_nepoch~startup-funding-rounds-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sources": ["formD"], "daysBack": 7, "industries": ["Other Technology"], "minAmountSold": 5000000, "maxResults": 50}'
```

**Python** (`pip install apify-client`, version 3):

```python
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("d_nepoch/startup-funding-rounds-scraper").call(
    run_input={"sources": ["formD", "news"], "daysBack": 7, "minAmountSold": 5_000_000, "maxResults": 100},
    max_total_charge_usd=1,  # hard spending cap for this run
)
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item["companyName"], item.get("totalAmountSold") or item.get("amountUsd"))
```

**No-code and agent frameworks**: the Apify integrations for n8n, Make, Zapier, LangChain, LlamaIndex and CrewAI call this Actor by the name `d_nepoch/startup-funding-rounds-scraper` with the same JSON input.

Tips for agents: one row = one SEC filing (`source` sec-form-d / sec-form-c) or one news round (`source` news); money fields are plain USD numbers (`totalAmountSold`, `totalOfferingAmount`, `amountUsd`, `valuationUsd`); use `daysBack` for relative dates and `maxResults` plus `maxTotalChargeUsd` to cap spend.

### How much does it cost to scrape startup funding data?

Pay per result, no subscription: **$5 per 1,000 SEC filings** (Form D or Form C, $0.005 each) and **$10 per 1,000 news rounds** ($0.01 each), plus $0.00005 per run start. Apify Starter, Scale and Business plans get 10%, 20% and 30% off the per-result prices. Filings that do not match your filters are free. A daily monitor of tech rounds typically costs a few cents a day; set **Max total charge** in run options for a hard cap.

### FAQ

**What is SEC Form D?** The notice US companies file within 15 days after the first sale in a private placement (Regulation D). Venture rounds, angel and seed rounds, SAFEs and convertible notes are usually filed on Form D, so it shows rounds before or without a press release.

**Why is the valuation missing for Form D rows?** Form D does not ask for a valuation. Use the news rows (valuation when reported) or combine with your own data.

**Is "raised" the round size?** `totalAmountSold` is what the company has sold so far in this offering; `totalOfferingAmount` is the planned total. Amendments (D/A) update these numbers as the round fills.

**How do I avoid funds and real-estate deals?** Keep `fundsMode` on "exclude" (pooled funds, 3(c) vehicles and vehicle-style names such as "… Fund LP", "… Investor LLC" are dropped) and pick industries like Other Technology or Biotechnology.

**How do scheduled runs avoid duplicates?** Turn on **Only new results**. The Actor stores what it already returned in a named key-value store in your account (one per **Monitor name**).

**Is this data legal to use?** SEC filings are public records published by the US government. News rows contain only headline facts and a link to the article.

### Limits

- Form D and Form C cover US offerings filed with the SEC (foreign issuers that sell to US investors appear too). Non-US rounds appear only through news.
- News feeds keep only their latest posts, so news history is short: schedule daily runs for full coverage.
- Headlines are parsed with rules; unusual wording may miss the round type or lead investors.
- SEC full-text search returns at most 10,000 filings per query window; the Actor splits long periods by week.

### Other scrapers by this developer

- [App Store & Google Play Scraper](https://apify.com/d_nepoch/app-store-google-play-scraper) — app details, ranks, charts and ASO keyword research for both stores.
- [App Store & Google Play Reviews Scraper](https://apify.com/d_nepoch/app-store-google-play-reviews) — reviews from both stores with an insights report per app.
- [AliExpress Product Search Scraper](https://apify.com/d_nepoch/aliexpress-product-search-scraper) — AliExpress prices, sold counts and ratings for any keyword or category.
- [TikTok Shop Product Scraper](https://apify.com/d_nepoch/tiktok-shop-product-scraper) — TikTok Shop products with units sold, stock per variant and rating breakdown.
- [Google Hotels Scraper](https://apify.com/d_nepoch/google-hotels-scraper) — hotel prices for any city and dates, prices from every booking site and a price calendar.

### Feedback

Found a bug or need a field? Open an issue on the **Issues** tab — fixes usually ship within a few days.

# Actor input Schema

## `sources` (type: `array`):

formD = SEC Form D private placements (VC rounds, angel and seed rounds, SPVs). formC = Reg CF equity crowdfunding offerings with revenue, net income, assets. news = rounds announced on TechCrunch and Crunchbase News (amount, round, valuation, lead investors).

## `daysBack` (type: `integer`):

Look at filings and news from the last N days (including today). Ignored when 'Date from' is set. Relative ranges work best for scheduled runs.

## `dateFrom` (type: `string`):

Optional fixed start date (filing date), e.g. 2026-01-01. Overrides 'Days back'.

## `dateTo` (type: `string`):

Optional end date (filing date). Default: today.

## `companyNames` (type: `array`):

Optional. Search SEC filings by issuer name or keyword (e.g. 'Anduril' also finds SPVs that buy Anduril shares) and keep only news rounds mentioning these names. Empty = all filings.

## `fundsMode` (type: `string`):

Form D is also filed by VC funds, real-estate funds and SPVs. 'Exclude' keeps companies raising for themselves. 'Only' shows funds and SPVs — useful to see which private companies SPVs are buying into.

## `industries` (type: `array`):

Keep only these Form D industry groups (as declared by the issuer). Startups mostly use Other Technology, Computers, Biotechnology, Pharmaceuticals, Other Health Care, Business Services. Empty = all.

## `states` (type: `array`):

Keep only issuers headquartered in these US states or countries (2-letter codes as in SEC filings, e.g. CA, NY, TX). Empty = all.

## `minAmountSold` (type: `integer`):

Form D: minimum total amount already sold. News: minimum announced round size.

## `minOfferingAmount` (type: `integer`):

Minimum total offering amount (Form D) or maximum offering amount (Form C). Indefinite fund offerings are kept.

## `onlyYoungCompanies` (type: `boolean`):

Form D: keep issuers that declared incorporation within the last five years (a good proxy for startups).

## `includeAmendments` (type: `boolean`):

Amendments update earlier filings (e.g. more money sold in the same round). Off = only new offerings.

## `newsFeeds` (type: `array`):

Which startup news feeds to read when 'news' is a source. Feeds keep only the latest posts, so schedule the run daily for full coverage. Empty = all.

## `includeVcFunds` (type: `boolean`):

Also return news about venture funds raising new funds, not only startup rounds.

## `onlyNew` (type: `boolean`):

Return only filings and rounds that earlier runs of this monitor have not returned yet. Turn on for scheduled runs: you pay only for new rows. State is kept in a named key-value store in your account.

## `monitorName` (type: `string`):

Separate memory for 'Only new results'. Use a different name for each saved task (e.g. 'ai-seed-ca', 'fintech-ny') so they do not hide each other's results.

## `maxResults` (type: `integer`):

Maximum rows per run across all sources. You also set a hard spending cap with 'Max total charge' in run options.

## `secContactEmail` (type: `string`):

SEC asks automated tools to identify themselves. Optional: added to the User-Agent of requests to sec.gov.

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

Not needed: SEC and news feeds answer directly and fastest without a proxy (SEC throttles shared proxy IPs). Turn on only if your runs get blocked.

## Actor input object example

```json
{
  "sources": [
    "formD",
    "news"
  ],
  "daysBack": 7,
  "fundsMode": "exclude",
  "industries": [
    "Other Technology",
    "Computers",
    "Biotechnology",
    "Pharmaceuticals",
    "Other Health Care",
    "Business Services",
    "Telecommunications"
  ],
  "minAmountSold": 1000000,
  "onlyYoungCompanies": false,
  "includeAmendments": false,
  "includeVcFunds": false,
  "onlyNew": false,
  "monitorName": "default",
  "maxResults": 30,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "sources": [
        "formD",
        "news"
    ],
    "daysBack": 7,
    "industries": [
        "Other Technology",
        "Computers",
        "Biotechnology",
        "Pharmaceuticals",
        "Other Health Care",
        "Business Services",
        "Telecommunications"
    ],
    "minAmountSold": 1000000,
    "maxResults": 30,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("d_nepoch/startup-funding-rounds-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 = {
    "sources": [
        "formD",
        "news",
    ],
    "daysBack": 7,
    "industries": [
        "Other Technology",
        "Computers",
        "Biotechnology",
        "Pharmaceuticals",
        "Other Health Care",
        "Business Services",
        "Telecommunications",
    ],
    "minAmountSold": 1000000,
    "maxResults": 30,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("d_nepoch/startup-funding-rounds-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 '{
  "sources": [
    "formD",
    "news"
  ],
  "daysBack": 7,
  "industries": [
    "Other Technology",
    "Computers",
    "Biotechnology",
    "Pharmaceuticals",
    "Other Health Care",
    "Business Services",
    "Telecommunications"
  ],
  "minAmountSold": 1000000,
  "maxResults": 30,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call d_nepoch/startup-funding-rounds-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,d_nepoch/startup-funding-rounds-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/sho29vyC50PTmXcq6/builds/A8WNPJF37NSJUQJhl/openapi.json
