# Recently Funded Companies: SEC Form D Private Funding Feed (`maxforreal/sec-form-d-funding-feed`) Actor

Companies that just raised money, from SEC EDGAR Form D filings: amount raised, industry, address, phone, executives, directors and filing links. Filter by date, state, industry, amount. No login.

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

## Pricing

from $3.00 / 1,000 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

## Recently Funded Companies: SEC Form D Private Funding Feed

Find companies that just raised money. When a US company sells shares, notes or other securities in a private round (seed, Series A, a bridge note, a real estate syndication), it usually files a short notice called Form D with the SEC within 15 days of the first sale. This Actor reads those filings straight from SEC EDGAR and returns one clean record per company: name, address, phone, industry, how much it has raised so far, the total round size, the date of the first sale, the number of investors, and the executives, directors and promoters named in the filing, with links back to the filing. Filter by filing date, state, industry and minimum amount raised. It uses only the official EDGAR index files and filing XML, with no login and no account.

### Who it is for

- **Sales and business development teams:** a company that just closed a round has fresh budget and is hiring. Reach out to the named executives while the money is new.
- **VCs, angels and scouts:** see who is raising in your sector and state, and who they are, often before any press release.
- **Recruiters, agencies, SaaS vendors, accountants and lawyers:** newly funded startups are buying.
- **Researchers and journalists:** track private capital raising by industry and region over time.
- **AI agents and LLM workflows:** each record has a one-line plain-English `summary`, ready for prompts, CRMs or MCP tools.

### What data you get

| Field | Type | Description |
|---|---|---|
| `issuerName` | string | Company (issuer) name |
| `cik` | number | SEC Central Index Key, a stable company id |
| `formType` | string | `D` (new notice) or `D/A` (amendment) |
| `filingDate` | string | Date filed with the SEC, `YYYY-MM-DD` |
| `accessionNumber` | string | SEC accession number of the filing |
| `entityType` | string | Corporation, Limited Liability Company, Limited Partnership, ... |
| `jurisdictionOfIncorporation` | string | State or country of incorporation, for example `Delaware` |
| `yearOfIncorporation` / `yearOfIncorporationRange` | number / string | Year (given for companies formed in the last five years) and the range checkbox |
| `street1`, `street2`, `city`, `stateOrCountry`, `stateOrCountryDescription`, `zipCode`, `address` | string | Principal place of business |
| `phone` | string | Company phone number as filed |
| `previousNames` | array | Earlier company names on EDGAR |
| `industryGroup` / `industrySector` | string | Form D industry group (for example `Biotechnology`) and its sector (`Health Care`) |
| `investmentFundType` | string | For pooled funds: Venture Capital Fund, Private Equity Fund, Hedge Fund, ... |
| `revenueRange` / `aggregateNetAssetValueRange` | string | Revenue range (or net asset value range for funds), often `Decline to Disclose` |
| `federalExemptions` | array | Exemptions claimed, for example `06b` (Rule 506(b)), `06c` (506(c)), `3C.1` |
| `isAmendment` / `previousAccessionNumber` | boolean / string | Amendment flag and the filing it amends |
| `dateOfFirstSale` / `firstSaleYetToOccur` | string / boolean | When the first securities were sold |
| `offeringMoreThanOneYear` | boolean | Whether the offering is expected to last over a year |
| `securitiesTypes` | array | Equity, Debt, Option/Warrant, Pooled Investment Fund Interests, ... |
| `minimumInvestment` | number | Minimum investment accepted, USD |
| `totalOfferingAmount` / `isOfferingAmountIndefinite` | number / boolean | Total round size in USD (null if "Indefinite") |
| `totalAmountSold` | number | Amount sold so far, USD |
| `totalRemaining` | number | Amount still to be sold, USD |
| `currency` | string | Always `USD` |
| `hasNonAccreditedInvestors`, `numberNonAccreditedInvestors`, `totalNumberAlreadyInvested` | | Investor counts |
| `salesCommissions`, `findersFees`, `grossProceedsToInsiders` | number | Fees and proceeds paid to insiders, USD |
| `signerName`, `signerTitle`, `signatureDate` | string | Who signed the filing |
| `relatedPersons` | array | Each person: `name`, `firstName`, `lastName`, `roles` (Executive Officer, Director, Promoter), `relationshipClarification`, `city`, `stateOrCountry`, `address` |
| `relatedPersonsText` | string | The same people as one line |
| `executiveOfficers`, `directors`, `promoters` | array | Names by role, handy for spreadsheets |
| `salesCompensation` / `salesCompensationRecipients` | array | Brokers or placement agents paid for the round: name, CRD number, broker-dealer, states |
| `filingUrl` | string | EDGAR filing index page |
| `formViewUrl` | string | Human-readable view of the Form D |
| `xmlUrl` | string | The filing XML this record was parsed from |
| `companyFilingsUrl` | string | All Form D filings of this company on EDGAR |
| `summary` | string | One-line plain-text summary |
| `sourceUrl` | string | EDGAR daily index file the filing was found in |
| `scrapedAt` | string | ISO timestamp |

### How to use

1. Optional but recommended: enter **Your name and email for SEC**, for example `Acme Ventures research@acmeventures.com` (see "Why give a contact?" below). Left empty, a default contact is used.
2. Pick a date range. The default is the last 7 days.
3. Optionally filter by industry, state and minimum amount raised, then run.

Basic run, last 7 days, operating companies only:

```json
{
  "userAgentContact": "Acme Ventures research@acmeventures.com",
  "dateFrom": "7 days",
  "maxItems": 50
}
```

Tech and biotech companies that raised at least $1M in a new round, in California or New York:

```json
{
  "userAgentContact": "Acme Ventures research@acmeventures.com",
  "dateFrom": "14 days",
  "formTypes": ["D"],
  "industryGroups": ["Technology", "Biotechnology"],
  "states": ["CA", "NY"],
  "minAmountRaised": 1000000,
  "newOfferingsOnly": true,
  "maxItems": 200
}
```

#### Input options

| Option | Default | What it does |
|---|---|---|
| `userAgentContact` | (default contact) | Your name/company and email, sent to the SEC in the User-Agent header |
| `dateFrom` / `dateTo` | last 7 days | Filing date range. Absolute (`2026-10-01`) or relative (`7 days`, `2 weeks`). Up to 92 business days per run |
| `formTypes` | `["D", "D/A"]` | New notices, amendments or both |
| `minAmountRaised` | `0` | Minimum `totalAmountSold` in USD |
| `industryGroups` | all | Form D industry groups, or whole sectors such as `Technology`, `Health Care`, `Real Estate`, `Energy` |
| `states` | all | Two-letter state codes of the principal place of business, for example `CA`, `TX` |
| `excludePooledFunds` | `true` | Skip VC, PE, hedge and real estate funds and SPVs so you get operating companies. Turn off to track fund raises |
| `newOfferingsOnly` | `false` | Keep only rounds whose first sale is yet to occur, or happened no more than 30 days before `dateFrom`. Drops yearly renewals of old offerings |
| `dedupeByCompany` | `true` | Keep only the latest filing per company in the range |
| `maxItems` | `50` | Maximum number of records saved |
| `proxyConfiguration` | none | Optional, not needed for SEC |

Tip: schedule the Actor to run every weekday with `dateFrom` set to `1 day` and you get a daily feed of newly funded companies.

### Sample output

A real record from a local run (related persons shortened to two):

```json
{
  "issuerName": "Boltz, PBC",
  "cik": 2161288,
  "formType": "D",
  "filingDate": "2026-10-22",
  "accessionNumber": "0002161288-26-000001",
  "entityType": "Corporation",
  "jurisdictionOfIncorporation": "Delaware",
  "yearOfIncorporation": 2025,
  "yearOfIncorporationRange": "Within Last Five Years",
  "street1": "857 Beacon, Apt. 63",
  "street2": null,
  "city": "Boston",
  "stateOrCountry": "MA",
  "stateOrCountryDescription": "Massachusetts",
  "zipCode": "02215",
  "address": "857 Beacon, Apt. 63, Boston, MA 02215",
  "phone": "857-999-6838",
  "previousNames": [],
  "industryGroup": "Other Technology",
  "industrySector": "Technology",
  "investmentFundType": null,
  "revenueRange": "Decline to Disclose",
  "aggregateNetAssetValueRange": null,
  "federalExemptions": ["06b"],
  "isAmendment": false,
  "previousAccessionNumber": null,
  "dateOfFirstSale": "2026-10-07",
  "firstSaleYetToOccur": false,
  "offeringMoreThanOneYear": false,
  "securitiesTypes": ["Equity"],
  "securitiesOtherDescription": null,
  "isBusinessCombination": false,
  "minimumInvestment": 0,
  "totalOfferingAmount": 119999991,
  "isOfferingAmountIndefinite": false,
  "totalAmountSold": 97359830,
  "totalRemaining": 22640161,
  "hasNonAccreditedInvestors": false,
  "numberNonAccreditedInvestors": null,
  "totalNumberAlreadyInvested": 18,
  "salesCommissions": 0,
  "findersFees": 0,
  "grossProceedsToInsiders": 0,
  "signerName": "Gabriele Corso",
  "signerTitle": "President",
  "signatureDate": "2026-10-21",
  "currency": "USD",
  "relatedPersons": [
    {
      "name": "Gabriele Corso",
      "firstName": "Gabriele",
      "lastName": "Corso",
      "roles": ["Executive Officer", "Director"],
      "relationshipClarification": null,
      "city": "Boston",
      "stateOrCountry": "MA",
      "address": "857 Beacon, Apt. 63, Boston, MA 02215"
    },
    {
      "name": "Sunil Dhaliwal",
      "firstName": "Sunil",
      "lastName": "Dhaliwal",
      "roles": ["Director"],
      "relationshipClarification": null,
      "city": "Boston",
      "stateOrCountry": "MA",
      "address": "857 Beacon, Apt. 63, Boston, MA 02215"
    }
  ],
  "relatedPersonsText": "Gabriele Corso (Executive Officer, Director); Saro Passaro (Director); Jeremy Wohlwend (Executive Officer, Director); Sunil Dhaliwal (Director); Dylan Reid (Director); Andrew Hedin (Director)",
  "executiveOfficers": ["Gabriele Corso", "Jeremy Wohlwend"],
  "directors": ["Gabriele Corso", "Saro Passaro", "Jeremy Wohlwend", "Sunil Dhaliwal", "Dylan Reid", "Andrew Hedin"],
  "promoters": [],
  "salesCompensation": [],
  "salesCompensationRecipients": [],
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/2161288/000216128826000001/0002161288-26-000001-index.htm",
  "formViewUrl": "https://www.sec.gov/Archives/edgar/data/2161288/000216128826000001/xslFormDX01/primary_doc.xml",
  "xmlUrl": "https://www.sec.gov/Archives/edgar/data/2161288/000216128826000001/primary_doc.xml",
  "companyFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0002161288&type=D&dateb=&owner=include&count=40",
  "sourceUrl": "https://www.sec.gov/Archives/edgar/daily-index/2026/QTR4/form.20261022.idx",
  "summary": "Boltz, PBC (Boston, MA), Other Technology industry, filed a Form D reporting $97.4M sold of a $120.0M offering (equity) on 2026-10-22. First sale 2026-10-07. 18 investors. Executives: Gabriele Corso, Jeremy Wohlwend.",
  "scrapedAt": "2026-10-26T18:58:16.643Z"
}
```

### Pricing

Pay per result: **$3 per 1,000 filings** saved, plus a small start fee per run. You only pay for records that pass your filters. Set a maximum charge on the run and the Actor stops cleanly when it is reached.

### How it works

The Actor downloads the SEC's daily form index (`https://www.sec.gov/Archives/edgar/daily-index/YYYY/QTRn/form.YYYYMMDD.idx`) for each business day in your range, picks out the Form D and D/A filings, then downloads each filing's `primary_doc.xml` and parses it. Nothing else is fetched: no HTML pages, no search pages. Days run newest first, so `maxItems` gives you the freshest filings.

It follows the SEC's [fair access policy](https://www.sec.gov/search-filings/edgar-search-assistance/accessing-edgar-data): at most 5 requests per second (the SEC limit is 10), a declared User-Agent with your contact, retries with backoff, and only the files it needs.

A typical day has 250 to 350 Form D filings. A run with no filters and `maxItems` 50 takes about 20 seconds. Narrow filters (one state, one industry, a high minimum amount) mean the Actor has to check more filings to find matches, so they take longer, about one minute per business day scanned in the worst case.

### FAQ

**Why give a contact?**
The SEC asks every automated client to declare who it is in the User-Agent header, with an email, for example `Sample Company Name AdminContact@samplecompany.com`. Requests without one can be blocked. The Actor sends your value only to sec.gov, as `<your value> (Apify Actor sec-form-d-funding-feed)`, or `Apify Actor sec-form-d-funding-feed <email>` if you give just an email. Please use a real address you read: the SEC uses it to contact heavy users before blocking them.

**Is it legal?**
Form D filings are public records published by the SEC for anyone to read. The Actor uses only the SEC's public EDGAR files, needs no login, and follows the SEC's published fair access rules. Filings name real people (executives, directors, promoters) with business addresses, which sometimes are home addresses. You are responsible for how you use the data, including privacy and anti-spam rules such as CAN-SPAM and GDPR when you contact anyone.

**Does it find emails?**
No. Form D does not include email addresses or websites, and the Actor does not guess them. You get the company phone number, address and named people, which you can enrich with your own tools.

**Why is the amount sold 0?**
Many companies file when the round opens, before money comes in, or file for an open-ended offering. Use `minAmountRaised` to keep only filings that report money sold, and watch for a later D/A with the updated amount.

**What is the difference between D and D/A?**
D is the first notice for an offering. D/A is an amendment: companies must amend yearly while an offering continues and when key facts change, so a D/A often means an old round got bigger, not a brand new one. Use `formTypes: ["D"]` and `newOfferingsOnly` for fresh rounds.

**Can I use it with AI tools?**
Yes. Records are flat, use stable camelCase field names and include a plain-text `summary`, so they work well in LLM prompts, AI agents and MCP-based tools.

### Limitations

- **Not every raise files a Form D.** Form D covers offerings under Regulation D (and some others). Many startups file late or not at all, convertible notes and SAFEs are sometimes not reported, and funding from loans or grants never appears. Treat this as a strong signal, not a complete list of who raised.
- **Amounts are self-reported** by the company and not checked by the SEC. "Amount sold" is the amount at filing time, round sizes are sometimes rounded or "Indefinite", and a filing is not proof that the money arrived.
- **Investors are not named.** Form D lists the number of investors, not who they are. Directors listed are often investor board members, which can hint at the lead investor.
- **Timing:** companies file within 15 days of the first sale, and EDGAR publishes each day's index in the evening (US Eastern). Today's filings may not be available until the next day. Weekends and federal holidays have no index.
- **Many filers are funds and SPVs.** They are excluded by default. Real estate syndications are operating entities on Form D and are included unless you filter by industry.
- One run covers at most 92 business days. For longer history, run several date ranges.

# Actor input Schema

## `userAgentContact` (type: `string`):

Your name or company and a real email address, for example "Acme Ventures research@acmeventures.com". The SEC fair access policy asks automated clients to identify the real requester in the User-Agent header. Sent only to sec.gov. If left empty, a default publisher contact is used.

## `dateFrom` (type: `string`):

First filing date to include: an absolute date (2026-10-01) or a relative one ("7 days"). Empty means 7 days before "Filed to".

## `dateTo` (type: `string`):

Last filing date to include. Empty means today. EDGAR publishes each day's index on business days, usually by the evening (US Eastern).

## `formTypes` (type: `array`):

D is a new notice of an offering. D/A is an amendment (often a yearly update or a change in amount sold).

## `minAmountRaised` (type: `integer`):

Only keep filings whose total amount sold so far is at least this many US dollars. 0 keeps everything, including offerings with nothing sold yet.

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

Only keep these Form D industry groups. Leave empty for all.

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

Only keep issuers whose principal place of business is in these US states or EDGAR country codes, for example CA, NY, TX. Leave empty for all.

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

Skip pooled investment funds (VC, private equity, hedge and real estate funds, SPVs). On by default so you get operating companies. Turn off to see who is raising funds.

## `newOfferingsOnly` (type: `boolean`):

Only keep offerings whose first sale is yet to occur or happened within 30 days before "Filed from" or later. Removes yearly renewals of old offerings.

## `dedupeByCompany` (type: `boolean`):

Keep only the latest filing per company (CIK) in the date range.

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

Maximum number of filings to save. Newest filing days are processed first.

## `proxyConfiguration` (type: `object`):

Optional. SEC EDGAR works without a proxy, and the Actor already stays under the SEC rate limit.

## Actor input object example

```json
{
  "dateFrom": "7 days",
  "formTypes": [
    "D",
    "D/A"
  ],
  "minAmountRaised": 0,
  "industryGroups": [],
  "states": [],
  "excludePooledFunds": true,
  "newOfferingsOnly": false,
  "dedupeByCompany": true,
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

All items saved by this run (table view: overview).

# 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 = {
    "dateFrom": "7 days",
    "minAmountRaised": 0,
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("maxforreal/sec-form-d-funding-feed").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 = {
    "dateFrom": "7 days",
    "minAmountRaised": 0,
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("maxforreal/sec-form-d-funding-feed").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 '{
  "dateFrom": "7 days",
  "minAmountRaised": 0,
  "maxItems": 50
}' |
apify call maxforreal/sec-form-d-funding-feed --silent --output-dataset

```

## MCP server setup

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

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/x5NF34yctQ8fjYtPd/builds/9IBaLUKUOpa0P71pk/openapi.json
