# SEC Form D Private Placement & Reg D Offering Scraper (`scrapers_lat/sec-form-d-private-placements-scraper`) Actor

Scrape SEC Form D private placement notices: issuer name, address and phone, every executive officer / director / promoter with their address, amount offered vs sold, investor counts, minimum investment, placement agents with CRD, fund type and industry.

- **URL**: https://apify.com/scrapers\_lat/sec-form-d-private-placements-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.80 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## SEC Form D Private Placement & Reg D Offering Scraper

Every US startup, fund and private company that raises capital under Regulation D has to file a **Form D** notice. That notice is public, and it is one of the richest free sources of funding intelligence there is: who is raising, how much they want, **how much they have already closed**, how many investors are in, and the **names and addresses of the founders, executives and directors** behind the deal.

This actor turns those notices into a clean, filterable dataset.

### What you get

Each result is one Form D filing, fully parsed:

**Company / fund**

- Issuer name, former names, and any co-issuers on the same notice (parallel fund vehicles)
- Entity type (Corporation, LP, LLC, ...), jurisdiction and state of incorporation, year formed, whether it is a new entity
- Full street address, city, state, ZIP
- **Issuer phone number**

**The people (lead-grade contact data)**

- Every executive officer, director and promoter, with first / middle / last name
- Their relationship to the issuer plus any clarification (for example "Secretary of the Board")
- **Each person's own street address, city, state and ZIP**
- Convenience lists: executive officers, directors, promoters
- Signer name, title and signature date

**The money**

- Total offering amount (or a flag when the raise is open-ended)
- **Total amount already sold** and total remaining
- Percent of the round already closed
- Minimum investment accepted
- Number of investors already in, and how many are non-accredited
- Sales commissions, finders' fees, and proceeds paid to insiders

**Deal structure**

- Industry group (technology, biotech, real estate, and more)
- Whether it is a pooled investment fund, and the fund type: **Venture Capital, Private Equity, Hedge, Real Estate or Other**
- Revenue range or aggregate net asset value range
- Regulation D exemptions claimed
- Types of securities offered, date of first sale, offering duration, business-combination flag
- **Placement agents and broker-dealers** with CRD numbers, address and states of solicitation
- Direct links to the official filing

### Filters that do the work for you

- **Keywords** matched inside the filings, for example `artificial intelligence`, `biotech`, `climate`
- **Date range** filed from / to
- **Issuer state** and **state of incorporation**
- **Issuer name contains**
- **Offering type**: operating companies (startups and businesses) or pooled investment funds only
- **Fund types**: Venture Capital, Private Equity, Hedge, Real Estate, Other
- **Industry groups** and **entity types**
- **Minimum / maximum offering amount**, **minimum amount already sold**, **minimum investor count**
- Exclude open-ended offering sizes
- Include or exclude amendments (Form D/A)
- Only offerings with sales already closed
- Only filings with named officers or directors
- Only filings with a phone number
- Only offerings using a placement agent or broker

### What people use it for

- **VC and PE deal sourcing** — find companies that just filed a raise, before the press release
- **Sales prospecting** — newly funded companies with budget, plus the executive who signed for it
- **LP and fund research** — track new VC, PE, hedge and real estate funds as they launch, with size and close progress
- **Competitive and market intelligence** — who is raising in your sector, at what size, and how fast the round is filling
- **Recruiting** — freshly funded companies about to hire
- **Compliance and diligence** — issuer history, exemptions claimed, placement agents and their CRD numbers

### Example input

```json
{
  "dateFrom": "2026-07-01",
  "dateTo": "2026-07-31",
  "usStates": ["CA"],
  "offeringType": "pooled",
  "fundTypes": ["Venture Capital Fund"],
  "minAmountSold": 1000000,
  "maxRecords": 50
}
```

Or go after operating companies in a theme:

```json
{
  "searchQueries": ["artificial intelligence"],
  "dateFrom": "2026-01-01",
  "offeringType": "operating",
  "onlyWithRelatedPersons": true,
  "requirePhone": true,
  "maxRecords": 200
}
```

### Example output (trimmed)

```json
{
  "issuerName": "Flo Artificial Intelligence, Inc.",
  "formType": "D",
  "filedDate": "2026-07-06",
  "entityType": "Corporation",
  "jurisdictionOfIncorporation": "DELAWARE",
  "issuerStreet1": "6580 E McDowell Rd",
  "issuerCity": "Scottsdale",
  "issuerState": "AZ",
  "issuerZip": "85257",
  "issuerPhone": "6507854847",
  "industryGroup": "Other Technology",
  "isPooledFund": false,
  "totalOfferingAmount": 13992757,
  "totalAmountSold": 13992757,
  "percentSold": 100,
  "totalNumberAlreadyInvested": 16,
  "securityTypes": ["Equity"],
  "relatedPersons": [
    {
      "fullName": "Jatish Patel",
      "relationships": ["Executive Officer", "Director"],
      "street1": "6580 E McDowell Rd",
      "city": "Scottsdale",
      "state": "AZ",
      "zip": "85257"
    }
  ],
  "executiveOfficers": ["Jatish Patel"],
  "directors": ["Jatish Patel", "Rob Leclerc"],
  "signatureTitle": "Chief Executive Officer",
  "sourceUrl": "https://www.sec.gov/Archives/edgar/data/1798621/000179862126000003/0001798621-26-000003-index.htm"
}
```

### Notes

- Public regulatory filings only. Read-only, no account or credentials needed.
- Amendments (Form D/A) are excluded by default. Turn them on to track how a round grows over time.
- Some filers report an open-ended offering size instead of a dollar figure; those are flagged with `isOfferingIndefinite` so your totals stay honest.
- You are charged per filing returned. Failed runs return no billable results.
- Free Apify plans are capped at 10 results per run.

# Actor input Schema

## `searchQueries` (type: `array`):

Optional. Full-text keywords matched inside the Form D filings (for example 'artificial intelligence', 'venture capital fund', 'biotech'). Each item runs as a separate search. Leave empty to return every Form D filed in the date range.

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

Earliest filing date to include. Defaults to 30 days before today.

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

Latest filing date to include. Defaults to today.

## `usStates` (type: `array`):

Optional. Two-letter state codes of the issuer's business location, for example 'CA', 'NY', 'TX'. Leave empty for all locations.

## `incorporationStates` (type: `array`):

Optional. Two-letter codes to keep only issuers incorporated in these states, for example 'DE'.

## `issuerNameContains` (type: `string`):

Optional. Keep only issuers whose name contains this text (case-insensitive).

## `offeringType` (type: `string`):

Restrict to operating companies raising capital (startups and businesses) or to pooled investment funds (VC, private equity, hedge funds).

## `fundTypes` (type: `array`):

Optional. Only for pooled investment funds. Keep only these fund types.

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

Optional. Keep only these Form D industry groups, for example 'Other Technology', 'Biotechnology', 'Commercial Real Estate'.

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

Optional. Keep only these issuer entity types.

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

Optional. Keep only offerings whose total offering amount is at least this much. Offerings marked 'Indefinite' are kept unless you exclude them below.

## `maxOfferingAmount` (type: `integer`):

Optional. Keep only offerings whose total offering amount is at most this much.

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

Optional. Keep only offerings that have already raised at least this much — a strong signal the round is real and closing.

## `minInvestorCount` (type: `integer`):

Optional. Keep only offerings with at least this many investors already in.

## `excludeIndefiniteAmounts` (type: `boolean`):

Drop filings that report an indefinite (open-ended) offering size instead of a dollar figure. Common for large funds.

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

Include amended filings (D/A) alongside new offerings (D). Amendments update a previously reported raise.

## `onlyWithSales` (type: `boolean`):

Keep only filings where the first sale has occurred and money has actually been raised.

## `onlyWithRelatedPersons` (type: `boolean`):

Keep only filings that list at least one executive officer, director or promoter with a name and address.

## `requirePhone` (type: `boolean`):

Keep only filings that include an issuer phone number.

## `onlyWithPlacementAgent` (type: `boolean`):

Keep only filings that name a broker-dealer, placement agent or finder receiving sales compensation.

## `maxRecords` (type: `integer`):

Maximum number of Form D filings to return. Free Apify plans are capped at 10 per run.

## Actor input object example

```json
{
  "searchQueries": [
    "artificial intelligence"
  ],
  "offeringType": "any",
  "excludeIndefiniteAmounts": false,
  "includeAmendments": false,
  "onlyWithSales": false,
  "onlyWithRelatedPersons": false,
  "requirePhone": false,
  "onlyWithPlacementAgent": false,
  "maxRecords": 50
}
```

# Actor output Schema

## `results` (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 = {
    "searchQueries": [
        "artificial intelligence"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/sec-form-d-private-placements-scraper").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 = { "searchQueries": ["artificial intelligence"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/sec-form-d-private-placements-scraper").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 '{
  "searchQueries": [
    "artificial intelligence"
  ]
}' |
apify call scrapers_lat/sec-form-d-private-placements-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/IZaDXAp4ydMMxsJJa/builds/edOHNPr3eYnTWORWX/openapi.json
