# Startup Funding Feed — SEC Form D Rounds as Clean JSON (`jdepablos/startup-funding-feed`) Actor

US private funding rounds from official SEC Form D filings: company, amount sold and offered, industry, location, investor count and first-sale date. The primary source — days before the press. Built for VCs, sales teams and AI agents.

- **URL**: https://apify.com/jdepablos/startup-funding-feed.md
- **Developed by:** [Juan de Pablos](https://apify.com/jdepablos) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 funding filings

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

## Startup Funding Feed — SEC Form D Rounds as Clean JSON

**Every US private funding round, from the primary source — days before the press.** Companies raising private capital in the US must file SEC Form D. This Actor turns those filings into a structured feed: who raised, how much, in which industry and state, with how many investors.

Funding databases charge hundreds per seat and still lag the filings. This is the raw regulatory source, structured, for the price of an API call.

### What you get per filing

```json
{
  "company": "Acme Robotics, Inc.",
  "filedAt": "2026-07-02",
  "isAmendment": false,
  "industry": "Other Technology",
  "city": "SAN FRANCISCO",
  "state": "CA",
  "stateDescription": "CALIFORNIA",
  "totalOfferingUsd": 15000000,
  "totalSoldUsd": 12500000,
  "remainingUsd": 2500000,
  "investorsCount": 14,
  "minInvestmentUsd": 25000,
  "revenueRange": "Decline to Disclose",
  "dateOfFirstSale": "2026-06-20",
  "daysSinceFirstSale": 12,
  "slowFill": false,
  "yearOfIncorporation": "2024",
  "url": "https://www.sec.gov/Archives/edgar/data/..."
}
```

Real volume: **~1,300+ new Form D filings per week** — filter by state, industry and minimum amount to get exactly your slice.

### Why the primary source beats funding news

- **Days earlier**: Form D is often filed before (or without) any press release — most rounds never make the news at all.
- **Exact amounts**: `totalSoldUsd` is what was actually raised so far, not a journalist's estimate.
- **Complete**: every exempt offering, not just the VC-backed ones TechCrunch covers — including real estate, funds and SMB raises.
- **New rounds only by default**: amendments (Form D/A) are excluded unless you want them.
- **Slow-fill detection**: `slowFill` flags definite offerings that have sold <50% of the target 90+ days after the first sale — a struggling-raise signal you won't get from press coverage. Most visible on amendments (`includeAmendments: true`), where issuers refresh their sold totals.

### Use cases

- **Sales / lead-gen**: companies that just raised have budget — filter by industry and state, feed your CRM weekly.
- **VCs / corp-dev**: track who is raising in your thesis area before it's public knowledge.
- **Recruiters**: funded startups hire — a fresh-capital feed is a hiring-signal feed.
- **Market research**: capital formation by industry and geography, from the regulator's own data.
- **AI agents**: "which fintechs in NY raised over $5M this month?" — one tool call.

### Input

| Field | Description |
|---|---|
| `daysBack` | Filing window (default 7, max 90) — or explicit `dateFrom`/`dateTo` |
| `states` | Two-letter codes: `["CA", "NY"]` — empty for all |
| `industries` | Substring match: `["technology", "biotech"]` — empty for all |
| `minAmountSold` | Only rounds that already sold ≥ this (USD) |
| `includeAmendments` | Include Form D/A updates (default false) |
| `maxFilings` | Cap per run (default 100, max 2000) |

### Use with AI agents (MCP)

This Actor is exposed as a tool on the [Apify MCP Server](https://mcp.apify.com):

```json
{
  "mcpServers": {
    "startup-funding-feed": {
      "url": "https://mcp.apify.com?tools=jdepablos/startup-funding-feed",
      "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }
    }
  }
}
```

Pairs well with [Insider Trading Feed](https://apify.com/jdepablos/insider-trading-feed) — same official-source discipline, public-company insiders instead of private rounds.

### Pricing

Pay per event: **one flat fee per filing returned** — you pay for exactly the rounds that match your filters. Failed fetches are never charged.

### FAQ

**Does it include investor names?** Form D lists related persons (officers/directors/promoters) in the filing itself — open the `url` for the full document. The structured feed focuses on the offering economics.

**Why is `totalOfferingUsd` sometimes null?** The company declared an indefinite offering size (`offeringIsIndefinite: true`). `totalSoldUsd` still shows what they actually raised.

**How is `slowFill` computed?** `true` when `daysSinceFirstSale >= 90` and `totalSoldUsd / totalOfferingUsd < 0.5`. It is `null` (not evaluable) for indefinite offerings, filings where the first sale is yet to occur, or missing amounts — so open-ended raises never muddy the signal. `daysSinceFirstSale` counts from `dateOfFirstSale` to `filedAt`, because `totalSoldUsd` is a snapshot as of the filing date; if you prefer your own threshold, compute it from those raw fields.

**Is this only tech startups?** No — every Regulation D exempt offering: startups, funds, real estate syndications, SMBs. Use `industries` to slice.

### More data tools by this developer

- [Insider Trading Feed — SEC Form 4 buys & sells](https://apify.com/jdepablos/insider-trading-feed)
- [Clinical Trials Watch — new & updated studies](https://apify.com/jdepablos/clinical-trials-watch)
- [Global Trademark Watch (TMview) — new filings & opposition deadlines](https://apify.com/jdepablos/trademark-watch-tmview)
- [eBay Sold Price Appraiser — real market value from confirmed sales](https://apify.com/jdepablos/ebay-sold-price-appraiser)
- [Second-hand Deal Scanner EU — Vinted/Wallapop/Milanuncios deals vs eBay sold](https://apify.com/jdepablos/second-hand-deal-scanner-es)
- [Spanish Company Feed (BORME) — daily registry acts as JSON](https://apify.com/jdepablos/borme-company-feed)
- [Spain Public Auctions (BOE) — judicial auctions with market comparison](https://apify.com/jdepablos/spain-boe-auctions)

# Actor input Schema

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

Window of Form D filings to fetch (ignored if dateFrom is set).

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

YYYY-MM-DD (optional, overrides daysBack).

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

YYYY-MM-DD (default today).

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

Two-letter state codes, e.g. \["CA", "NY", "TX"]. Empty = all.

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

Substring match on the Form D industry group, e.g. \["technology", "biotech", "real estate"]. Empty = all.

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

Only rounds that have already sold at least this amount.

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

Amendments update earlier filings; excluded by default so you only see NEW rounds.

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

Cap per run.

## Actor input object example

```json
{
  "daysBack": 7,
  "includeAmendments": false,
  "maxFilings": 100
}
```

# 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("jdepablos/startup-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("jdepablos/startup-funding-feed").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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 jdepablos/startup-funding-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jdepablos/startup-funding-feed",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/hzBJLf0h3ONaTi6aO/builds/bzuttyTvoDdF63fXI/openapi.json
