# SEC Form D Scraper - Startup Funding Leads (official EDGAR) (`orzelcolony/sec-form-d-filings`) Actor

New SEC Form D filings as clean JSON: who raised private capital, how much, in which industry and state, with executives and directors. Official EDGAR data, filter out funds, monitor daily. Startup funding leads for sales, VC and research.

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

## Pricing

from $7.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.
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 Filings – Private Placements & Startup Funding Leads

Every company in the US that raises money privately under Regulation D (seed and venture rounds, angel rounds, real-estate syndications, private funds) must file a **Form D** with the SEC within 15 days of the first sale. This Actor turns those filings into clean, flat JSON straight from the **official EDGAR archive**: who raised, how much they sold so far, the total offering, industry, state, entity type, minimum investment, number of investors, and the **executives, directors and promoters** named in the filing.

No HTML scraping, no proxies, no API key: the Actor reads EDGAR's daily index and the live filing feed, then parses each filing's XML. What the SEC publishes, you get, usually within minutes of acceptance (about 300-400 Form D filings per business day).

### What you can do with it

- **Startup and SMB sales leads**: companies that just raised money are about to spend it. Filter out pooled investment funds and get operating companies with city, state, phone and the people who signed.
- **VC / angel deal flow and competitor tracking**: see which startups in your sector or state closed a round, with amount sold and investor count.
- **Service providers** (law firms, accountants, banks, recruiters, PR): fresh raises in your region, every morning, with a monitor name so each run only returns new filings.
- **Real-estate and energy syndication research**: offerings by industry group, total offering size and minimum investment.
- **Datasets**: up to a year of filings per run for market studies on private capital.

### Input

All fields are optional. Default: all non-fund filings of the last 3 days.

| Field | Description |
| --- | --- |
| `dateFrom` / `dateTo` | Filing date window (YYYY-MM-DD), up to 366 days. Today's filings come from EDGAR's live feed; older days from the daily index. |
| `daysBack` | When `dateFrom` is empty: how many days before `dateTo` to scan (default 2). Use 7 or more with narrow industry or state filters so weekends and quiet days still yield results. |
| `excludeFunds` | Default on. Drops issuers with industry group *Pooled Investment Fund* (hedge, PE and venture funds), which are roughly two thirds of all Form D filings. |
| `onlyNewFilings` | Only original Form D filings, no D/A amendments. |
| `onlyRecentlyIncorporated` | Only issuers incorporated within the last five years (startup proxy). |
| `industryGroups` | Substring match on the Form D industry group: `Technology`, `Computers`, `Biotechnology`, `Pharmaceuticals`, `Real Estate`, `Oil and Gas`, `Manufacturing`, `Business Services`, ... |
| `states` | Issuer address state / country codes: `CA`, `NY`, `TX`, `DE`, `FL`, `MA`, ... |
| `issuerNameContains` | Words that must appear in the issuer name (`AI`, `Therapeutics`, `Solar`). |
| `entityTypes` | `Corporation`, `Limited Liability Company`, `Limited Partnership`, ... |
| `securityTypes` | `Equity`, `Debt`, `Option`, `Pooled Investment Fund`, `Tenant-in-Common`, `Mineral Property`, `Other`. |
| `minAmountSold` | Minimum USD already sold in the offering. |
| `minTotalOffering` / `maxTotalOffering` | Bounds on the total offering amount (`Indefinite` offerings pass the minimum, fail the maximum). |
| `maxItems` | How many filings to return, newest first (default 200, up to 20,000). |
| `monitorName` | Any name. With a key set, each run only returns filings not delivered under that key before. Schedule it daily. |

Example: new equity raises by operating companies in California and New York, at least USD 1M sold:

```json
{
  "dateFrom": "2026-10-01",
  "excludeFunds": true,
  "onlyNewFilings": true,
  "states": ["CA", "NY"],
  "securityTypes": ["Equity"],
  "minAmountSold": 1000000,
  "maxItems": 500
}
```

### Output

One dataset item per filing (one filing can list co-issuers; they are included in `coIssuers`):

```json
{
  "accessionNumber": "0002109147-26-000005",
  "formType": "D",
  "filingDate": "2026-10-15",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/2109147/000210914726000005/0002109147-26-000005-index.htm",
  "xmlUrl": "https://www.sec.gov/Archives/edgar/data/2109147/000210914726000005/primary_doc.xml",
  "cik": "2109147",
  "issuerName": "624 MEH LLC",
  "previousNames": [],
  "coIssuers": [],
  "coIssuerNames": [],
  "entityType": "Limited Liability Company",
  "jurisdictionOfIncorporation": "TEXAS",
  "yearOfIncorporation": 2024,
  "incorporatedWithinFiveYears": true,
  "street1": "1221 SOUTH MOPAC EXPY",
  "street2": "SUITE 260",
  "city": "AUSTIN",
  "state": "TX",
  "stateDescription": "TEXAS",
  "zip": "78746",
  "phone": "(512) 827-7603",
  "industryGroup": "Other Energy",
  "isPooledInvestmentFund": false,
  "investmentFundType": null,
  "revenueRange": "Decline to Disclose",
  "federalExemptions": ["06b"],
  "isAmendment": false,
  "previousAccessionNumber": null,
  "dateOfFirstSale": null,
  "firstSaleYetToOccur": true,
  "offeringMoreThanOneYear": false,
  "securityTypes": ["Equity"],
  "isBusinessCombination": false,
  "minimumInvestment": 50000.0,
  "totalOfferingAmount": null,
  "totalOfferingIndefinite": true,
  "totalAmountSold": 0.0,
  "totalRemaining": null,
  "totalRemainingIndefinite": true,
  "hasNonAccreditedInvestors": false,
  "totalInvestors": 0.0,
  "salesCommissions": 0.0,
  "findersFees": 0.0,
  "grossProceedsToInsiders": 250000.0,
  "relatedPersons": [
    {"firstName": "Todd", "lastName": "Self", "relationships": ["Director"], "city": "Austin", "state": "TX"},
    {"firstName": "Ryan", "lastName": "Atwood", "relationships": ["Executive Officer", "Director"], "city": "Austin", "state": "TX"}
  ],
  "relatedPersonNames": ["Todd Self", "Ryan Atwood"],
  "salesCompensationRecipients": [],
  "signerName": "Ryan Atwood",
  "signerTitle": "Manager",
  "signatureDate": "2026-10-15",
  "fetchedAt": "2026-10-16T14:46:58Z"
}
```

Amounts are USD as reported on the form. `totalOfferingAmount` is `null` with `totalOfferingIndefinite: true` when the issuer ticked *Indefinite*. `relatedPersons` are the executive officers, directors and promoters the issuer must list in Item 3 of Form D. `salesCompensationRecipients` lists broker-dealers or finders paid for the offering, with CRD numbers.

### Pricing

The current price is always shown on the **Pricing tab** of this page. The Actor is priced per **filing returned** (or free while no per-filing price is listed) and uses no proxies and no browser, so platform usage is negligible. Filings that do not match your filters are never charged. A run returning 500 filings takes a few minutes because the Actor respects the SEC's fair-access limit (well under 10 requests per second).

### Notes and limits

- Source: `sec.gov` daily form index (`Archives/edgar/daily-index`) and the live *Latest Filings* feed for the last two days, plus each filing's `primary_doc.xml`. Form D data is public information published by the SEC.
- Filing date is EDGAR's filing date; filings accepted after 5:30 pm ET get the next business day.
- Only the structured Form D (XML, since 2009) is parsed; the SEC's own `primary_doc.xml` is linked for every item.
- The people and phone numbers returned are the business contacts the issuer itself filed with the SEC. Use them responsibly and respect applicable laws on unsolicited contact.

### Integrations and API

Run it on a schedule, trigger it from the Apify API or webhooks, use it from AI agents through the Apify MCP server, and export to JSON, CSV, Excel, Google Sheets, Slack or your database. Need another field or filter? Open an issue in the Issues tab; it will be answered within days.

# Actor input Schema

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

Earliest filing date, YYYY-MM-DD. Default: 'Days back' before 'Filed to'. Up to 366 days per run.

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

Latest filing date, YYYY-MM-DD. Default: today (today's filings come from the live EDGAR feed).

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

How many days before 'Filed to' to scan when 'Filed from' is empty. Use 7 or more with narrow filters (industry, state) so weekends and quiet days still yield results; about 350 filings are parsed per business day.

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

Skip hedge funds, private equity and venture funds (industry group 'Pooled Investment Fund'). Leaves operating companies: startups, real estate, energy, biotech...

## `onlyNewFilings` (type: `boolean`):

Return only original Form D filings and skip D/A amendments.

## `onlyRecentlyIncorporated` (type: `boolean`):

Keep only issuers that ticked 'within last five years' for year of incorporation. Good proxy for startups.

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

Keep issuers whose Form D industry group contains any of these words (case-insensitive). Form D groups: Agriculture, Commercial Banking, Insurance, Investing, Investment Banking, Pooled Investment Fund, Other Banking and Financial Services, Business Services, Coal Mining, Electric Utilities, Energy Conservation, Environmental Services, Oil and Gas, Other Energy, Biotechnology, Health Insurance, Hospitals and Physicians, Pharmaceuticals, Other Health Care, Manufacturing, Commercial, Construction, REITS and Finance, Residential, Other Real Estate, Retailing, Restaurants, Computers, Telecommunications, Other Technology, Airlines and Airports, Lodging and Conventions, Tourism and Travel Services, Other Travel, Other.

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

Two-letter US state codes or EDGAR country codes of the issuer's address, e.g. CA, NY, TX, DE, FL.

## `issuerNameContains` (type: `array`):

Keep issuers whose name contains any of these words, e.g. "AI", "Therapeutics", "Solar".

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

Substring match on entity type: Corporation, Limited Liability Company, Limited Partnership, General Partnership, Business Trust, Other.

## `securityTypes` (type: `array`):

Keep filings offering any of: Equity, Debt, Option, Security to be acquired upon exercise of option, Pooled Investment Fund interests, Tenant-in-Common, Mineral Property, Other.

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

Only filings that report at least this amount already sold.

## `minTotalOffering` (type: `integer`):

Only filings whose total offering amount is at least this (filings with an 'Indefinite' amount are kept).

## `maxTotalOffering` (type: `integer`):

Only filings whose total offering amount is at most this ('Indefinite' amounts are dropped).

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

Maximum number of filings to return (newest first).

## `monitorName` (type: `string`):

Set any name, e.g. 'tech-raises-ca', and schedule the task daily: each run then returns only filings not delivered under this key before.

## Actor input object example

```json
{
  "daysBack": 2,
  "excludeFunds": true,
  "onlyNewFilings": false,
  "onlyRecentlyIncorporated": false,
  "maxItems": 200
}
```

# Actor output Schema

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

JSON array of Form D filings (issuer, offering amounts, industry, state, executives and directors) matching the input filters.

# 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("orzelcolony/sec-form-d-filings").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("orzelcolony/sec-form-d-filings").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 orzelcolony/sec-form-d-filings --silent --output-dataset

```

## MCP server setup

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

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/mG21TIfeJXD8auewP/builds/FYjP5awYDFjC45o7h/openapi.json
