# SEC Form D Funding Leads - Newly Funded Companies, New Filings (`bruco3/sec-form-d-funding-leads`) Actor

Companies that just raised private capital, from official SEC EDGAR Form D filings: issuer, industry, amount raised, investors, executives, first sale date. Investment funds filtered out by default; scheduled runs deliver only filings new since the last one. Pay per lead.

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

## Pricing

from $8.50 / 1,000 lead delivereds

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

## SEC Form D Funding Leads — companies that just raised private capital, from the official source

Every US company that raises money privately (a seed round, a Series A, a private placement) must file a **Form D** with the SEC within 15 days of the first sale. That filing names the company, its industry, how much it raised, from how many investors, and who runs it. This Actor turns EDGAR's Form D stream into **lead records** you can drop into a CRM or hand to an agent — and, scheduled, delivers **only the filings new since the last run**.

Straight from EDGAR (the SEC's own archive): official, complete, free of scraping and of third-party news sites. Nothing is guessed.

### Why this one

| | This Actor | Typical alternatives |
|---|---|---|
| Source | **EDGAR daily index + each filing's own XML** (`data.sec.gov` / `sec.gov/Archives`), read at the SEC's fair-access pace | scraping of EDGAR HTML pages, or mixes with TechCrunch / Crunchbase-like sites |
| Funds vs companies | **Investment funds filtered out by default** — about 60% of Form Ds are PE/VC/hedge funds raising capital, which are not leads | funds and companies mixed |
| Repeat runs | **Only new filings** since the last run, remembered per tracker; filtered-out filings are not re-read | same filings again, or date arithmetic on your side |
| Fields | all of Form D: issuer, address, entity type, year of incorporation, industry, exemptions, securities, amounts (offering / sold / remaining), investors, minimum investment, first sale date, **related persons (executives, directors, promoters)**, signer, links | a subset |
| Amendments | off by default (new offerings only); one switch to include D/A | often mixed in |
| Pricing | **per lead delivered**; filings read but filtered out cost nothing | per row, funds included |

### Output

One record per filing, flat and CSV-friendly (nested lists only for people and multi-value fields):

```json
{
  "accessionNumber": "0001213900-26-101361",
  "formType": "D",
  "isAmendment": false,
  "filedAt": "2026-09-18",
  "issuerCik": 2074867,
  "issuerName": "1st American Nuclear Co.",
  "entityType": "Corporation",
  "jurisdictionOfInc": "DELAWARE",
  "yearOfInc": 2025,
  "incorporatedWithinFiveYears": true,
  "issuerStreet": "310 E. 96TH STREET, SUITE 100",
  "issuerCity": "INDIANAPOLIS",
  "issuerState": "IN",
  "issuerZip": "46240",
  "issuerPhone": "844 813 2626",
  "industryGroup": "Other Energy",
  "isPooledFund": false,
  "revenueRange": "Decline to Disclose",
  "exemptions": ["06b"],
  "dateOfFirstSale": "2026-09-03",
  "securityTypes": ["equity", "debt"],
  "minimumInvestment": 1000000,
  "totalOfferingAmount": 25000000,
  "offeringAmountIndefinite": false,
  "totalAmountSold": 1000000,
  "totalRemaining": 24000000,
  "investorsCount": 1,
  "hasNonAccreditedInvestors": false,
  "relatedPersons": [
    { "name": "Michael Reinboth", "relationships": ["Executive Officer"], "clarification": "Chief Executive Officer", "city": "Indianapolis", "state": "IN" }
  ],
  "signerName": "Michael Reinboth",
  "signerTitle": "Chief Executive Officer",
  "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2074867/000121390026101361/0001213900-26-101361-index.htm",
  "primaryDocUrl": "https://www.sec.gov/Archives/edgar/data/2074867/000121390026101361/primary_doc.xml",
  "edgarCompanyUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0002074867",
  "fetchedAt": "2026-09-21T10:12:03+00:00",
  "isNew": true
}
```

A `SUMMARY` record in the run's key-value store shows, per day: filings listed, read, already seen, filtered out, delivered.

### Input

| Option | What it does |
|---|---|
| **Only new since last run** (on) | remembers delivered filings in a named key-value store; schedule daily and get just the new ones |
| **First run: days back** (3) | how far back the very first run looks when no dates are given |
| **From / to date** | explicit range for a one-off pull or a backfill (weekends skipped) |
| **Exclude investment funds** (on) | delivers operating companies only |
| **Include amendments (D/A)** (off) | amendments report new money sold on an existing offering |
| **Industry groups · States · Entity types** | Form D Item 4 groups (Biotechnology, Computers, Manufacturing, Residential real estate, …), issuer state codes, Corporation / LLC / LP |
| **Minimum offering · Min/Max sold** | USD thresholds; indefinite offerings always pass the offering filter |
| Advanced | maximum leads per run, memory store name (several independent trackers), requests per second (≤ 10, SEC ceiling), contact e-mail for the User-Agent |

### Typical setups

- **Daily lead feed** — defaults, scheduled every morning (EDGAR posts the day's index after the 5:30 pm ET cut-off): ~100 operating-company filings on a normal business day.
- **Tech and biotech in California and New York, real money** — industry groups *Computers, Other Technology, Biotechnology, Pharmaceuticals*; states `CA, NY`; minimum sold `1000000`.
- **Real estate syndications** — industry groups *Residential, Commercial, Other Real Estate*; include amendments to see raises progressing.
- **Backfill a quarter** — from/to dates, only-new on with a fresh store name; then switch to the daily schedule with the same store name.

### Pricing

Pay per event, no subscription: **one event per lead delivered** and a small one per day scanned (so a scheduled run that finds nothing new costs a fraction of a cent). Filings read but filtered out — funds, amendments, out-of-filter industries — are not charged. Set a maximum charge on the run to cap the cost.

### Data, legality, fair access

- Source: EDGAR (`sec.gov/Archives` daily indexes and each filing's `primary_doc.xml`). US federal government works — no licence restrictions on reuse.
- Access follows the SEC's rules for automated clients: identified `User-Agent` with a contact address, **at most 10 requests per second** (default 8), no crawling of pages — only the sanctioned files.
- The **related persons** in a filing (executive officers, directors, promoters) are published by the SEC as part of the public regulatory record. They are delivered as stated in the filing, without enrichment or cross-referencing.

### Limits

- Form D filings appear in the daily index after EDGAR's cut-off; a filing accepted late in the afternoon is dated the next business day. The Actor re-reads the last complete day on every run, so nothing is missed.
- One request per filing: ~280 filings/day ≈ 35 seconds at the default rate. A 30-day backfill takes ~15 minutes.
- Amounts are as reported by the filer (USD, integers); "Indefinite" offerings are flagged rather than converted.

### Related

- **[Feed Monitor](https://apify.com/bruco3/feed-monitor)** — the same "only new since last run" idea for RSS/Atom/JSON feeds.
- **[Citation & Link Verifier](https://apify.com/bruco3/citation-verifier)** — check the sources an AI cites before acting on them.

### Feedback

A field you need, a filter that would save you time? Open an issue on the **Issues** tab. If the Actor earned its keep, a short review helps others find it.

### Changelog

- **0.1** — initial release.

# Actor input Schema

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

The Actor remembers which filings it has delivered (in a named key-value store). Keep this on and schedule it daily: every run returns exactly the Form D filings that appeared since the previous run.

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

Used only on the very first run (no memory yet) when no date range is given. 3 = the last three days of filings.

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

Explicit range for a one-off pull or a backfill, e.g. <code>2026-09-01</code>. Weekends are skipped automatically. With 'only new' on, filings already delivered are still skipped.

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

Inclusive. Leave empty for 'until today'.

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

About 60% of Form D filings are private equity, venture and hedge funds raising capital, not companies. On = deliver operating companies only. Turn off to get every filing.

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

Amendments update an earlier filing (new amount sold, new investors). Off = new offerings only.

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

Form D Item 4 industry groups. Empty = all.

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

Two-letter US state codes of the issuer's address, e.g. <code>CA</code>, <code>NY</code>, <code>TX</code>. Empty = all.

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

E.g. <code>Corporation</code>, <code>Limited Liability Company</code>, <code>Limited Partnership</code>. Empty = all.

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

Filings with an indefinite offering amount always pass.

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

E.g. <code>1000000</code> for companies that have already closed at least $1M.

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

<code>0</code> = no limit.

## `maxFilings` (type: `integer`):

<code>0</code> = no limit.

## `stateStoreName` (type: `string`):

Named key-value store that remembers delivered filings. Use different names to run independent trackers (e.g. one per filter set).

## `requestsPerSecond` (type: `integer`):

The SEC asks automated clients to stay under 10. Default 8.

## `contactEmail` (type: `string`):

The SEC requires automated clients to identify themselves with a contact address. Optional: your own address instead of the Actor's.

## Actor input object example

```json
{
  "onlyNew": true,
  "lookbackDays": 3,
  "excludePooledFunds": true,
  "includeAmendments": false,
  "maxFilings": 0,
  "stateStoreName": "sec-form-d-leads-state",
  "requestsPerSecond": 8
}
```

# Actor output Schema

## `leads` (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 = {};

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

# Run the Actor and wait for it to finish
run = client.actor("bruco3/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 '{}' |
apify call bruco3/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,bruco3/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/45hLrNykDoy57wBb4/builds/8GAcyxrfjES3eXsra/openapi.json
