# SEC Form D Funding Leads — Newly Funded Startups & Executives (`technicaldost/sec-form-d-funding-leads`) Actor

Daily startup funding leads from SEC Form D: newly funded US companies with amount raised, offering size, investors, executives with titles, phone and address. Funds and real-estate SPVs filtered out, first-time raises flagged, delta mode for schedules.

- **URL**: https://apify.com/technicaldost/sec-form-d-funding-leads.md
- **Developed by:** [Technical Dost Solutions](https://apify.com/technicaldost) (community)
- **Categories:** Lead generation, Automation
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 funding lead (operating company)s

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 Funding Leads: Startup Funding Leads & Newly Funded Companies

Get a **daily list of newly funded US companies from SEC Form D filings**, with the amount raised, offering size, number of investors, **executives and directors with titles**, phone number and address. Every row is a lead you can use straight away.

Most Form D scrapers return every filing, and on a typical day about half of those are VC funds, fund SPV series and real-estate deal vehicles. This Actor **returns operating companies only by default** and tells you whether each company is **raising for the first time**. Run it on a daily schedule with *Only new* switched on: you receive each lead once and pay for it once.

Built for **B2B SaaS and fintech sales teams, wealth managers and private bankers, recruiters, accountants and lawyers, M\&A advisers, and lead-generation agencies**.

### What you get (per lead)

| Field | Example |
|---|---|
| `companyName`, `cik`, `accessionNumber` | `Sunshine Buns, Inc.`, `2163918`, `0002163918-26-000001` (stable unique ID) |
| `primaryContactName`, `primaryContactTitle` | `Christiana Hammer`, `President` |
| `executives[]`, `executivesSummary` | Every executive officer, director and promoter with name, title and relationship |
| `phone`, `phoneFormatted`, `street`, `city`, `state`, `zip` | `+1 (801) 310-1745`, `1086 South State Street, Orem, UT 84097` |
| `industrySector`, `industryGroup` | `Technology`, `Other Technology` |
| `totalAmountSold`, `totalOfferingAmount`, `totalRemaining`, `percentSold` | `7000000`, `7000000`, `0`, `100` (numbers in USD) |
| `investorCount`, `minimumInvestment` | `3`, `0` |
| `dateOfFirstSale`, `filedAt` | `2026-10-23`, `2026-11-06` (ISO dates) |
| `isFirstTimeIssuer`, `priorFormDCount`, `firstFormDDate` | `true`, `0`, `2026-11-06` (first raise on EDGAR) |
| `filingType`, `previousAccessionNumber` | `new` or `amendment` (Form D/A) |
| `exemptions`, `securityTypes`, `otherSecurityDescription` | `Rule 506(b)`, `equity`, SAFE or convertible-note descriptions |
| `yearOfInc`, `entityType`, `jurisdictionOfInc`, `revenueRange` | `2026`, `Corporation`, `DELAWARE`, `Decline to Disclose` |
| `brokerPaid`, `brokerNames`, `salesCommissions`, `findersFees` | Whether a broker-dealer was paid, and how much |
| `issuerCategory`, `fundSignals` | `operating_company` (or `pooled_fund`, `real_estate_vehicle`, `likely_spv` when funds are included) |
| `formUrl`, `filingUrl`, `xmlUrl`, `edgarCompanyUrl` | Links to the filing on sec.gov, so you can check any lead |

The dataset has two ready-made table views, **Sales leads: newly funded companies** and **Offering details**. You can export to CSV, Excel, JSON or Google Sheets, or send rows to your CRM.

**Typical volume:** EDGAR receives about 200–320 Form D and D/A filings each business day. In our tests on 2–6 Nov 2026, about **60 per day were new filings from operating companies** after funds, real-estate vehicles and amendments were removed.

### How it works

1. Lists each day's Form D filings from SEC EDGAR full-text search.
2. Downloads each filing's official `primary_doc.xml` and reads the issuer, the related persons and the offering data from the standard Form D XML.
3. Classifies the issuer as an operating company, pooled fund, real-estate vehicle or likely SPV, then applies your filters.
4. Optionally checks the company's earlier Form D filings to flag first-time issuers.
5. With *Only new* on, it remembers which accession numbers it has already delivered for each stream.

### How to use

1. Set the **Look-back window** (3 days covers a weekend) and, if you want, **Industries**, **States** and **amount** filters.
2. Leave **Only new since last run** on, and give each client, territory or pipeline its own **Stream name**.
3. Click **Start**. For a daily feed, add a **Schedule** (Console → Schedules → weekdays at 12:00 UTC). Each run returns only filings you have not received yet. If a run is skipped, the next one covers the gap, up to 30 days back.

**Example: wealth manager, Texas founders who raised $1M+ for the first time**

```json
{
  "states": ["TX"],
  "minAmountSold": 1000000,
  "firstTimeIssuersOnly": true,
  "onlyNew": true,
  "stateKey": "tx-founders"
}
```

**Example: B2B SaaS SDR team, daily tech and health-care raises nationwide**

```json
{
  "lookbackDays": 3,
  "industries": ["Technology", "Health Care"],
  "filingType": "new",
  "requireExecutive": true,
  "onlyNew": true,
  "stateKey": "sdr-daily",
  "maxItems": 300
}
```

**Example: recruiter, early-stage raises of $500k to $20M in California and New York**

```json
{
  "states": ["CA", "NY"],
  "minAmountSold": 500000,
  "maxAmountSold": 20000000,
  "excludeYetToOccur": true,
  "onlyNew": true,
  "stateKey": "recruiting-ca-ny"
}
```

**Example: fund-admin or fund-services prospecting (funds included)**

```json
{ "includeFunds": true, "industries": ["Pooled Investment Fund"], "lookbackDays": 7, "onlyNew": false }
```

### Pricing (pay per result, no subscription)

| Event | Price | When you are charged |
|---|---|---|
| **Funding lead** (operating company) | **$0.01** | For each operating-company Form D filing delivered, with executives, phone, address and offering amounts |
| Fund filing | $0.003 | Only when you turn on *Include funds & real-estate vehicles*, for each fund, real-estate vehicle or likely-SPV filing delivered |

- Filings that are filtered out, and funds excluded by default, are **never charged**.
- With *Only new* on, you **never pay twice** for the same filing.
- To cap your spend, set **Max leads per run** or a maximum charge per run. For example, 60 leads a day costs about **$0.60 a day**.

### Integrations

#### n8n

Import [`integrations/n8n-workflow.json`](https://apify.com/technicaldost/sec-form-d-funding-leads) (Workflows → Import from file). Every weekday it runs the Actor through the Apify API, keeps raises with **$1M or more sold** and appends them to Google Sheets. Add an *HTTP Header Auth* credential with `Authorization: Bearer <your Apify API token>`. You can also use n8n's **Apify** node: *Run Actor* → `technicaldost/sec-form-d-funding-leads` → *Get dataset items*.

#### Make (Integromat)

1. Add the **Apify → Run an Actor** module: Actor `technicaldost/sec-form-d-funding-leads`, *Run synchronously* = Yes, and paste one of the JSON inputs above.
2. Add **Apify → Get Dataset Items** using the run's `defaultDatasetId`.
3. Add a **Filter** (for example `totalAmountSold ≥ 1000000` or `isFirstTimeIssuer = true`), then **Google Sheets → Add a Row**, **HubSpot → Create a Company / Contact**, or **Slack → Create a Message**.
4. Schedule the scenario daily.

No Apify module? Use **HTTP → Make a request**: `POST https://api.apify.com/v2/acts/technicaldost~sec-form-d-funding-leads/run-sync-get-dataset-items` with the header `Authorization: Bearer <token>` and your JSON input as the body. The response is the array of leads.

#### Zapier, API, Python, MCP

- **Zapier:** use the Apify app ("Run Actor", then "Find dataset items") to push leads to your CRM.
- **REST API:** call the endpoint above from any language.
- **Clients:** use the Apify JavaScript or Python client.
- **MCP:** AI agents can call this Actor through the **Apify MCP server**, for example with "find biotech companies in Massachusetts that raised over $5M this week".

### FAQ

**What is a Form D?** It is the notice a company files with the SEC within 15 days of first selling securities in a private placement that relies on Regulation D (Rule 506(b), 506(c) or 504) or Section 4(a)(5). Most US seed, venture and private-equity rounds are filed this way.

**How fresh is the data?** Filings appear in EDGAR full-text search shortly after the SEC accepts them. A daily run catches the previous day's filings.

**How are funds detected?** A filing counts as a fund when it uses the *Pooled Investment Fund* industry group, offers pooled-fund interests, claims an Investment Company Act 3(c) exclusion, or has a fund-style name. Real-estate vehicles are REIT, Commercial, Residential and Other Real Estate filings. "Likely SPV" catches entity-managed vehicles that file as "Other". Turn on *Include funds & real-estate vehicles* to receive all of these, or select a fund or real-estate industry group explicitly.

**Is there an email address?** No. Form D does not include email addresses. You get the company phone, the address and the names and titles of executives. Add your own enrichment step if you need emails.

**What does "first-time issuer" mean?** The company has no earlier original Form D on EDGAR. That usually means its first priced round, or its first round since it was formed. Public companies that raise privately for the first time are flagged too.

**Why are some amounts empty?** If the offering size is "Indefinite", `totalOfferingAmount` is empty and `totalOfferingIndefinite` is `true`. `totalAmountSold` is always a number.

**Does it work for amendments?** Yes. Set *New filings or amendments* to *Amendments only* or *All*. Amendments often show more money sold since the original filing.

### Compliance

This Actor is not affiliated with or endorsed by the U.S. Securities and Exchange Commission. All data comes from **public SEC EDGAR filings**. It follows SEC fair-access rules: every request sends a declared User-Agent, and the Actor stays well under 10 requests per second.

Executive names and company phone numbers are business contact details that issuers published in their filings. **You are responsible for using them lawfully.** Follow **CAN-SPAM**, the TCPA and Do-Not-Call rules, and GDPR or state privacy laws where they apply. The Actor has no outreach features.

**This is not investment advice.** A Form D is a notice of an exempt offering. The SEC does not review or approve it.

### Support

Found a bug, or want a feature such as website matching or a CRM-ready export? Open an issue on the Actor's **Issues** tab.

# Actor input Schema

## `lookbackDays` (type: `integer`):

Return Form D filings filed on or after today minus this many days (1–30). 3 covers a weekend. With 'Only new' on, later runs automatically cover the gap since the last complete run.

## `filingType` (type: `string`):

New = original Form D (a fresh raise — best for leads). Amendments = Form D/A updates to an earlier raise (often more money sold). All = both.

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

Form D industry sectors or groups to keep. Pick a whole sector (e.g. Technology) or specific groups (e.g. Biotechnology). Leave empty for all industries.

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

2-letter codes of the issuer's principal place of business, e.g. CA, NY, TX. Leave empty for all states (foreign issuers use EDGAR country codes).

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

Keep only raises where at least this much has already been sold, e.g. 1000000 for $1M+. Leave empty for no minimum.

## `maxAmountSold` (type: `integer`):

Keep only raises where no more than this has been sold so far (useful to target small, early raises). Leave empty for no maximum.

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

Keep only offerings at least this large (total offering amount). 'Indefinite' offerings pass a minimum but fail a maximum. Leave empty for no minimum.

## `maxOfferingAmount` (type: `integer`):

Keep only offerings no larger than this. Leave empty for no maximum.

## `includeFunds` (type: `boolean`):

Off (default) = operating companies only. Pooled investment funds (VC/PE/hedge funds, SPV series), REIT/real-estate deal vehicles and likely SPVs are excluded and not charged. Turn on to also receive them (charged at the cheaper fund-filing price).

## `firstTimeIssuersOnly` (type: `boolean`):

Keep only companies filing their first-ever Form D (a first institutional or angel raise). Uses one extra SEC lookup per matching company.

## `checkFirstTimeIssuer` (type: `boolean`):

Look up each matching company's earlier Form D filings to fill isFirstTimeIssuer, priorFormDCount and firstFormDDate. Turn off for slightly faster runs.

## `excludeYetToOccur` (type: `boolean`):

Drop filings whose first sale has not happened yet (amount sold is usually $0).

## `minInvestors` (type: `integer`):

Keep only raises with at least this many investors so far. Leave empty for no minimum.

## `requireExecutive` (type: `boolean`):

Drop filings that list no individual executive, director or promoter.

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

Remembers which accession numbers this stream already delivered and returns only new filings, so you never pay twice for the same lead.

## `stateKey` (type: `string`):

Separate 'only new' memory per client, territory or pipeline (e.g. 'ca-tech-raises'). Each stream de-duplicates independently.

## `maxItems` (type: `integer`):

Hard cap on leads returned (and charged) per run.

## `userAgent` (type: `string`):

Optional. SEC requires a declared User-Agent with a contact URL or email. The built-in one works; override only if SEC ever rejects it, e.g. 'YourCompany LeadsBot (https://your-site.com)' or 'YourCompany admin@your-company.com'.

## Actor input object example

```json
{
  "lookbackDays": 3,
  "filingType": "new",
  "states": [],
  "includeFunds": false,
  "firstTimeIssuersOnly": false,
  "checkFirstTimeIssuer": true,
  "excludeYetToOccur": false,
  "requireExecutive": false,
  "onlyNew": true,
  "stateKey": "default",
  "maxItems": 100
}
```

# Actor output Schema

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

All rows produced by SEC Form D Funding Leads — Newly Funded Startups & Executives (default dataset items, JSON).

# 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 = {
    "lookbackDays": 3,
    "states": [],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("technicaldost/sec-form-d-funding-leads").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 = {
    "lookbackDays": 3,
    "states": [],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("technicaldost/sec-form-d-funding-leads").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 '{
  "lookbackDays": 3,
  "states": [],
  "maxItems": 100
}' |
apify call technicaldost/sec-form-d-funding-leads --silent --output-dataset

```

## MCP server setup

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

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/YrKF4756bbp7To5uP/builds/npHhtUkVoBf4D2R5Q/openapi.json
