# SEC Form D Funding Leads: Startup Raises Daily (`maniginam/sec-form-d-funding-leads`) Actor

Find startups and private companies that just raised money, from new SEC Form D filings on EDGAR.  Get the company, amount raised, industry, state, phone, executives, and filing link.  Filter by state, industry, and size, and pay only for new filings on repeat runs.

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

## Pricing

from $1.50 / 1,000 funding leads

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

Find startups and private companies that **just raised money**, straight from new **SEC Form D** filings on EDGAR.  Every company that sells shares, SAFEs, or notes under Regulation D must file a Form D within 15 days of its first sale, so the filings are one of the earliest public signals that a company is funded and about to spend.  This Actor turns each filing into a clean funding lead with the company, amount raised, offering size, industry, business address and phone, executives, and filing link.

Filter by state, industry, and amount raised, leave out hedge and venture funds, and turn on **new filings only** so a daily schedule pays only for filings you have not received before.

### Who is it for?

- **Sales teams** selling to newly funded startups, such as SaaS, recruiting, office space, banking, insurance, and payroll providers.
- **Recruiters and staffing agencies** looking for companies that are about to hire.
- **Investors, VC scouts, and analysts** tracking private raises by sector and region.
- **Lenders, accountants, and law firms** looking for companies that need financial and legal services after a raise.
- **Journalists and researchers** following private capital markets.

### What data does it return?

One row per Form D filing that matches your filters:

- Company name, SEC CIK number, form type, and filing date
- Offering size, amount sold, amount remaining, and percent sold
- Industry, fund type, revenue range, entity type, state of incorporation, and year of incorporation
- Business street, city, state, ZIP code, and phone
- The first executive officer as a contact, plus every executive officer, director, and promoter with roles and titles
- Paid brokers with CRD numbers, sales commissions, and finders fees
- Minimum investment, investor count, first sale date, securities offered, and exemptions claimed
- Links to the filing index page and the Form D XML on SEC EDGAR

Home addresses of people and brokers are left out on purpose.

### How to use

1. Open the Actor and go to the **Input** tab.
2. Set **Days to look back**, for example 7 for the last week of filings.
3. Optionally pick **Issuer states**, **Industries**, and a **Smallest amount already raised** to narrow the list.
4. Keep **Leave out investment funds** on if you want operating companies rather than hedge, private equity, and venture funds.
5. To run it on a schedule, turn on **New filings only** and give the schedule a **Monitor name**.
6. Click **Start**, then open the **Output** tab to view, filter, or download the leads as CSV, Excel, JSON, or HTML.
7. Add a daily schedule under **Schedules** to receive new funding leads every business day.

### Input

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `daysBack` | integer | 7 | Calendar days of filings to read, today included, up to 90. |
| `states` | array | all | Two-letter state or country codes of the issuer's business address, such as TX or CA. |
| `industries` | array | all | Form D industries or industry groups, such as Technology or Health Care. |
| `minAmountSold` | integer | 0 | Keep only offerings that have already sold at least this many dollars. |
| `minOfferingAmount` | integer | 0 | Keep only offerings that aim to raise at least this many dollars.  Indefinite offerings always pass. |
| `excludePooledFunds` | boolean | true | Leave out hedge, private equity, venture, and other pooled investment funds. |
| `includeAmendments` | boolean | false | Include amended filings (Form D/A) as well as new offerings. |
| `onlyNewFilings` | boolean | false | Skip filings that an earlier run with the same monitor name already delivered, free of charge. |
| `monitorName` | string | default | Keeps a separate memory of delivered filings per name. |
| `maxResults` | integer | 1000 | Stop after this many leads, up to 100,000. |

Example input for a daily schedule of technology raises in Texas and California:

```json
{
  "daysBack": 3,
  "states": ["TX", "CA"],
  "industries": ["Technology"],
  "minAmountSold": 500000,
  "excludePooledFunds": true,
  "onlyNewFilings": true,
  "monitorName": "tech-tx-ca",
  "maxResults": 500
}
```

### Output

Each lead looks like this (a fictional example):

```json
{
  "companyName": "Brightleaf Robotics Inc.",
  "cik": "9999999",
  "formType": "D",
  "filedOn": "2026-11-02",
  "industry": "Other Technology",
  "fundType": null,
  "totalOfferingAmount": 5000000,
  "totalAmountSold": 3250000,
  "totalRemaining": 1750000,
  "percentSold": 65.0,
  "offeringIsIndefinite": false,
  "minimumInvestment": 25000,
  "investorCount": 14,
  "hasNonAccreditedInvestors": false,
  "firstSaleDate": "2026-10-28",
  "firstSaleYetToOccur": false,
  "offeringOverOneYear": false,
  "securitiesOffered": [
    "Equity",
    "Options or warrants",
    "Other: SAFE notes"
  ],
  "exemptions": [
    "06b",
    "3C"
  ],
  "issuerSize": "$1 - $1,000,000",
  "entityType": "Corporation",
  "jurisdiction": "DELAWARE",
  "incorporated": "2023",
  "street": "100 Example Way, Suite 200",
  "city": "AUSTIN",
  "state": "TX",
  "zipCode": "78701",
  "phone": "512-555-0100",
  "contactName": "Avery Q. Sample",
  "contactTitle": "Chief Executive Officer",
  "relatedPeople": [
    {
      "name": "Avery Q. Sample",
      "roles": [
        "Executive Officer",
        "Director"
      ],
      "title": "Chief Executive Officer"
    },
    {
      "name": "Jordan Example",
      "roles": [
        "Director"
      ],
      "title": null
    }
  ],
  "salesCompensation": [
    {
      "name": "Example Capital Markets LLC",
      "crd": "999999",
      "brokerDealer": null,
      "states": [
        "TX",
        "CA"
      ]
    }
  ],
  "salesCommissions": 65000,
  "findersFees": 0,
  "otherIssuers": [
    "Brightleaf Robotics Holdings LP"
  ],
  "signerName": "Avery Q. Sample",
  "signerTitle": "Chief Executive Officer",
  "signedOn": "2026-10-30",
  "isAmendment": false,
  "previousAccessionNumber": null,
  "accessionNumber": "0009999999-26-000001",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/9999999/000999999926000001/0009999999-26-000001-index.htm",
  "formUrl": "https://www.sec.gov/Archives/edgar/data/9999999/000999999926000001/primary_doc.xml",
  "checkedAt": "2026-11-03T14:05:12Z",
  "note": null
}
```

Money amounts are whole US dollars.  When a run finds nothing to deliver, for example because every filing was already delivered or no filing matched, it adds one free row with only `checkedAt` and a `note` explaining why.

Every run also saves a free `SEARCH_SUMMARY` record in the default key-value store with the days read, days that had no index yet, filings listed, filings skipped as already delivered, forms read, leads published, and why the run ended.

### New filings only

With **New filings only** on, the Actor remembers the accession number of every filing it delivers in a named key-value store called `sec-form-d-funding-leads-monitor`, under the monitor name you choose.  Later runs with the same monitor name skip those filings before reading them and do not charge for them, so a daily schedule with a few days of overlap never pays twice for the same filing.  Use a different monitor name for each schedule with different filters.

### How it works

SEC EDGAR publishes a daily index of every filing each business day evening, US Eastern time.  The Actor reads the daily index for each day in your range, picks the Form D filings, reads each filing's Form D XML, applies your filters, and delivers the matching leads.  It identifies itself to the SEC with a contact address and stays well under the SEC limit of 10 requests per second.  Weekends, holidays, and today's index before it is published are skipped free of charge.

### Pricing

This Actor uses pay per event pricing: **$1.50 per 1,000 funding leads**, charged as the `form-d-filing` event for each lead delivered, plus a tiny Actor start fee.  Run notes, the summary, filtered out filings, and filings skipped by **New filings only** are free.  Set **Max funding leads** to cap what a run can cost.

### API and integrations

You can start the Actor and read its results from your own code with the [Apify API](https://docs.apify.com/api/v2), the Apify Python and JavaScript clients, or the Apify CLI.  Copy ready-made calls from the **API** tab on the Actor page.

Send new leads to a CRM, Google Sheets, Slack, Zapier, Make, or a webhook from the **Integrations** tab, for example to alert your sales team about every new raise in your territory.

### Related Actors

- [Website Contact Enrichment](https://apify.com/maniginam/website-contact-enrichment): emails, phones, and social links from the websites of newly funded companies.
- [Career Site Job Search](https://apify.com/maniginam/career-site-job-search): open jobs from company career sites, a sign that a funded company is hiring.
- [Career Site Jobs and Hiring Tracker](https://apify.com/maniginam/career-site-jobs-hiring-tracker): new and closed roles for a company list over time.
- [News Brand Mention Monitor](https://apify.com/maniginam/news-brand-mention-monitor): news articles that mention a company.

### Is it legal to use SEC Form D data?

Form D filings are public records published by the US Securities and Exchange Commission on EDGAR for anyone to read.  The Actor reads only public EDGAR files, follows the SEC fair access rules, and leaves out home addresses of people.  You are responsible for how you use the leads, including following anti-spam, privacy, and telemarketing laws such as CAN-SPAM, GDPR, and the TCPA when you contact anyone.  This Actor is not affiliated with or endorsed by the SEC.

### FAQ

**How fresh is the data?**  EDGAR publishes each business day's index in the evening, US Eastern time, so a daily morning run picks up the previous business day's filings.

**Why did a run return no leads?**  Either no filing matched your filters, every match was already delivered with **New filings only** on, or EDGAR had not published the days in your range yet.  The free note row and the `SEARCH_SUMMARY` record say which.

**Does it include email addresses?**  Form D does not ask for email addresses.  Pair the leads with [Website Contact Enrichment](https://apify.com/maniginam/website-contact-enrichment) to find them.

**What do the exemption codes mean?**  06b is Rule 506(b), 06c is Rule 506(c), 04 is Rule 504, and 3C codes are Investment Company Act exclusions used by funds.

**Can I get older filings?**  Yes, up to 90 days back in one run.

### Feedback and custom requests

Found a bug or a missing field?  Open an issue on the Issues tab and it will be looked at quickly.  For a custom request, such as other SEC forms, a CRM export, or a custom filter, open an issue describing what you need.

# Changelog

This Actor's version history is a separate document: https://apify.com/maniginam/sec-form-d-funding-leads/changelog.md

# Actor input Schema

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

Read the filings of this many calendar days, today included, newest first.  EDGAR publishes each business day's list in the evening, US Eastern time, and none on weekends or federal holidays.

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

Keep only companies whose business address is in these states, as two-letter codes such as TX, CA, or NY.  Leave empty for every state and country.

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

Keep only filings in these Form D industries.  A group, such as Technology or Health Care, covers every industry in it.  Leave empty for every industry.

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

Keep only offerings that have already sold at least this many dollars, for example 1000000.  0 keeps every filing.

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

Keep only offerings that aim to raise at least this many dollars.  An offering with no fixed size, which Form D calls indefinite, always passes.  0 keeps every filing.

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

On: hedge funds, private equity funds, venture funds, and other pooled investment funds are left out, so you get operating companies.  Off: funds are included too.

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

On: amended filings, which update an earlier Form D, are included too.  Off: only new offerings are read, which is what most lead lists want.

## `onlyNewFilings` (type: `boolean`):

On: filings already delivered by an earlier run with the same monitor name are skipped free of charge, so a daily schedule pays only for new filings.  Off: every matching filing in the date range is delivered.

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

Keeps a separate memory of delivered filings for each name, so two schedules with different filters do not affect each other.  Leave empty to use the default memory.

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

Stop after delivering this many leads.  Each lead is one charged result.

## Actor input object example

```json
{
  "daysBack": 7,
  "minAmountSold": 0,
  "minOfferingAmount": 0,
  "excludePooledFunds": true,
  "includeAmendments": false,
  "onlyNewFilings": false,
  "maxResults": 50
}
```

# Actor output Schema

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

No description

## `searchSummary` (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 = {
    "daysBack": 7,
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("maniginam/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 = {
    "daysBack": 7,
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("maniginam/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 '{
  "daysBack": 7,
  "maxResults": 50
}' |
apify call maniginam/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,maniginam/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/ohglyl54PJtGM1avZ/builds/6anezefgQLAeQdSKt/openapi.json
