# SEC Form D Startup Raises: Operating Companies Only (`chaucerlabs/sec-form-d-startup-raises`) Actor

New SEC Form D filings from EDGAR with pooled investment funds and SPVs removed. Get companies that just raised private capital: issuer, state, industry, amount offered/sold, first sale date, executives and filing link.

- **URL**: https://apify.com/chaucerlabs/sec-form-d-startup-raises.md
- **Developed by:** [Chaucer Labs](https://apify.com/chaucerlabs) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 operating-company 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

## SEC Form D Startup Raises: Operating Companies Only

Get a clean list of **companies that just raised private capital**, straight from the SEC's EDGAR Form D filings, with the noise removed.

About **6 in 10 new Form D filings are investment funds** (hedge funds, PE/VC funds, real estate funds, SPVs). If you're looking for sales leads or deal flow, they're clutter. This Actor drops them by default, so every row is an **operating company**: a startup, a biotech, a manufacturer, a local business. You get who raised, how much, where, and who runs it.

### What you get for each company

| Field | Example |
|---|---|
| Company name, CIK | 1921 Technologies Inc., 2159256 |
| Address and phone | 282 11th Avenue, New York, NY 10001, 312-222-0800 |
| Industry (Form D category and group) | Technology / Other Technology |
| Amount offered, sold, remaining (USD) | $10,000,000 / $3,000,000 / $7,000,000 |
| Date of first sale and filing date | 2026-10-02 / 2026-10-16 |
| Executives and directors, with roles | Luke Charest (Executive Officer, Director); ... |
| Entity type, state and year of incorporation | Corporation, Delaware, 2026 |
| Securities offered, exemptions, number of investors | Equity, Rule 506(b), 3 investors |
| Links | SEC filing index page and raw XML |

### Why this one

- **Funds removed.** Filings marked "Pooled Investment Fund" are dropped, and so are lookalike SPVs and feeder funds (names like "... Fund LP", "Co-Invest", "Partners V, LLC", "a Series of ...", LLC/LP issuers in the "Investing" industry, or securities sold as fund interests). Both switches can be turned off.
- **New raises only.** Amendments (D/A) are skipped unless you ask for them, so you're not re-contacting last year's round.
- **Lead filters.** State, industry include/exclude, minimum amount offered, minimum amount sold, and "incorporated in the last 5 years".
- **Monitor mode.** Schedule it daily and get only filings you haven't seen before.
- **Official source.** Data comes directly from SEC EDGAR (public domain). No login, no proxies, no third-party database.

### Use cases

- **Sales prospecting:** companies with fresh cash are buying software, hiring, leasing space and hiring agencies. Reach them in the weeks after the raise.
- **Recruiting:** find funded startups in your region before they post jobs.
- **Banking, legal, accounting and insurance:** spot new clients that need treasury, D\&O cover, audits or cap-table help.
- **Investors and analysts:** track private raises by industry and state.
- **Journalists and researchers:** monitor local funding activity.

### How to use it

1. Pick a date range: **Days back** (default 7) or a start and end date (filing date, up to 92 days per run).
2. Optionally add filters, e.g. States `CA`, Industries `Technology`, Minimum amount sold `1000000`.
3. Run it and export the dataset as CSV, Excel, JSON or via API.

For an ongoing feed, turn on **Monitor mode**, set Days back to 3, and schedule the Actor daily.

#### Input example

```json
{
  "daysBack": 7,
  "states": ["CA", "NY", "TX"],
  "industries": ["Technology", "Health Care"],
  "minAmountSoldUsd": 500000,
  "onlyNewSinceLastRun": false
}
```

#### Output example (one row, trimmed)

```json
{
  "issuerName": "1921 Technologies Inc.",
  "cik": "2159256",
  "formType": "D",
  "filingDate": "2026-10-16",
  "city": "NEW YORK",
  "state": "NY",
  "phone": "312-222-0800",
  "industryCategory": "Technology",
  "industryGroup": "Other Technology",
  "totalOfferingAmountUsd": 10000000,
  "totalAmountSoldUsd": 3000000,
  "dateOfFirstSale": "2026-10-02",
  "yearOfIncorporation": "2026",
  "securitiesOffered": ["Equity"],
  "numberOfInvestors": 3,
  "executives": "Luke Charest (Executive Officer, Director); Felix Levine (Executive Officer, Director); Christopher Chu (Director)",
  "relatedPersons": [{ "name": "Luke Charest", "relationships": ["Executive Officer", "Director"], "city": "New York", "state": "NY" }],
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/2159256/000215925626000001/0002159256-26-000001-index.htm"
}
```

Each run also saves a `RUN_STATS` record in its key-value store: filings scanned, funds dropped, SPVs dropped, rows kept.

### Pricing

You pay per operating-company result returned. Funds and filtered-out filings are never charged. See the Pricing tab for the current rate.

### Notes and limits

- **Timing:** EDGAR publishes each business day's index in the evening (US Eastern), so today's filings usually appear the next morning.
- **Self-reported data:** amounts, industry and dates are what the issuer filed. "Indefinite" offering amounts show as `offeringAmountIndefinite: true`.
- **The SPV filter is a heuristic.** It catches most investment vehicles that didn't tick "Pooled Investment Fund", but check `likelyInvestmentVehicleReason` if you turn it off. Real estate project LLCs are kept by default; exclude them with Industries (exclude) `Real Estate`.
- **Contact data:** Form D gives a company phone number and the names of executives and directors. It doesn't include emails.
- **Fair access:** the Actor identifies itself to the SEC and stays well under its 10 requests/second limit.

### FAQ

**Is scraping Form D legal?** Form D filings are public records published by the SEC for anyone to read. This Actor reads EDGAR's public archive the way the SEC's fair-access policy describes.

**How many results will I get?** It varies by week. On a typical business day there are roughly 120–150 new Form D filings, and about 35–50 of them are operating companies.

**Do co-issuer filings show up twice?** No. When several entities file one Form D together, you get one row per filing.

**Can I get older filings?** Yes. Set a start and end date. Each run covers up to 92 days.

Questions or feature requests? Open an issue on the Actor's Issues tab.

# Actor input Schema

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

How many calendar days of EDGAR filings to read, counting back from the end date (today by default). Ignored when Start date is set.

## `startDate` (type: `string`):

Optional. First filing date to include, YYYY-MM-DD. Overrides Days back.

## `endDate` (type: `string`):

Optional. Last filing date to include, YYYY-MM-DD. Defaults to today. Max range per run: 92 days.

## `excludePooledFunds` (type: `boolean`):

Drop filings whose industry group is "Pooled Investment Fund" (hedge, PE, VC, real estate funds). About 6 in 10 new Form D filings are funds.

## `excludeLikelyInvestmentVehicles` (type: `boolean`):

Also drop filings that didn't tick "Pooled Investment Fund" but look like investment vehicles (names with Fund, SPV, Co-Invest, Feeder, numbered vehicles like "Partners V, LLC", "a Series of"; LLC/LP issuers in the Investing industry; or securities offered as pooled fund interests).

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

Off by default, so you only get new raises. Turn on to also get amended filings (updated amounts, annual renewals).

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

Two-letter state codes of the issuer's principal place of business, e.g. CA, NY, TX. Empty = all. Non-US issuers use EDGAR country codes (e.g. A1 = Ontario).

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

Keep only these industries. Matches the Form D category or group, case-insensitive, partial match. Examples: Technology, Health Care, Biotechnology, Energy, Real Estate, Business Services, Manufacturing. Empty = all.

## `excludeIndustries` (type: `array`):

Drop these industries, same matching as above. Example: Real Estate to remove property LLCs.

## `minAmountOfferedUsd` (type: `integer`):

Keep raises with a total offering amount of at least this much. Offerings marked "Indefinite" are kept.

## `minAmountSoldUsd` (type: `integer`):

Keep raises that have already sold at least this much.

## `onlyIncorporatedWithinFiveYears` (type: `boolean`):

A quick startup filter based on the issuer's own answer on Form D.

## `onlyNewSinceLastRun` (type: `boolean`):

Remembers every filing this Actor has returned on your account. Schedule it daily with Days back = 3 to get only fresh raises.

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

Stop after this many operating-company results. 0 = no limit.

## Actor input object example

```json
{
  "daysBack": 7,
  "excludePooledFunds": true,
  "excludeLikelyInvestmentVehicles": true,
  "includeAmendments": false,
  "minAmountOfferedUsd": 0,
  "minAmountSoldUsd": 0,
  "onlyIncorporatedWithinFiveYears": false,
  "onlyNewSinceLastRun": false,
  "maxResults": 0
}
```

# Actor output Schema

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

Operating-company Form D filings: issuer, address, phone, industry, amounts offered/sold, first sale date, executives and SEC filing link.

## `runStats` (type: `string`):

Filings scanned, pooled funds dropped, likely SPVs dropped and operating companies kept.

# 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 = {
    "daysBack": 7
};

// Run the Actor and wait for it to finish
const run = await client.actor("chaucerlabs/sec-form-d-startup-raises").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 = { "daysBack": 7 }

# Run the Actor and wait for it to finish
run = client.actor("chaucerlabs/sec-form-d-startup-raises").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 '{
  "daysBack": 7
}' |
apify call chaucerlabs/sec-form-d-startup-raises --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,chaucerlabs/sec-form-d-startup-raises"
        }
    }
}
```

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/d41hLLESQxG9Jw8WE/builds/2h18grByHoArrgSsb/openapi.json
