# Funding Round Signal — new SEC Form D private placements (`handa-labs/funding-round-signal`) Actor

Companies that just raised money: new SEC Form D filings from official EDGAR data with amount sold, offering size, investors, industry, state, entity age and exemptions. Funds filtered out, only new since your last run. No API key.

- **URL**: https://apify.com/handa-labs/funding-round-signal.md
- **Developed by:** [tatsuya handa](https://apify.com/handa-labs) (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 $5.00 / 1,000 form d filings

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### What is Funding Round Signal for?

**When a US company raises money privately, it must tell the SEC within 15 days on Form D.** Around 150 new Form D filings land on EDGAR every business day: seed and Series rounds, convertible notes, growth equity, real-estate syndications. This Actor reads the **official EDGAR daily index**, downloads each new filing, and gives you the **issuer, location, industry, entity age, amount already sold, total offering size, number of investors, security type and exemption** as clean JSON. Fund vehicles (VC/PE/hedge funds) are filtered out by default so what remains are **operating companies that just closed money**. In *monitor* mode it returns **only the filings it has not shown you before**.

Typical users:

- **B2B sales teams** (banking, payroll, insurance, recruiting, SaaS) who want companies with fresh capital, by state and industry, the day they file.
- **Investors, lenders and M\&A advisors** tracking who is raising in their sector.
- **Analysts and journalists** measuring private-capital flows by industry or state.
- **AI agents** needing a structured feed of "companies that just raised" without scraping Crunchbase.

Official data, no scraping of third-party sites, no API key. The Actor identifies itself to the SEC and stays well under the SEC's 10-requests-per-second fair-access limit.

### Sample output

A `filing` record:

```json
{
  "type": "filing",
  "change": "new",
  "accessionNumber": "0001493152-26-041606",
  "formType": "D",
  "isAmendment": false,
  "filedDate": "2026-09-04",
  "issuerName": "Jupiter Wellness, Inc.",
  "cik": "1760903",
  "entityType": "Corporation",
  "jurisdiction": "DELAWARE",
  "yearOfIncorporation": 2023,
  "incorporatedWithinFiveYears": true,
  "previousNames": ["CBD Brands, Inc."],
  "street": "1061 E. Indiantown Road, Suite 110",
  "city": "Jupiter",
  "state": "FL",
  "stateName": "FLORIDA",
  "zip": "33477",
  "phone": "561-244-7100",
  "sic": "2834",
  "sicDescription": "PHARMACEUTICAL PREPARATIONS",
  "industryGroup": "Other Health Care",
  "isPooledFund": false,
  "revenueRange": "$1 - $1,000,000",
  "exemptions": ["06b"],
  "dateOfFirstSale": "2026-08-20",
  "securitiesTypes": ["equity"],
  "minimumInvestment": 0,
  "totalOfferingAmount": 774787,
  "offeringIndefinite": false,
  "totalAmountSold": 774787,
  "totalRemaining": 0,
  "totalInvestors": 1,
  "hasNonAccreditedInvestors": false,
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/1760903/000149315226041606/0001493152-26-041606-index.htm",
  "llmSummary": "Jupiter Wellness, Inc. (Jupiter, FL; Other Health Care, Corporation, formed within 5 years) filed Form D on 2026-09-04: $774,787 sold of $774,787 offering to 1 investor (equity), first sale 2026-08-20, Rule 06b."
}
```

The first record of every run is a `summary` with counts per industry and state, how many filings report an amount, and the sum sold.

### What you get

| Field | Meaning |
| --- | --- |
| `issuerName`, `cik`, `previousNames` | Issuer as registered with the SEC |
| `entityType`, `jurisdiction`, `yearOfIncorporation`, `incorporatedWithinFiveYears` | Corporation / LLC / LP, state of incorporation, age |
| `street`, `city`, `state`, `zip`, `phone` | Principal address and phone from the form |
| `sic`, `sicDescription`, `industryGroup` | SIC code from the EDGAR header (when assigned) and the Form D industry group |
| `revenueRange` | Issuer's self-reported revenue band |
| `exemptions` | Rule 506(b) = `06b`, 506(c) = `06c`, Rule 504 = `04`, fund exclusions `3C…` |
| `totalOfferingAmount`, `offeringIndefinite`, `totalAmountSold`, `totalRemaining` | Offering size and progress in USD |
| `totalInvestors`, `hasNonAccreditedInvestors`, `minimumInvestment` | Investor data |
| `securitiesTypes`, `isBusinessCombination`, `dateOfFirstSale`, `moreThanOneYear` | Deal structure |
| `salesCommissions`, `findersFees`, `proceedsToRelatedPersons` | Fees |
| `relatedPersons` | Officers/directors/promoters with roles, only when `includeRelatedPersons` is on |
| `filingUrl`, `documentUrl` | Links to the EDGAR filing index and the rendered form |
| `change` | `new` (monitor mode), `baseline` or `snapshot` |
| `llmSummary` | One-sentence description for LLM agents and alerts |

### Settings

| Input | Default | Notes |
| --- | --- | --- |
| `daysBack` | 2 | Calendar days of EDGAR daily indexes to read (1–14) |
| `includeAmendments` | false | Include Form D/A |
| `excludeFunds` | true | Drop pooled investment funds |
| `industries` / `excludeIndustries` | – | Form D industry groups as EDGAR encodes them (real estate = Commercial, Residential, Other Real Estate, REITS and Finance) |
| `states` | – | Issuer address state codes |
| `minAmountSold`, `minOfferingAmount` | – | USD thresholds |
| `newIssuersOnly` | false | Formed within five years |
| `equityOnly` | false | Equity securities only |
| `keywords` | – | Match on issuer name, industry, SIC description, city |
| `includeRelatedPersons` | false | Add officer/director names and roles |
| `mode`, `watchlistId`, `emitBaseline`, `maxFilings` | monitor / default / false / 2000 | See below |

#### Monitor mode, watchlists and the free first run

1. Choose a `watchlistId` (e.g. `biotech-ca`) and your filters. Run once. The **first run is a free baseline**: the Actor remembers the filings currently in the index and returns only a summary (nothing is downloaded or charged) unless `emitBaseline` is on.
2. Schedule the same input daily, ideally after 23:00 ET (the SEC writes the daily index around 22:00 ET). Each later run downloads and returns **only filings that appeared since the last run** and charges only for those.
3. Different watchlists keep separate memories. Changing filters starts a new baseline for that watchlist.

Pricing: one `run-summary` event per non-baseline run, one `filing` event per filing record. Filings that are downloaded but do not match your filters are not charged.

#### Example: technology and health-care raises over $1M in California and New York

```json
{
  "industries": ["Other Technology", "Computers", "Telecommunications", "Biotechnology", "Pharmaceuticals", "Other Health Care"],
  "states": ["CA", "NY"],
  "minAmountSold": 1000000,
  "daysBack": 3,
  "mode": "monitor",
  "watchlistId": "tech-health-ca-ny"
}
```

### Notes and limits

- Form D is filed within 15 days of the first sale, so the signal lags the actual close by up to two weeks.
- Filings accepted after 17:30 ET appear in the next business day's index.
- Amounts are what the issuer reports; "Indefinite" offerings have no total.
- Issuers that are new to EDGAR often have no SIC code yet; the Form D industry group is always present.
- Data are official SEC records provided as-is. Not investment advice.

### 日本語

米国企業が私募で資金調達すると15日以内にSECへ提出する **Form D** を、公式EDGARの日次インデックスから毎日取得します。発行体名・所在地・業種・設立年・**調達済み金額・募集総額・投資家数**・証券種別・免除規定(Rule 506(b)/(c))を構造化し、ファンド(VC/PE)は既定で除外。`monitor` モードでは前回以降の新規提出だけを返し、初回はベースライン(無課金)です。役員名は既定で出力しません。

# Actor input Schema

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

Read the EDGAR daily indexes of the last N calendar days (1–14). Indexes are published around 22:00 ET; weekends and holidays have none.

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

Amendments update an earlier filing (e.g. more money raised). Off = new Form D only.

## `excludeFunds` (type: `boolean`):

Drops VC/PE/hedge fund vehicles (industry 'Pooled Investment Fund' or 3C exemptions) so that only operating companies remain.

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

Form D industry groups as EDGAR encodes them, e.g. Other Technology, Computers, Biotechnology, Pharmaceuticals, Other Health Care, Business Services, Manufacturing, Commercial Banking, Oil and Gas; real estate appears as Commercial, Residential, Other Real Estate, REITS and Finance. Empty = all.

## `excludeIndustries` (type: `array`):

e.g. Commercial, Residential, Other Real Estate, REITS and Finance.

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

Two-letter issuer address codes, e.g. CA, NY, TX, DE; foreign codes as used by EDGAR.

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

Keep only filings reporting at least this amount already sold.

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

Keep only offerings of at least this size (indefinite offerings pass).

## `newIssuersOnly` (type: `boolean`):

Uses the 'year of incorporation' box on the form.

## `equityOnly` (type: `boolean`):

Keep only offerings that include equity securities.

## `keywords` (type: `array`):

Case-insensitive match on issuer name, industry group, SIC description and city.

## `includeRelatedPersons` (type: `boolean`):

Adds the names and roles listed on the form. These are personal names from a public SEC record; off by default.

## `mode` (type: `string`):

monitor = remember which filings were seen and only emit new ones (first run is a free baseline). snapshot = return everything matching every time.

## `watchlistId` (type: `string`):

Name for this watch (e.g. "biotech-ca"). Separate IDs keep separate memories; the filters are part of the key too.

## `emitBaseline` (type: `boolean`):

On the very first run of a watchlist, also download and output the current filings (charged). Default: only a free summary.

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

Cap on filings returned per run (newest first).

## Actor input object example

```json
{
  "daysBack": 2,
  "includeAmendments": false,
  "excludeFunds": true,
  "newIssuersOnly": false,
  "equityOnly": false,
  "includeRelatedPersons": false,
  "mode": "monitor",
  "watchlistId": "default",
  "emitBaseline": false,
  "maxFilings": 2000
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `consoleRun` (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("handa-labs/funding-round-signal").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("handa-labs/funding-round-signal").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 handa-labs/funding-round-signal --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,handa-labs/funding-round-signal"
        }
    }
}

```

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/jajTWyM3eZrLfrvJ6/builds/rguC0u9wp0SJDaVhY/openapi.json
