# SEC Form D Scraper: Startup Funding Rounds & Private Placements (`radiant_opuntia/sec-form-d-alerts`) Actor

Daily feed of new SEC Form D filings (Reg D private raises) from official EDGAR data: company, industry, amount raised and offered, investors count, executives, address, phone. Filter by state, industry and raise size. 'Only new' mode for funding alerts.

- **URL**: https://apify.com/radiant_opuntia/sec-form-d-alerts.md
- **Developed by:** [GovData Feeds](https://apify.com/radiant_opuntia) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$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

**Get a daily list of companies that just raised money, read straight from new SEC Form D filings, with industry, offering size, amount sold and the executives who signed.**

**Rate your experience:** if you have used this Actor, you can tell us how it went on the [reviews page](https://apify.com/radiant_opuntia/sec-form-d-alerts/reviews). Honest feedback of any kind helps us improve it.

### What it does and who it is for

Companies that sell securities under a Regulation D exemption must file a **Form D** with the SEC. This Actor reads new Form D filings from **SEC EDGAR** and returns one flat record per filing: **company, entity type, state of incorporation, address, phone, industry group, total offering amount, amount sold so far, minimum investment, number of investors, related persons (executives and directors), signer and links to the filing**.

Filter by date range, issuer state, industry group, minimum offering and minimum amount sold, include or skip amendments, and **exclude pooled investment funds** to keep operating companies. Turn on **Only new** for funding alerts.

#### Use cases

- **B2B sales and lead generation:** newly funded companies with named executives make warm outbound targets.
- **Venture capital, angels and analysts:** monitor deal flow and competitors' raises.
- **Lawyers, accountants, bankers and recruiters:** reach companies that just raised and may need services.
- **Journalists:** see who is raising in your city or sector.
- **AI agents:** answer "which biotech companies in Massachusetts filed a Form D this week?".

### Why use this instead of the free official site or API

The underlying data is public and the official sources are free. What this Actor adds is convenience: the filing data is flattened and filtered for you.

| What you need | Official site / API | This Actor |
|---|---|---|
| Browsing new filings | EDGAR search lists filings; the details are inside each filing's XML | One flat row per filing with amounts, investors, people and links already parsed |
| Filtering by raise size or industry | Not available in the filing list; you open filings one by one | State, industry group, minimum offering and minimum amount sold filters |
| Leaving out investment funds | Manual | One switch to exclude pooled funds |
| Only filings you have not seen | You track accession numbers yourself | **Only new** mode with a named alert |
| Fair-access rules | You must respect the SEC rate limit and send a User-Agent | The Actor sends a declared User-Agent and stays under the SEC request limit |

If you only need a single lookup now and then, the official site is fine. If you want the same data on a schedule, as flat rows you can feed to a spreadsheet, CRM or agent, this saves the glue work.

### Data fields

| Field | Type | What it contains |
|---|---|---|
| `accessionNumber` | text | SEC accession number, unique per filing. |
| `form` | text | Form type (D, or D/A for amendments). |
| `filedDate` | date | Date the filing was submitted to the SEC. |
| `issuerName` | text | Name of the company or fund that filed. |
| `cik` | text | SEC Central Index Key of the issuer. |
| `entityType` | text | Entity type (for example Limited Liability Company). |
| `jurisdictionOfIncorporation` | text | State or country of incorporation. |
| `yearOfIncorporation` | integer | Year the issuer was incorporated, when stated. |
| `incorporatedWithinFiveYears` | boolean | Whether the filing says the issuer was incorporated within five years. |
| `street` | text | Issuer street address. |
| `city` | text | Issuer city. |
| `state` | text | Issuer state. |
| `zip` | text | Issuer ZIP code. |
| `phone` | text | Issuer phone number as filed. |
| `industryGroup` | text | Industry group chosen on the filing. |
| `investmentFundType` | text | Fund type, for pooled investment funds only. |
| `revenueRange` | text | Revenue range the issuer selected, when given. |
| `netAssetValueRange` | text | Net asset value range (for funds that report it). |
| `exemptions` | text | Regulation D exemption(s) claimed (for example 06b). |
| `isAmendment` | boolean | true for an amended filing. |
| `dateOfFirstSale` | date | Date of first sale of securities in the offering. |
| `firstSaleYetToOccur` | text | true when the filing says the first sale has not happened yet. |
| `securitiesOffered` | text | Types of securities offered (equity, debt, options and so on). |
| `totalOfferingAmount` | integer | Total offering amount in USD. |
| `offeringAmountIndefinite` | boolean | true when the issuer did not state a fixed offering size. |
| `totalAmountSold` | integer | Amount sold so far in USD. |
| `totalRemaining` | integer | Amount remaining to be sold in USD. |
| `minimumInvestment` | integer | Minimum investment accepted from an outside investor in USD. |
| `investorsSoFar` | integer | Number of investors who have invested. |
| `hasNonAccreditedInvestors` | boolean | Whether non-accredited investors have invested. |
| `salesCommissionUsd` | integer | Sales commissions paid, USD. |
| `findersFeesUsd` | integer | Finders' fees paid, USD. |
| `useOfProceedsToInsidersUsd` | integer | Amount of proceeds going to executive officers, directors or promoters, USD. |
| `relatedPersons` | text | Executive officers, directors and promoters with their roles. |
| `signerName` | text | Name of the person who signed the filing. |
| `signerTitle` | text | Signer's title. |
| `filingIndexUrl` | text | Link to the filing index on SEC EDGAR. |
| `formDXmlUrl` | text | Link to the Form D XML document. |
| `scrapedAt` | datetime | When the Actor collected the record (UTC). |

Fields a source does not publish are `null`.

### "New since yesterday" alerts

Turn on **Only new** and the Actor remembers what it has already returned, so each scheduled run delivers only records you have not seen before.

1. Open the Actor in Apify Console and set the input, with **Only new since last run** switched on and a fixed alert name (`stateKey`). Example input:

```json
{
  "daysBack": 3,
  "issuerStates": ["CA", "NY", "TX"],
  "excludePooledFunds": true,
  "minAmountSold": 500000,
  "maxResults": 500,
  "onlyNew": true,
  "stateKey": "daily-form-d-raises"
}
```

2. Click **Save as task**, then open **Schedules**, create a schedule (for example the cron expression `0 7 * * *` for every day at 7:00 in the time zone you pick) and add the task to it.
3. Under the task's **Integrations**, send the results to Slack, email, Google Sheets, a webhook or your own system.

A 3-day look-back with Only new keeps you covered if a filing appears in EDGAR a little late, and still delivers each filing once.

The first run returns everything that matches your window (every matching filing from the look-back window); later runs return only unseen records. Use a different alert name for each task so each keeps its own memory. A run with nothing new returns no results.

### Cost per run

This Actor uses **pay-per-result pricing: $3.00 per 1,000 results ($0.003 per result)**, with the Apify platform fee included. You are charged for the records a run returns and nothing is added on top for platform usage. A run that finds nothing new returns no results, so it has no per-result charge. The **Max results** input caps what a run can return (and so what it can cost).

**Worked example:** a daily alert returning 25 new Form D filings costs 25 × $0.003 = $0.075 per run, about $2.25 for a 30-day month. Pulling 1,000 filings costs $3.00.

The pricing is configured in Apify Console; the Pricing tab on this page is the authoritative source if it ever differs from this text.

### Example input and output

The output below comes from real test runs of this Actor. Email addresses are masked and very long text is shortened here; the Actor returns the full values.

Input used for the example:

```json
{
  "daysBack": 1,
  "issuerStates": ["CA", "NY", "TX"],
  "industryGroups": ["Other Technology", "Biotechnology"],
  "excludePooledFunds": true,
  "minAmountSold": 500000,
  "onlyNew": true,
  "stateKey": "daily-tech-raises",
  "maxResults": 500
}
```

Output (the first 2 records of a test run):

```json
[
  {
    "accessionNumber": "0002160242-26-000004",
    "form": "D",
    "filedDate": "2026-10-20",
    "issuerName": "Moonraker Mining I, LLC",
    "cik": "2160242",
    "entityType": "Limited Liability Company",
    "jurisdictionOfIncorporation": "NEBRASKA",
    "yearOfIncorporation": 2023,
    "incorporatedWithinFiveYears": true,
    "street": "12601 WHITE DEER DR.",
    "city": "LITTLETON",
    "state": "CO",
    "zip": "80127",
    "phone": "6147469788",
    "industryGroup": "Other Technology",
    "investmentFundType": null,
    "revenueRange": "$1,000,001 - $5,000,000",
    "netAssetValueRange": null,
    "exemptions": "06b",
    "isAmendment": false,
    "dateOfFirstSale": "2023-03-30",
    "firstSaleYetToOccur": null,
    "securitiesOffered": "Equity",
    "totalOfferingAmount": 6000000,
    "offeringAmountIndefinite": false,
    "totalAmountSold": 824980,
    "totalRemaining": 5175020,
    "minimumInvestment": 100000,
    "investorsSoFar": 7,
    "hasNonAccreditedInvestors": false,
    "salesCommissionUsd": 0,
    "findersFeesUsd": 0,
    "useOfProceedsToInsidersUsd": 20818,
    "relatedPersons": "RYAN OBRIEN (Executive Officer, Director); ROGER FLAHIVE (Executive Officer, Director)",
    "signerName": "RYAN OBRIEN",
    "signerTitle": "CFO",
    "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2160242/000216024226000004/0002160242-26-000004-index.htm",
    "formDXmlUrl": "https://www.sec.gov/Archives/edgar/data/2160242/000216024226000004/primary_doc.xml",
    "scrapedAt": "2026-10-21T01:23:09.131Z"
  },
  {
    "accessionNumber": "0002160242-26-000002",
    "form": "D",
    "filedDate": "2026-10-20",
    "issuerName": "Moonraker Mining I, LLC",
    "cik": "2160242",
    "entityType": "Limited Liability Company",
    "jurisdictionOfIncorporation": "NEBRASKA",
    "yearOfIncorporation": 2023,
    "incorporatedWithinFiveYears": true,
    "street": "12601 WHITE DEER DR.",
    "city": "LITTLETON",
    "state": "CO",
    "zip": "80127",
    "phone": "6147469788",
    "industryGroup": "Other Technology",
    "investmentFundType": null,
    "revenueRange": "$1,000,001 - $5,000,000",
    "netAssetValueRange": null,
    "exemptions": "06b",
    "isAmendment": false,
    "dateOfFirstSale": "2025-04-11",
    "firstSaleYetToOccur": null,
    "securitiesOffered": "Equity",
    "totalOfferingAmount": 2800000,
    "offeringAmountIndefinite": false,
    "totalAmountSold": 1899686,
    "totalRemaining": 900314,
    "minimumInvestment": 50000,
    "investorsSoFar": 17,
    "hasNonAccreditedInvestors": false,
    "salesCommissionUsd": 0,
    "findersFeesUsd": 0,
    "useOfProceedsToInsidersUsd": 120714,
    "relatedPersons": "RYAN O'BRIEN (Executive Officer, Director); ROGER FLAHIVE (Executive Officer, Director)",
    "signerName": "RYAN OBRIEN",
    "signerTitle": "CFO",
    "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2160242/000216024226000002/0002160242-26-000002-index.htm",
    "formDXmlUrl": "https://www.sec.gov/Archives/edgar/data/2160242/000216024226000002/primary_doc.xml",
    "scrapedAt": "2026-10-21T01:23:09.481Z"
  }
]
```

### Limits worth knowing

- Filings appear in EDGAR search within minutes to hours after the SEC accepts them.
- EDGAR search returns at most 10,000 filings per query. Daily windows are far below that; narrow the dates for very large pulls.
- The Actor opens each filing's XML, so filters on amounts and fields run after the fetch.
- Some issuers state no fixed offering size; those rows have `offeringAmountIndefinite: true`.
- Form D contents are self-reported by the issuer and are not verified by the SEC.

### FAQ

#### What is Form D?

It is a notice filed with the SEC when a company raises money through a private offering under Regulation D. It lists the offering size, amount sold, investors and company officers.

#### Does it include every company that raised money?

Only companies that filed a Form D. Not every private raise is reported on one.

#### How do I leave out funds and keep startups?

Turn on **Exclude pooled funds**. You can also filter by industry group.

#### Does it follow the SEC's access rules?

Yes. It sends a declared User-Agent and stays well below 10 requests per second.

#### Is this investment advice?

No. It returns raw public filing data for research.

### Related Actors

More Actors from GovData Feeds, all on Apify:

- [grants-gov-alerts](https://apify.com/radiant_opuntia/grants-gov-alerts): US federal grant opportunities (Grants.gov): ceilings, deadlines, eligibility
- [usaspending-awards-alerts](https://apify.com/radiant_opuntia/usaspending-awards-alerts): New federal contract, grant and loan awards (USAspending)
- [sec-form4-insider-alerts](https://apify.com/radiant_opuntia/sec-form4-insider-alerts): SEC Form 4 insider buys and sells, one row per transaction
- [fda-recall-alerts](https://apify.com/radiant_opuntia/fda-recall-alerts): FDA food, drug and medical device recalls
- [fda-compliance-alerts](https://apify.com/radiant_opuntia/fda-compliance-alerts): FDA 510(k) clearances, MAUDE adverse events and warning letters
- [cpsc-recall-alerts](https://apify.com/radiant_opuntia/cpsc-recall-alerts): CPSC consumer product safety recalls
- [us-building-permits-alerts](https://apify.com/radiant_opuntia/us-building-permits-alerts): New building permits from nine city open-data portals
- [clinical-trials-alerts](https://apify.com/radiant_opuntia/clinical-trials-alerts): New ClinicalTrials.gov studies by condition, sponsor and phase
- [federal-register-alerts](https://apify.com/radiant_opuntia/federal-register-alerts): Federal Register rules, proposed rules and notices
- [contractor-license-alerts](https://apify.com/radiant_opuntia/contractor-license-alerts): New contractor licenses in WA, OR and NY with bond and insurance
- [ofac-sanctions-alerts](https://apify.com/radiant_opuntia/ofac-sanctions-alerts): OFAC sanctions screening and change alerts
- [new-business-registrations-alerts](https://apify.com/radiant_opuntia/new-business-registrations-alerts): New LLC and corporation registrations (NY, CO, OR, CT)
- [epa-echo-enforcement-alerts](https://apify.com/radiant_opuntia/epa-echo-enforcement-alerts): EPA ECHO facilities with new environmental penalties
- [restaurant-inspections-alerts](https://apify.com/radiant_opuntia/restaurant-inspections-alerts): Restaurant health inspections from seven US jurisdictions
- [code-violations-alerts](https://apify.com/radiant_opuntia/code-violations-alerts): Building, housing and property code violations from six cities

*Data comes from SEC EDGAR, a US government source. This Actor is not affiliated with or endorsed by the SEC or any government agency.*

# Actor input Schema

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

Used when no explicit start date is set. EDGAR full-text search returns at most 10,000 filings per query, so keep ranges to a few weeks.

## `startDate` (type: `string`):

Optional. Overrides 'last N days'.

## `endDate` (type: `string`):

Optional. Defaults to today.

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

Off = only new offerings.

## `issuerStates` (type: `array`):

Two-letter codes of the issuer's principal place of business, e.g. CA, NY, TX.

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

Form D industry names, e.g. 'Other Technology', 'Biotechnology', 'Pharmaceuticals', 'Health Care', 'Real Estate', 'Energy', 'Restaurants', 'Retailing', 'Pooled Investment Fund', 'Venture Capital Fund'.

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

Drop hedge/PE/VC/real-estate fund vehicles and keep operating companies (useful for startup leads).

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

Indefinite offerings are kept.

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

Only keep offerings that already sold at least this much (proof the round is real). 0 = off.

## `keyword` (type: `string`):

Optional exact phrase searched in the filing text, e.g. a company or person name.

## `onlyNew` (type: `boolean`):

Skip filings returned by earlier runs of this same search. Pair with a daily Schedule and an email/Slack/webhook integration.

## `stateKey` (type: `string`):

Separate memory for 'only new' mode. Defaults to a key derived from your filters.

## `maxResults` (type: `integer`):

Stop after this many filings.

## Actor input object example

```json
{
  "daysBack": 3,
  "includeAmendments": false,
  "issuerStates": [],
  "industryGroups": [],
  "excludePooledFunds": false,
  "minOfferingAmount": 0,
  "minAmountSold": 0,
  "onlyNew": false,
  "maxResults": 50
}
```

# Actor output Schema

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

All SEC Form D filings returned by this run (flat JSON items in the default dataset).

## `runSummary` (type: `string`):

Counts of items pushed and items skipped as already seen (only-new mode).

# 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": 3,
    "includeAmendments": false,
    "excludePooledFunds": false,
    "minOfferingAmount": 0,
    "minAmountSold": 0,
    "onlyNew": false,
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("radiant_opuntia/sec-form-d-alerts").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": 3,
    "includeAmendments": False,
    "excludePooledFunds": False,
    "minOfferingAmount": 0,
    "minAmountSold": 0,
    "onlyNew": False,
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("radiant_opuntia/sec-form-d-alerts").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": 3,
  "includeAmendments": false,
  "excludePooledFunds": false,
  "minOfferingAmount": 0,
  "minAmountSold": 0,
  "onlyNew": false,
  "maxResults": 50
}' |
apify call radiant_opuntia/sec-form-d-alerts --silent --output-dataset

```

## MCP server setup

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

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/YJieyTjc8LH0ef31f/builds/YR9Tw5cPDJJdFz6k9/openapi.json
