# SEC Form D Scraper: Recently Funded Startups (`idlewright/sec-form-d-funding-tracker`) Actor

Track new private fundraising straight from official SEC Form D filings: company, industry, amount raised, number of investors, location and executives. Daily feed, filters, no scraping of paywalled sites. $10 per 1,000 filings.

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

## Pricing

$10.00 / 1,000 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?

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 Scraper: Recently Funded Startups

Get **new private fundraising announcements straight from the SEC's official Form D filings** as clean, structured data, for **$10 per 1,000 filings**.

Whenever a US company raises money privately under Regulation D (most startup rounds, SAFE and convertible-note rounds, and many private placements), it must tell the SEC by filing a **Form D** within 15 days of the first sale. This actor reads those public filings every day and turns them into one row per offering: who raised, in which industry, how much was offered, how much has been sold, how many investors took part, where the company is, and who its executives are.

No scraping of paywalled or login-protected sites: the source is the SEC's own public EDGAR archive.

### What you get for each filing

| Field | Meaning |
|---|---|
| `company`, `cik`, `entityType`, `jurisdictionOfIncorporation`, `yearOfIncorporation` | The issuer |
| `industry` | Industry group the issuer selected (Computers, Biotechnology, Health Care, Other Technology, Business Services, Energy, Real Estate and others) |
| `totalOfferingAmount`, `totalAmountSold`, `totalRemaining`, `minimumInvestment` | Amounts in USD. `totalOfferingAmountText` keeps wording such as "Indefinite" |
| `investorsCount`, `hasNonAccreditedInvestors` | How many investors have invested so far |
| `dateOfFirstSale`, `filedAt`, `isAmendment` | Timing |
| `securityTypes`, `exemptions` | Equity, debt, options; the Regulation D exemption claimed (for example 506(b)) |
| `city`, `state`, `country`, `zip`, `street`, `phone` | The issuer's business address and phone from the filing |
| `relatedPersons` | Executives, directors and promoters named by the issuer, with roles (optional) |
| `filingUrl` | Link to the official SEC filing |

### Who uses it

- **Sales and business development**: reach out to companies that just raised money and have budget.
- **Recruiters**: companies that just closed a round are about to hire.
- **Investors and analysts**: watch sector or regional fundraising activity, size of rounds, new funds.
- **Service providers** (legal, accounting, HR, software): find fast-growing clients early.
- **Journalists and researchers**: track private-market activity from primary sources.

### How to use

1. Choose **Days back** (default 3; weekends and US holidays have no filings).
2. Optionally filter by **Industries**, **states**, **company name keywords**, **minimum amount sold** or **minimum offering size**.
3. Run it, then export JSON, CSV or Excel, call the API, or **schedule it daily** and send the results to Slack, Google Sheets, a webhook or your CRM.

Example input:

```json
{
  "daysBack": 7,
  "industries": ["Computers", "Other Technology", "Biotechnology"],
  "states": ["CA", "NY", "MA"],
  "minAmountSold": 1000000,
  "maxItems": 200
}
```

### Good to know

- **By default, investment funds are excluded** (venture, hedge and private-equity funds also file Form D). Turn off *Exclude investment funds* to include them.
- **Amendments** (form D/A) update an earlier filing and are off by default, so each new offering appears once.
- **Amounts are self-reported by the issuer.** A filing is evidence of an offering, not proof that money was received. Many new filings show 0 sold because the offering has just started.
- **Not every round is in here.** Form D covers US private placements under Regulation D. Rounds that rely on other exemptions, or are raised outside the US, may not appear. Companies sometimes file late.
- **Investor names are not in Form D.** The form reports how many investors participated, not who they are.
- **Executives**: names and roles come from the public filing. Use them in line with the privacy and marketing laws that apply to you.

### Pricing

**$0.01 per filing returned** ($10 per 1,000), plus Apify's small standard per-run start fee. Filings removed by your filters are never charged. Set **Max filings** to cap the cost of a run.

### Fair use of the SEC's data

The actor identifies itself to the SEC and stays well under the SEC's request limits. All data is public record.

*This actor is an independent tool and is not affiliated with, endorsed by or sponsored by the U.S. Securities and Exchange Commission.*

# Actor input Schema

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

How many calendar days of filings to read, counting back from today. Weekends and US holidays have no filings. Up to 120.

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

Keep only filings whose industry contains any of these words, e.g. Computers, Biotechnology, Health Care, Other Technology, Telecommunications, Business Services, Energy, Real Estate. Leave empty for all.

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

Two-letter codes of the issuer's location, e.g. CA, NY, TX, or a country code like L8 (United Kingdom). Leave empty for all.

## `nameKeywords` (type: `array`):

Keep only companies whose name contains any of these words (case-insensitive).

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

Keep only filings that report at least this much already sold. Use it to find rounds that have actually closed money.

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

Keep only offerings at least this large.

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

Skip pooled investment funds (venture, hedge, private equity funds) so you see operating companies raising money. Turn off to include funds.

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

Also include amended filings (D/A), which update an earlier filing. Off by default so you see each new offering once.

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

Add the names and roles the issuer listed as executive officers, directors or promoters. These are public SEC records.

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

Stop after this many filings. You pay per filing returned, so this also caps your cost.

## Actor input object example

```json
{
  "daysBack": 5,
  "excludeFunds": true,
  "includeAmendments": false,
  "includeRelatedPersons": true,
  "maxItems": 25
}
```

# Actor output Schema

## `filings` (type: `string`):

All Form D filings returned by the run.

## `filingsTable` (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 = {
    "daysBack": 5,
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("idlewright/sec-form-d-funding-tracker").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 = {
    "daysBack": 5,
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("idlewright/sec-form-d-funding-tracker").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 '{
  "daysBack": 5,
  "maxItems": 25
}' |
apify call idlewright/sec-form-d-funding-tracker --silent --output-dataset

```

## MCP server setup

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

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/2HSXiHuxbn2fhBaRp/builds/ukcwPSwGxofnEIzTj/openapi.json
