# Form D Funding Leads: New Startup & Private Raise Filings (`infocomp/form-d-funding-leads`) Actor

Fresh leads from new Form D filings: companies that just raised private capital. Issuer name, address, issuer phone (as filed), industry, amount raised, investors and exemptions. From public SEC filing data; funds excluded by default. $2 per 1,000 leads.

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

## Pricing

$2.00 / 1,000 form d 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

## Form D Funding Leads: New Startup & Private Raise Filings

**Get a fresh list of companies that just raised private capital**, straight from new Form D notices filed with the U.S. Securities and Exchange Commission. One clean row per filing: issuer name, address and **issuer phone (as filed)**, industry, amount offered and sold, number of investors, exemptions claimed and date of first sale. Each row also keeps the filing's related-persons and signature sections for reference.

- 🚀 **Newly funded companies every business day:** startups raising SAFEs and seed rounds, real-estate syndications, growth rounds.
- 🏢 **Operating companies only by default:** hedge, PE, VC and real-estate funds are skipped (one checkbox to include them).
- 🎯 **Filters:** issuer state, industry category or group, minimum amount sold or offered, exemption (506(b)/506(c)), entity type, amendments.
- 💲 **$2.00 per 1,000 leads** ($0.002 per lead). Filings that your filters drop are free.
- 🔒 **Filing data only.** No scraped emails, no enrichment, no guessed contacts.

### What does Form D Funding Leads do?

1. Reads the public daily form index for the filing days you choose (default: the most recent business day with filings).
2. Opens each Form D notice's structured XML (`primary_doc.xml`).
3. Parses it into one row, applies your filters, and saves the matches.

In a local test on 2026-10-27 the default input read the 2026-10-26 index (**108 new Form D notices**) and saved **47 operating-company leads in about 22 seconds**.

### Who is it for?

- **B2B sales and agencies:** companies that just raised money and are about to spend it (SaaS, recruiting, legal, accounting, insurance, office space).
- **Investors and analysts:** deal flow, competitor and market tracking by industry and state.
- **Service providers to startups:** banks, fractional CFOs, payroll and benefits brokers.
- **Researchers and journalists:** private-market activity by industry, region and exemption.

### How to use it

1. Click **Try for free**.
2. Leave the dates empty for the latest filing day, or set **Latest filing days** (e.g. 5) or a **Start/End date**.
3. Optional: pick **Issuer states**, **Industry categories/groups**, **Min amount sold**, **Exemptions**.
4. Click **Start** and download JSON, CSV or Excel, or use the API. Add a **Schedule** (e.g. weekdays at 23:30 US Eastern) for a daily feed.

#### Input example

```json
{
  "lastFilingDays": 3,
  "states": ["TX", "CA", "NY"],
  "industryCategories": ["Technology", "Health Care"],
  "minAmountSold": 100000,
  "excludePooledFunds": true
}
```

| Input | Default | What it does |
|---|---|---|
| `lastFilingDays` | 1 | Number of most recent filing days (used when no start date is set). |
| `startDate` / `endDate` | empty | Filing-date range, YYYY-MM-DD, up to 92 days per run. |
| `states` | all | Issuer address state as listed, two-letter codes. |
| `industryCategories` / `industryGroups` | all | Form D Item 4 industry (e.g. Technology / Other Technology, Biotechnology). |
| `minAmountSold`, `minOfferingAmount` | none | USD thresholds. "Indefinite" offerings are dropped when a minimum offering is set. |
| `exemptions` | all | e.g. `06b` Rule 506(b), `06c` Rule 506(c). |
| `entityTypes` | all | Corporation, LLC, LP, ... |
| `excludePooledFunds` | true | Skip pooled investment funds. |
| `includeAmendments` | false | Also return D/A amendments. |
| `maxResults` | none | Stop after N leads. |

In a local test with this input (3 filing days, 477 notices scanned), it saved 17 leads.

### Output example

A real row from the local test run on 2026-10-27 (filing of 2026-10-26; the related-persons list is shortened here):

```json
{
  "issuerName": "Otto Recruiting, Inc.",
  "cik": "2161306",
  "entityType": "Corporation",
  "jurisdictionOfIncorporation": "DELAWARE",
  "yearOfIncorporation": 2026,
  "incorporationAge": "Within last five years",
  "address": "2261 MARKET STREET, STE 77261, SAN FRANCISCO, CA 94114",
  "city": "SAN FRANCISCO",
  "stateOrCountry": "CA",
  "zipCode": "94114",
  "phone": "(279) 205-6201",
  "industryCategory": "Business Services",
  "industryGroup": "Business Services",
  "isPooledInvestmentFund": false,
  "revenueRange": "Decline to Disclose",
  "securitiesOffered": ["Other: Simple Agreement for Future Equity (SAFE)"],
  "exemptions": ["06b"],
  "exemptionsText": ["Rule 506(b)"],
  "isAmendment": false,
  "dateOfFirstSale": "2026-10-13",
  "minimumInvestment": 0,
  "totalOfferingAmount": 1500000,
  "totalAmountSold": 15000,
  "totalRemaining": 1485000,
  "numberOfInvestors": 2,
  "hasNonAccreditedInvestors": false,
  "salesCommissions": 0,
  "findersFees": 0,
  "relatedPersons": [
    {"name": "George Gregory Markoulakis", "relationships": ["Executive Officer", "Director"],
     "clarification": null, "city": "San Francisco", "stateOrCountry": "CA"}
  ],
  "signerName": "George Markoulakis",
  "signerTitle": "CEO",
  "formType": "D",
  "filingDate": "2026-10-26",
  "accessionNumber": "0002161306-26-000001",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/2161306/000216130626000001/0002161306-26-000001-index.htm",
  "xmlUrl": "https://www.sec.gov/Archives/edgar/data/2161306/000216130626000001/primary_doc.xml",
  "source": "U.S. SEC public filing (Form D)",
  "retrievedAt": "2026-10-27T15:12:33Z"
}
```

Other fields: `street`, `stateOrCountryName`, `previousNames`, `otherIssuers`, `investmentFundType`, `aggregateNetAssetValueRange`, `previousAccessionNumber`, `firstSaleYetToOccur`, `durationMoreThanOneYear`, `isBusinessCombination`, `totalOfferingIndefinite`, `totalRemainingIndefinite`, `numberNonAccreditedInvestors`, `relatedPersonsText` (one-line summary), `signatureDate`. A run summary (days, counts, request rate) is saved as `RUN_SUMMARY` in the key-value store.

### How much does it cost?

**$2.00 per 1,000 leads** ($0.002 per saved row), no start fee, no monthly rental. Apify compute is included.

- Filings dropped by your filters, and filings that fail to load or parse, are **not charged**.
- Example: the default run above (47 leads) costs about **$0.09**. A 5-day range in testing gave 322 leads (about $0.64).
- Set a **maximum cost per run** and the Actor stops cleanly when it is reached.

### Speed and fair use

The Actor reads only public archive files and follows the SEC's published fair-access rules: a declared User-Agent and **at most 5 requests per second** (half the SEC's 10-per-second limit, because cloud IPs can be shared). In testing it averaged 5.0 requests per second and never more than 5 in any one-second window. That's about 5 filings per second: the default run (one filing day, 108 notices) took about 22 seconds, and a 5-day range (827 notices) took about 2 minutes 47 seconds. Temporary errors are retried with backoff (up to 4 tries).

### Data source and credit

- Data: **U.S. Securities and Exchange Commission, EDGAR** public archive (daily form index and Form D XML filings), https://www.sec.gov/Archives/edgar/. Information on sec.gov is public; see the SEC's website policies at https://www.sec.gov/privacy.
- **This Actor is not affiliated with or endorsed by the U.S. Securities and Exchange Commission.**
- **Form D is a notice of an exempt offering filed by the issuer itself.** It is not SEC approval, registration or verification of the company or the offering, and the amounts and details are self-reported. Check the original filing (`filingUrl`) before relying on any figure.
- The Actor returns only what each filing contains. The phone number and address are the issuer's own, as filed. Related persons (name, role and city/state) and the signature block are reproduced as the filing shows them, for reference; they are not contact data, and the Actor adds no personal contact details. Follow applicable laws (e.g. CAN-SPAM, TCPA, GDPR) when you contact anyone.

### More Business Leads tools from InfoComp

These tools work well together. Where present, they share common fields such as company name, state and a source link, so their outputs are easy to join.

- [SAM.gov Contract Opportunities](https://apify.com/infocomp/sam-gov-opportunities): US federal tenders and contract notices from the official SAM.gov API.
- [FMCSA Carrier Vetting](https://apify.com/infocomp/fmcsa-carrier-vetting): US trucking carrier operating authority and safety data from official FMCSA sources.
- [EU/UK Tenders](https://apify.com/infocomp/eu-uk-tenders): public procurement notices from official EU and UK sources.
- [ATS Jobs Feed](https://apify.com/infocomp/ats-jobs-feed): open job postings straight from company applicant tracking systems (hiring signals).

### FAQ

**When is a new day available?** The SEC publishes each day's index in the evening, US Eastern time. Before that, the default run returns the previous business day.

**Why fewer leads than filings?** By default, pooled investment funds (often more than half of the notices) and D/A amendments are skipped. Untick **Exclude pooled investment funds** or tick **Include amendments** to get them.

**Do you add emails or LinkedIn profiles?** No. Only data printed in the filing.

**Is "Indefinite" a number?** No. Then `totalOfferingAmount` is null and `totalOfferingIndefinite` is true.

# Actor input Schema

## `lastFilingDays` (type: `integer`):

Used when no start date is set: how many of the most recent business days with published filings to include. 1 = the latest day (today's list is published in the evening, US Eastern time).

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

Optional. First filing date to include, YYYY-MM-DD. Overrides "Latest filing days". Up to 92 days per run.

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

Optional. Last filing date to include, YYYY-MM-DD. Defaults to today when a start date is set.

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

Two-letter codes of the issuer's address as listed in the filing, e.g. TX, CA, NY. Leave empty for all.

## `industryCategories` (type: `array`):

Broad Form D industry categories. A filing passes if it matches any category here or any group below.

## `industryGroups` (type: `array`):

Specific Form D industry groups (Item 4), e.g. Other Technology, Biotechnology, Commercial (real estate).

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

Only filings reporting at least this much already sold.

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

Only filings with a total offering of at least this much. Offerings marked Indefinite are excluded when this is set.

## `exemptions` (type: `array`):

Keep filings that claim any of these. 06b = Rule 506(b), 06c = Rule 506(c) (general solicitation allowed).

## `entityTypes` (type: `array`):

Issuer legal form as listed.

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

On by default: skips hedge, private equity, VC and real estate funds (industry group Pooled Investment Fund or pooled fund interests offered) so you get operating companies.

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

Off by default: only new notices. Turn on to also get amended filings (updated amounts sold, investors).

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

Stop after this many leads (your max cost per run also applies).

## Actor input object example

```json
{
  "lastFilingDays": 1,
  "states": [],
  "excludePooledFunds": true,
  "includeAmendments": false,
  "maxResults": 50
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "states": [],
    "maxResults": 50
};

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

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,infocomp/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/0cHeqSttusjek1eWT/builds/jK9oyx9ZWnxUoEhHz/openapi.json
