# SEC Form D Funding Rounds: US Startup & Private Raise Tracker (`optimistprime/sec-form-d-funding-rounds`) Actor

New SEC Form D funding rounds as clean JSON: company, industry, state, amount raised, investors, exemptions. Official SEC EDGAR source, funds filtered out, daily monitor.

- **URL**: https://apify.com/optimistprime/sec-form-d-funding-rounds.md
- **Developed by:** [Derek VanLaningham](https://apify.com/optimistprime) (community)
- **Categories:** Lead generation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 form d filing returneds

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 Funding Rounds: US Startup & Private Raise Tracker

**Who just raised money in the US? Every new SEC Form D filing as clean JSON: company, industry, state, amount raised, investors, exemptions. Official SEC source, no API key, $4 per 1,000.**

Form D is the notice US companies and funds file with the SEC within 15 days of the first sale in a private offering (Regulation D, Section 4(a)(5)). It is the official, free primary source for private raises: seed and venture rounds, bank capital raises, real-estate deals, fund launches. This Actor turns the SEC's daily Form D filings into typed rows you can filter, schedule and feed into a CRM, a spreadsheet or an AI agent.

> **At a glance**
>
> - **Prefilled run:** the last 2 days, operating companies only (funds and SPVs filtered out), new offerings only, up to 4 filings (Console prefill; API default is 40), 45-second time budget. Finishes in under a minute. CLI/API users can raise `timeBudgetSeconds`, or set it to `0` for unlimited.
> - **Speed:** about 3 filings fetched per second per run (under a third of the SEC's published 10 requests/second limit). One full business day (~300 Form D and D/A filings) takes about 100–120 s with `timeBudgetSeconds: 0`.
> - **Newest first, pushed as found:** rows appear in the dataset batch by batch while the run is going.
> - **You pay only for rows returned.** Filtered-out filings, errors and already-seen filings in monitor mode are free.

### What you get

One row per Form D or D/A filing: the round itself (issuer, amount, industry, date) plus how many executive officers, directors and promoters the filing lists. Every key is always present (`null` when the filer left it blank).

| Field | Example | Notes |
|---|---|---|
| `accessionNumber` | `0002158363-26-000001` | Unique SEC filing ID |
| `formType` | `D` | `D` (new notice) or `D/A` (amendment) |
| `isAmendment` | `false` | |
| `previousAccessionNumber` | `null` | For amendments: the filing being amended |
| `filedDate` | `2026-10-02` | EDGAR filing date (US Eastern) |
| `acceptedAt` | `2026-10-02T21:01:17Z` | Acceptance time (UTC) for rows from the latest-filings feed; `null` for daily-index rows |
| `cik` | `0002158363` | 10-digit SEC company ID |
| `issuerName` | `ALTIUS ORTHOPEDICS, INC.` | |
| `entityType` | `Corporation` | Corporation, Limited Liability Company, Limited Partnership… |
| `jurisdictionOfInc` | `DELAWARE` | |
| `yearOfInc` | `2025` | |
| `incorporatedWithinFiveYears` | `true` | **Startup flag** |
| `issuerCity` / `issuerState` / `issuerZip` | `LOGAN` / `UT` / `84321` | City, state and ZIP of the issuing entity's business address |
| `issuerStateName` | `UTAH` | |
| `industryGroup` | `Other Health Care` | One of the 35 Form D industry groups |
| `fundType` | `null` | Funds only: Hedge Fund, Private Equity Fund, Venture Capital Fund, Other Investment Fund |
| `isPooledFund` | `false` | |
| `revenueRange` | `Decline to Disclose` | |
| `netAssetValueRange` | `null` | Funds only |
| `exemptions` | `["06b"]` | Raw codes |
| `exemptionLabels` | `["Rule 506(b)"]` | Plain English |
| `isGeneralSolicitation` | `false` | `true` when Rule 506(c) is claimed |
| `dateOfFirstSale` | `2026-09-22` | |
| `firstSaleYetToOccur` | `false` | |
| `moreThanOneYear` | `false` | Offering expected to last over a year |
| `securityTypes` | `["equity"]` | equity, debt, option/warrant, security to be acquired, pooled fund interest, tenant-in-common, mineral property, other |
| `isBusinessCombination` | `false` | Part of a merger/acquisition |
| `minimumInvestment` | `25000` | USD |
| `totalOfferingAmount` | `2400000` | USD; `null` if "Indefinite" |
| `isOfferingAmountIndefinite` | `false` | |
| `totalAmountSold` | `2100000` | USD already sold |
| `totalRemaining` | `300000` | USD; `null` if "Indefinite" |
| `percentSold` | `87.5` | |
| `investorCount` | `16` | Investors who have already invested |
| `hasNonAccreditedInvestors` | `false` | |
| `salesCommissionsUsd` / `findersFeesUsd` | `0` / `0` | |
| `hasSalesCompensation` | `false` | A broker-dealer is listed (names not output) |
| `relatedPersonsCount` | `4` | Number of related persons the filing lists (counts only, never names) |
| `executiveOfficerCount` | `4` | Related persons with the Executive Officer role |
| `directorCount` | `4` | Related persons with the Director role |
| `promoterCount` | `1` | Related persons with the Promoter role. One person can count toward several roles, so the three role counts can add up to more than `relatedPersonsCount` |
| `issuerStreet1` / `issuerStreet2` | `940 W 1400 N I720` / `null` | Issuer's business street address as filed (company data) |
| `issuerPhone` | `1-866-258-4871` | Issuer's business phone as filed (company data) |
| `filingUrl` | `https://www.sec.gov/Archives/edgar/data/2158363/000215836326000001/0002158363-26-000001-index.htm` | Cite this |
| `xmlUrl` | `https://www.sec.gov/Archives/edgar/data/2158363/000215836326000001/primary_doc.xml` | |
| `source` | `SEC EDGAR Form D (public information; source: U.S. Securities and Exchange Commission)` | |
| `fetchedAt` | `2026-10-03T22:30:00Z` | |

Example row (a real filing from Oct 2, 2026):

```json
{
  "accessionNumber": "0002158363-26-000001",
  "formType": "D",
  "isAmendment": false,
  "previousAccessionNumber": null,
  "filedDate": "2026-10-02",
  "acceptedAt": null,
  "cik": "0002158363",
  "issuerName": "ALTIUS ORTHOPEDICS, INC.",
  "entityType": "Corporation",
  "jurisdictionOfInc": "DELAWARE",
  "yearOfInc": 2025,
  "incorporatedWithinFiveYears": true,
  "issuerCity": "LOGAN",
  "issuerState": "UT",
  "issuerZip": "84321",
  "issuerStateName": "UTAH",
  "industryGroup": "Other Health Care",
  "fundType": null,
  "isPooledFund": false,
  "revenueRange": "Decline to Disclose",
  "netAssetValueRange": null,
  "exemptions": ["06b"],
  "exemptionLabels": ["Rule 506(b)"],
  "isGeneralSolicitation": false,
  "dateOfFirstSale": "2026-09-22",
  "firstSaleYetToOccur": false,
  "moreThanOneYear": false,
  "securityTypes": ["equity"],
  "isBusinessCombination": false,
  "minimumInvestment": 25000,
  "totalOfferingAmount": 2400000,
  "isOfferingAmountIndefinite": false,
  "totalAmountSold": 2100000,
  "totalRemaining": 300000,
  "percentSold": 87.5,
  "investorCount": 16,
  "hasNonAccreditedInvestors": false,
  "salesCommissionsUsd": 0,
  "findersFeesUsd": 0,
  "hasSalesCompensation": false,
  "relatedPersonsCount": 4,
  "executiveOfficerCount": 4,
  "directorCount": 4,
  "promoterCount": 1,
  "issuerStreet1": "940 W 1400 N I720",
  "issuerStreet2": null,
  "issuerPhone": "1-866-258-4871",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/2158363/000215836326000001/0002158363-26-000001-index.htm",
  "xmlUrl": "https://www.sec.gov/Archives/edgar/data/2158363/000215836326000001/primary_doc.xml",
  "source": "SEC EDGAR Form D (public information; source: U.S. Securities and Exchange Commission)",
  "fetchedAt": "2026-10-03T22:30:00Z"
}
```

### Why this Actor

- **Official primary source.** Data comes straight from SEC EDGAR (www.sec.gov), not from news scraping or a third-party database.
- **Operating companies only by default.** Pooled investment funds (hedge, VC, PE and real-estate funds and SPVs) are often half of all new Form D filings. They are filtered out unless you turn `excludePooledFunds` off.
- **Typed amounts and % sold.** Numbers are numbers in USD. "Indefinite" amounts become `null` with a flag.
- **Startup flag.** `incorporatedWithinFiveYears` and `yearOfInc` find young companies quickly.
- **Plain-English exemptions.** `Rule 506(b)`, `Rule 506(c)`, `3(c)(7)` and so on, plus a 506(c) general-solicitation flag.
- **Linked amendments.** D/A rows carry `previousAccessionNumber`.
- **Monitor mode.** Schedule it daily and get only filings you haven't seen. Already-seen filings are free.
- **Fast, time-budgeted calls for AI agents.** A 45 s default budget returns the newest filings first, with `truncated` and the exact dates covered in `RUN_SUMMARY`.
- **Privacy-first.** Role counts only: no person's name or personal address, ever (see [Data source, citation and privacy](#data-source-citation-and-privacy)).

### Use cases

- **Sales prospecting:** newly funded companies are buying. Filter by industry, state and amount, and push them to your CRM every morning.
- **VC/PE deal flow and fund-launch tracking:** see new rounds and new funds (turn `excludePooledFunds` off and filter `industryGroups: ["Pooled Investment Fund"]`).
- **KYB / compliance:** check private placements claimed by a company.
- **Market research:** count raises by industry, state or exemption over a 92-day window.
- **Journalism:** spot notable raises the day they are filed, with the SEC filing link to cite.

### How to use

1. Click **Start** with the prefilled input to see the newest operating-company raises.
2. Narrow it down with `industryGroups`, `states`, `minAmountSold` or `issuerKeywords`.
3. For a daily feed, turn on **Monitor mode** and schedule the Actor (weekdays at 07:00 ET with `daysBack: 3` is a good default).

#### Example 1: today's tech raises over $1M

```json
{"daysBack": 1, "industryGroups": ["Other Technology", "Computers", "Telecommunications"], "minAmountSold": 1000000, "maxItems": 50}
```

`"Technology"` also works: Form D headings expand to their groups (`Technology` → Computers, Telecommunications, Other Technology).

#### Example 2: weekly biotech raises

```json
{"daysBack": 7, "industryGroups": ["Biotechnology", "Pharmaceuticals"], "maxItems": 200, "timeBudgetSeconds": 0}
```

#### Example 3: daily monitor to Slack / HubSpot

```json
{"monitorMode": true, "monitorId": "daily-raises", "daysBack": 3, "minAmountSold": 500000, "maxItems": 0, "timeBudgetSeconds": 0}
```

Schedule it on weekdays at 07:00 ET. Add a webhook, Make, Zapier or n8n integration on "Run succeeded" to post the new rows to Slack or create HubSpot companies. Each run returns only filings that earlier runs with the same `monitorId` haven't returned, so you pay only for new ones.

#### Example 4: API, one call that returns the rows

```bash
curl -X POST "https://api.apify.com/v2/acts/optimistprime~sec-form-d-funding-rounds/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"daysBack": 2, "states": ["CA", "NY"], "minAmountSold": 2000000, "maxItems": 50}'
```

### Ready-to-run examples

Published tasks: open one and click **Try** to copy it into your account and run it.

- [Latest US Tech Startup Funding Rounds (SEC Form D)](https://apify.com/optimistprime/sec-form-d-funding-rounds/examples/us-tech-startup-funding-rounds-last-7-days): technology industries, US states, funds excluded, the 25 newest rounds. To cover the full 7 days, raise `maxItems` (for example to `0` = no limit) and also set `timeBudgetSeconds` to `0`, since the time budget otherwise stops it early. The example itself uses a 120 s budget so it fills its 25 rows.
- [Biotech & Therapeutics Funding Rounds (SEC Form D)](https://apify.com/optimistprime/sec-form-d-funding-rounds/examples/biotech-therapeutics-funding-rounds): Biotechnology and Pharmaceuticals issuers named "… Therapeutics" in the last 30 days.
- [New Venture Funds & SPVs Raising Capital (SEC Form D)](https://apify.com/optimistprime/sec-form-d-funding-rounds/examples/new-venture-funds-and-spvs-form-d): pooled investment funds from the last 3 days, with fund type, offering size (where stated), amount sold and investor count.

### Input reference

| Field | Default | Description |
|---|---|---|
| `daysBack` | 2 | Calendar days of filings to return, newest first (1 = today and the latest business day). Max 92. Ignored if `fromDate` is set. |
| `fromDate` | – | Start date `YYYY-MM-DD` (filing date, US Eastern). Overrides `daysBack`. Window max 92 days; not before 2009-03-16. |
| `toDate` | today | End date, inclusive. |
| `excludePooledFunds` | `true` | Skip "Pooled Investment Fund" filings (hedge, VC, PE and real-estate funds and SPVs). |
| `includeAmendments` | `false` | Also return Form D/A amendments. |
| `industryGroups` | all | Form D industry groups (exact SEC labels, case-insensitive). Headings like `Real Estate`, `Technology`, `Health Care`, `Energy`, `Travel` expand to their groups. Unknown labels give a warning, not an error. |
| `states` | all | 2-character codes of the issuer's principal place of business (`CA`, `NY`, `UT`; SEC country codes for foreign issuers). |
| `minAmountSold` | 0 | Only filings reporting at least this much sold (USD). Filings without an amount fail a non-zero minimum. |
| `issuerKeywords` | all | Issuer name must contain ANY of these words (whole words, case-insensitive; plural "s" allowed). Checked on the index name before the filing is downloaded, so it also speeds runs up. |
| `monitorMode` | `false` | Return only filings not returned before for this `monitorId`. |
| `monitorId` | `default` | Name of the saved monitor state (letters, digits, hyphens; case-insensitive). |
| `maxItems` | 40 | Stop after this many filings (0 = no limit). |
| `timeBudgetSeconds` | 45 | Stop fetching after this many seconds and return what was found (newest first). Keeps MCP/agent calls under a minute; CLI/API users can raise it, or set `0` for unlimited. |
| `debugLog` | `false` | Verbose logging. |

All 35 industry groups (from the SEC's Form D XML technical specification): 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.

#### What is Form D?

- Companies raising money privately under **Regulation D** (Rules 504 and 506) or **Section 4(a)(5)** must file a short notice, Form D, with the SEC **within 15 days after the first sale** of securities.
- **Rule 506(b)** is the classic private placement: no general advertising, accredited investors (plus up to 35 sophisticated non-accredited). **Rule 506(c)** allows general solicitation, but every investor must be verified as accredited. Funds usually also claim an Investment Company Act exclusion: **3(c)(1)** (≤ 100 investors) or **3(c)(7)** (qualified purchasers).
- **Not every round is filed.** Some companies rely on other exemptions, file late or never. Amounts are **self-reported** by the issuer and are not audited by the SEC.
- A **D/A** amends an earlier notice (for example an annual update or a new amount sold). It carries the accession number of the filing it amends.

### Output reference

- **Dataset:** one row per filing (fields above). Views: **Overview** (filed date, issuer, industry, state, amount sold, offering amount, investors, exemptions, form, link) and **Startups** (issuer, year of incorporation, industry, state, amount sold, first sale, link).
- **Order:** newest first. Filings from the SEC latest-filings feed (today, and days whose daily index isn't published yet) come first in exact acceptance order; past days follow day by day, newest day first. Within one past day the order is the SEC daily index's (alphabetical by company).
- **`RUN_SUMMARY`** (default key-value store):

```json
{
  "requested": {"from": "2026-10-01", "to": "2026-10-03"},
  "covered": {"from": "2026-10-02", "to": "2026-10-03"},
  "complete": false,
  "truncated": true,
  "stopReason": "timeBudget",
  "pagesFetched": {"atom": 2, "dailyIndex": 1, "filings": 214, "quarterListing": 1},
  "filingsSeen": 306,
  "filteredOut": 190,
  "filteredOutBy": {"amendment": 150, "pooledFund": 40},
  "pushed": 100,
  "errors": {"missingPrimaryDoc": 0, "parse": 0, "http": 0},
  "daysWithoutIndex": ["2026-10-03"],
  "note": "Time budget (45 s) reached; covered 2026-10-02 → 2026-10-03 fully. Raise timeBudgetSeconds (0 = unlimited) or narrow filters for more."
}
```

- `covered` is the range of days that were **fully** checked. `stopReason` says why the run ended: `done` (whole window checked), `maxItems` (your row cap was reached: the newest filings first, counted as complete), `timeBudget` or `maxCharge`. `truncated: true` only for `timeBudget` and `maxCharge`, i.e. when a limit cut the run short before it could return what you asked for.
- The run status message mirrors it, e.g. `Partial (time budget 45 s): 41 filings, covered 2026-10-02 → 2026-10-03. Raise timeBudgetSeconds for more.`
- Weekends and holidays have no daily index. That is normal and not an error.

### Pricing

Pay per event, no platform usage charges on top.

| Event | Title | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|---|
| `form-d-filing` | Form D filing returned | $0.0040 | $0.0035 | $0.0030 | $0.0025 | $0.0025 | $0.0025 |
| `apify-actor-start` | Actor start | $0.002 | $0.002 | $0.002 | $0.002 | $0.002 | $0.002 |

- You are charged **only for filings returned to the dataset** after your filters. In monitor mode, filings returned in an earlier run are free.
- Set a **max cost per run** in the run options. The run stops cleanly when it is reached and you are never charged for rows that weren't saved. The minimum max charge is $0.05.
- Worked examples (FREE tier):
  - Default run with 40 rows: $0.002 + 40 × $0.004 = **$0.162**
  - Daily monitor at ~60 new operating-company raises per business day ≈ $0.24/day ≈ **$5.30/month** (22 business days; ~60/day is an estimate from one day's sample)
  - 30-day backfill of ~1,300 rows ≈ **$5.20**

### Use as an MCP tool

Add the Actor to any MCP client (Claude, Cursor, ChatGPT connectors…) through the Apify MCP server:

```
https://mcp.apify.com/?tools=optimistprime/sec-form-d-funding-rounds
```

A minimal agent call returns typed rows in under a minute (45 s default time budget):

```json
{"daysBack": 3, "industryGroups": ["Other Technology"], "minAmountSold": 1000000, "maxItems": 20}
```

Prompts to try:

- "Which biotech companies raised over $5M on Form D this week?"
- "New 506(c) raises in California today"
- "Count new venture fund launches in the last 30 days"

Amounts are numbers in USD, dates are ISO, `exemptionLabels` are plain English, and `filingUrl` gives the agent a citation. `RUN_SUMMARY.covered` and `truncated` tell the agent exactly which days it saw.

### Data source, citation and privacy

- **Source:** U.S. Securities and Exchange Commission, EDGAR: the daily form indexes, the latest-filings feed and each filing's Form D XML (`primary_doc.xml`) on www.sec.gov. No other sites, no API key, no proxies.
- **Citation:** the SEC states that "Information presented on sec.gov is considered public information and may be copied or further distributed by users of the web site without the SEC's permission", and asks for citation of the SEC as the source. Every row carries `source` and `filingUrl` for that.
- **Fair access:** the SEC's published limit is 10 requests per second. This Actor stays at **3 requests per second per run, 4 at a time**, sends a declared User-Agent with a contact address, retries 429/5xx politely (2, 4, 8, 16 s backoff, honouring `Retry-After`) and halves its rate for 10 minutes after any 429.
- **Data & privacy:** Form D filings list "related persons" (executive officers, directors, promoters) with their names and often their addresses.
  - We output how many executive officers, directors and promoters a filing lists, never their names or addresses. Don't use this data for unsolicited personal outreach that breaks applicable law (e.g. CAN-SPAM, GDPR).
  - Signer names, broker/sales-compensation recipients (which can be individual brokers) and every personal address are never output either.
  - The issuer's **business address (street, city, state, ZIP) and phone** are kept: that is company data for the issuing entity.
- This Actor is not affiliated with or endorsed by the SEC.

### FAQ

**Why don't I see investor names?**
Form D doesn't list investors. It reports how many investors there are and how much was sold, not who they are.

**Why is a famous round missing?**
Not every raise files a Form D. Some companies use other exemptions, some file late (the deadline is 15 days after the first sale, and some miss it), and some never file. A round announced in the press may also show up weeks later or under the legal name of a holding entity. Try `issuerKeywords` with the legal name and a wider window.

**D vs D/A?**
`D` is the first notice for an offering. `D/A` amends it, for example an annual update, a change in the amount sold or a correction. D/A rows carry `previousAccessionNumber`. They are off by default; set `includeAmendments: true` to include them.

**Why are some amounts "Indefinite"?**
Funds and some ongoing offerings report the total offering amount as "Indefinite". We return `totalOfferingAmount: null` with `isOfferingAmountIndefinite: true`; `totalAmountSold` is usually still a number.

**Why did my run stop after 45 seconds?**
That is the default time budget, which keeps calls fast for AI agents and the prefilled example. The newest filings come first, and `RUN_SUMMARY.covered` shows which days were fully checked. CLI/API users can raise `timeBudgetSeconds`, or set it to `0` (unlimited) for long backfills.

### Changelog

See the Changelog tab. 1.0 (Oct 2026): first release.

Questions, bugs or a field you need? Open an issue on the Actor's Issues tab.

# Changelog

This Actor's version history is a separate document: https://apify.com/optimistprime/sec-form-d-funding-rounds/changelog.md

# Actor input Schema

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

How many calendar days of filings to return, newest first (1 = today and the latest business day). Default 2 keeps a run under ~1 minute. Max 92. Ignored if 'From date' is set.

## `fromDate` (type: `string`):

Start date YYYY-MM-DD (filing date, US Eastern). Overrides 'Days back'. Window max 92 days.

## `toDate` (type: `string`):

End date YYYY-MM-DD, inclusive. Default: today.

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

Skip 'Pooled Investment Fund' filings (hedge, VC, PE and real-estate funds and SPVs) to get operating companies only. In today's sample, 22 of 40 new Form D filings were pooled funds.

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

Also return Form D/A amendments (updated amounts for an existing offering). Off = new offerings only.

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

Only these Form D industry groups (exact SEC labels, case-insensitive), e.g. 'Other Technology', 'Biotechnology', 'Other Health Care', 'Commercial Banking', 'Real Estate'. Leave empty for all.

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

Two-letter codes of the issuer's principal place of business as filed (US states like 'CA','NY','UT'; SEC country codes for foreign issuers). Leave empty for all.

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

Only filings reporting at least this much already sold. 0 = no minimum.

## `issuerKeywords` (type: `array`):

Only issuers whose name contains ANY of these words (case-insensitive), e.g. 'therapeutics', 'ai'. Leave empty for all.

## `monitorMode` (type: `boolean`):

Return only filings not returned in a previous run with the same Monitor ID. Schedule daily for a 'newly funded companies' feed. You only pay for returned filings.

## `monitorId` (type: `string`):

Name of the saved monitor state. One ID per saved search.

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

Stop after this many filings are returned (0 = no limit). You are charged per returned filing. Prefilled 4 so a first try costs under $0.02.

## `timeBudgetSeconds` (type: `integer`):

Stop fetching after this many seconds and return what was found so far (newest first), with truncated=true and the date range covered in RUN_SUMMARY. Keeps AI-agent/MCP calls fast. 0 = unlimited.

## `debugLog` (type: `boolean`):

Verbose logging.

## Actor input object example

```json
{
  "daysBack": 2,
  "excludePooledFunds": true,
  "includeAmendments": false,
  "minAmountSold": 0,
  "monitorMode": false,
  "monitorId": "default",
  "maxItems": 4,
  "timeBudgetSeconds": 45,
  "debugLog": false
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `startups` (type: `string`):

No description

## `allRows` (type: `string`):

No description

## `runSummary` (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 = {
    "maxItems": 4
};

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

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

```

## MCP server setup

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

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/Hmw9qHaaNpHuDku7t/builds/8BzA4ZUCw4hHJoqW8/openapi.json
