# SEC EDGAR Form D & ADV Scraper - VC/PE Fundraising Signals (`kamerozkan/sec-form-d-fundraising-signals`) Actor

SEC EDGAR Form D scraper for startup funding & VC/PE fundraising signals. Monitor new Form D filings, amendment diffs, Form ADV manager matching, strategy & sector tags, lifecycle events with source evidence. Delivery-ready funding leads & fund data rows.

- **URL**: https://apify.com/kamerozkan/sec-form-d-fundraising-signals.md
- **Developed by:** [Kamer Ozkan](https://apify.com/kamerozkan) (community)
- **Categories:** Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 fundraising signals

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/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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 Fundraising Signals & VC/PE Fund Monitor

An Apify Actor that turns official SEC filings into source-linked VC/PE fundraising signals. It combines EDGAR Form D notices with Form ADV firm data, conservative manager resolution, official manager-site classification, lifecycle tracking, and delivery integrations.

This is an original signal and workflow product, not a PitchBook clone or a complete private-markets database.

> **Unofficial product:** This community Actor is independent and is not affiliated with, sponsored by, or endorsed by the U.S. Securities and Exchange Commission, PitchBook, Morningstar, or any observed fund manager.

### Included in v1.0

- New `D` notices and `D/A` amendments from SEC daily indexes
- Venture Capital, Private Equity, Hedge, and Other Investment Fund filters
- Offering size, amount sold, remaining amount, first sale date, investor count, geography, jurisdiction, and exemptions
- Material amendment comparison through `previousAccessionNumber`
- Official Form ADV registered-adviser and exempt-reporting-adviser enrichment
- Conservative fund-to-manager entity resolution with matched, ambiguous, and unmatched states
- Official manager website, strategy, portfolio, news, and press-hub discovery
- `robots.txt` compliance for every official-site origin and redirect
- Rule-based strategy and sector classification without returning scraped page text
- Canonical fund IDs plus persistent first-seen, last-seen, alias, and observation history
- Field-level evidence, source URLs, provenance, and confidence scores
- Snapshot and persistent delta watchlists
- Every-signal and latest-per-fund output modes
- Generic webhook, Slack incoming webhook, and CRM/automation webhook delivery
- Pay-per-event billing through Apify's synthetic start and default-dataset events
- Spending-limit-aware output caps that stop before SEC source access when no result can be charged
- Pre-parse removal of person-level and contact-bearing Form D sections

### Recommended production input

```json
{
  "daysBack": 7,
  "fundTypes": [
    "Venture Capital Fund",
    "Private Equity Fund"
  ],
  "locations": [],
  "minOfferingAmountUsd": 10000000,
  "minAmountSoldUsd": 0,
  "onlyNewNotices": false,
  "includeAmendmentDiff": true,
  "runMode": "delta",
  "watchlistKey": "us-vc-pe-daily",
  "maxItems": 250,
  "maxFilingsToInspect": 1000,
  "secUserAgent": "Mozilla/5.0 YourFirm ops@yourfirm.com FundraiseSignalMonitor/1.0",
  "managerEnrichment": true,
  "websiteEnrichment": true,
  "maxOfficialPages": 2,
  "outputMode": "latest_per_fund",
  "strategyFilters": [],
  "sectorFilters": [],
  "failOnDeliveryError": false
}
````

Replace the User-Agent example with a monitored organization contact before running. `startDate` and `endDate` support explicit ranges up to 31 calendar days. Otherwise `daysBack` ends on the current date.

### Output contract

Each dataset item includes:

- Filing identity: `signalId`, `canonicalFundId`, CIK, accession, filing date, and filing type
- Fundraise facts: fund type, amounts, dates, investor count, exemptions, and coarse location
- Amendment facts: comparison status, changed fields, and before/after values
- Manager resolution: status, method, score, ambiguity gap, and permitted Form ADV firm fields
- Official website evidence: root domain, classified hub pages, and dated news/press observations
- Classification: normalized strategy and sector tags, basis, and confidence
- Lifecycle: first/last seen, unique filing observation count, and legal-entity aliases
- Evidence: field, source type, official URL, observation time, note, and confidence
- Compliance flags: `provenance: "official_as_filed"` and `personContactFieldsExcluded: true`

Raw Form D amount strings are retained because the SEC permits values such as `Indefinite`. The corresponding `...Usd` field is `null` when the value cannot be represented reliably as a number.

#### Real records from a live run

Both records below are unedited output from a live run on 2026-07-28 against the
public EDGAR index (build 1.0.7). An active raise, exactly as filed: a $150M venture
fund three days into its offering with $6.475M already sold to 23 investors:

```json
{
  "signalId": "sec-form-d:0002146550-26-000001",
  "canonicalFundId": "sec-cik:0002146550",
  "signalType": "new_notice",
  "accessionNumber": "0002146550-26-000001",
  "filingDate": "2026-07-27",
  "acceptedAt": "2026-07-27T13:17:04",
  "cik": "0002146550",
  "fundName": "LRI Vision Partners Fund III, L.P.",
  "entityType": "Limited Partnership",
  "fundType": "Venture Capital Fund",
  "locationCity": "SEATTLE",
  "locationRegion": "WASHINGTON",
  "locationCountry": "UNITED STATES",
  "jurisdiction": "DELAWARE",
  "incorporationYear": 2025,
  "firstSaleDate": "2026-06-30",
  "firstSaleStatus": "occurred",
  "offeringDuration": "more_than_one_year",
  "minimumInvestmentUsd": 0,
  "totalOfferingAmount": "150000000",
  "totalOfferingAmountUsd": 150000000,
  "totalAmountSold": "6475000",
  "totalAmountSoldUsd": 6475000,
  "totalRemaining": "143525000",
  "totalRemainingUsd": 143525000,
  "investorCount": 23,
  "hasNonAccreditedInvestors": false,
  "exemptions": [
    "06b",
    "3C",
    "3C.1",
    "3C.7"
  ],
  "isAmendment": false,
  "previousAccessionNumber": null,
  "diffStatus": "not_applicable",
  "changedFields": [],
  "changes": [],
  "source": {
    "publisher": "U.S. Securities and Exchange Commission",
    "dataset": "EDGAR Form D",
    "filingUrl": "https://www.sec.gov/Archives/edgar/data/2146550/000214655026000001/0002146550-26-000001-index.html",
    "submissionTextUrl": "https://www.sec.gov/Archives/edgar/data/2146550/0002146550-26-000001.txt"
  },
  "manager": {
    "status": "matched",
    "matchMethod": "name_similarity",
    "matchScore": 0.88,
    "ambiguityGap": 0.095,
    "profile": {
      "managerId": "sec-adv-crd:291983",
      "crdNumber": "291983",
      "secNumber": "802-112567",
      "cik": null,
      "primaryBusinessName": "UNLOCK VENTURE PARTNERS",
      "legalName": "LRI VISION MANAGEMENT, LLC",
      "firmType": "ERA",
      "website": "https://www.facebook.com/unlockvp/",
      "city": null,
      "region": null,
      "country": null,
      "latestAdvFilingDate": "2025-03-18",
      "privateFundCount": 3,
      "ventureCapitalFundCount": 3,
      "privateEquityFundCount": null,
      "hedgeFundCount": null,
      "privateFundGrossAssetsUsd": 88312620,
      "sourceUrl": "https://adviserinfo.sec.gov/firm/summary/291983",
      "sourceDownloadUrl": "https://www.sec.gov/files/investment/data/other/information-about-registered-investment-advisers-exempt-reporting-advisers/ia07012026-exempt.zip"
    }
  },
  "officialWebsite": {
    "status": "disabled",
    "url": null,
    "domain": null,
    "pages": [],
    "updates": [],
    "fetchedAt": null
  },
  "classification": {
    "strategyTags": [
      "venture-capital"
    ],
    "sectorTags": [],
    "confidence": 0.87,
    "basis": [
      "form_d",
      "fund_name",
      "form_adv"
    ]
  },
  "lifecycle": {
    "firstSeenAt": "2026-07-28T14:26:36.610Z",
    "lastSeenAt": "2026-07-28T21:15:36.031Z",
    "isFirstSeen": false,
    "observationCount": 1,
    "aliases": [
      "LRI Vision Partners Fund III, L.P."
    ]
  },
  "confidenceScore": 0.9084,
  "evidence": "(evidence details, shortened here)",
  "provenance": "official_as_filed",
  "personContactFieldsExcluded": true,
  "retrievedAt": "2026-07-28T21:15:36.031Z"
}
```

And a day-one filing that shows the honesty rules working. The SEC permits
non-numeric amounts, so the raw string `"Indefinite"` is retained and
`totalOfferingAmountUsd` stays `null` instead of being guessed; `firstSaleStatus`
reports `yet_to_occur` with zero investors; `provenance` marks the record as official
as-filed data, and `personContactFieldsExcluded` confirms that natural-person contact
fields are never extracted:

```json
{
  "signalId": "sec-form-d:0002147468-26-000001",
  "canonicalFundId": "sec-cik:0002147468",
  "signalType": "new_notice",
  "accessionNumber": "0002147468-26-000001",
  "filingDate": "2026-07-27",
  "acceptedAt": "2026-07-27T17:09:22",
  "cik": "0002147468",
  "fundName": "Uplift Investors Mockingbird Co-Invest Fund, LP",
  "entityType": "Limited Partnership",
  "fundType": "Private Equity Fund",
  "locationCity": "DARIEN",
  "locationRegion": "CONNECTICUT",
  "locationCountry": "UNITED STATES",
  "jurisdiction": "DELAWARE",
  "incorporationYear": 2026,
  "firstSaleDate": null,
  "firstSaleStatus": "yet_to_occur",
  "offeringDuration": "one_year_or_less",
  "minimumInvestmentUsd": 0,
  "totalOfferingAmount": "Indefinite",
  "totalOfferingAmountUsd": null,
  "totalAmountSold": "0",
  "totalAmountSoldUsd": 0,
  "totalRemaining": "Indefinite",
  "totalRemainingUsd": null,
  "investorCount": 0,
  "hasNonAccreditedInvestors": false,
  "exemptions": [
    "06b",
    "3C",
    "3C.1",
    "3C.7"
  ],
  "isAmendment": false,
  "previousAccessionNumber": null,
  "diffStatus": "not_applicable",
  "changedFields": [],
  "changes": [],
  "source": {
    "publisher": "U.S. Securities and Exchange Commission",
    "dataset": "EDGAR Form D",
    "filingUrl": "https://www.sec.gov/Archives/edgar/data/2147468/000214746826000001/0002147468-26-000001-index.html",
    "submissionTextUrl": "https://www.sec.gov/Archives/edgar/data/2147468/0002147468-26-000001.txt"
  },
  "manager": {
    "status": "matched",
    "matchMethod": "name_and_location",
    "matchScore": 0.845,
    "ambiguityGap": 0.845,
    "profile": {
      "managerId": "sec-adv-crd:335515",
      "crdNumber": "335515",
      "secNumber": "801-132856",
      "cik": null,
      "primaryBusinessName": "UPLIFT",
      "legalName": "UPLIFT INVESTORS, LP",
      "firmType": "Registered",
      "website": "https://www.linkedin.com/COMPANY/UPLIFT-INVESTORS/",
      "city": "DARIEN",
      "region": "CT",
      "country": "United States",
      "latestAdvFilingDate": "2026-03-31",
      "privateFundCount": 2,
      "ventureCapitalFundCount": null,
      "privateEquityFundCount": 2,
      "hedgeFundCount": null,
      "privateFundGrossAssetsUsd": 230500000,
      "sourceUrl": "https://adviserinfo.sec.gov/firm/summary/335515",
      "sourceDownloadUrl": "https://www.sec.gov/files/investment/data/other/information-about-registered-investment-advisers-exempt-reporting-advisers/ia07012026.zip"
    }
  },
  "officialWebsite": {
    "status": "disabled",
    "url": null,
    "domain": null,
    "pages": [],
    "updates": [],
    "fetchedAt": null
  },
  "classification": {
    "strategyTags": [
      "co-investment",
      "private-equity"
    ],
    "sectorTags": [],
    "confidence": 0.87,
    "basis": [
      "form_d",
      "fund_name",
      "form_adv"
    ]
  },
  "lifecycle": {
    "firstSeenAt": "2026-07-28T14:26:36.610Z",
    "lastSeenAt": "2026-07-28T21:15:36.031Z",
    "isFirstSeen": false,
    "observationCount": 1,
    "aliases": [
      "Uplift Investors Mockingbird Co-Invest Fund, LP"
    ]
  },
  "confidenceScore": 0.9007,
  "evidence": "(evidence details, shortened here)",
  "provenance": "official_as_filed",
  "personContactFieldsExcluded": true,
  "retrievedAt": "2026-07-28T21:15:36.031Z"
}
```

### Classification filters

Common strategy tags include:

`venture-capital`, `private-equity`, `seed`, `early-stage`, `growth-equity`, `buyout`, `venture-debt`, `private-credit`, `real-estate`, `co-investment`, `fund-of-funds`, `secondary`, and `infrastructure`.

Common sector tags include:

`software`, `artificial-intelligence`, `fintech`, `healthcare`, `life-sciences`, `climate-energy`, `consumer`, `industrials`, `real-estate`, `defense-aerospace`, `crypto-web3`, `education`, `food-agriculture`, and `mobility-logistics`.

Filters use OR within each list and AND between strategy and sector lists. Classification is deterministic and evidence-linked; it is not presented as an audited investment mandate.

### Delta and lifecycle behavior

`runMode: "delta"` stores seen SEC accession numbers per watchlist. Later runs omit already-seen accessions. `watchlistKey` identifies independent schedules; when omitted, a stable key is generated from business filters.

`outputMode: "latest_per_fund"` returns only the newest filing in the selected range for each canonical SEC fund CIK. Suppressed older accessions are consumed correctly in delta mode, so they do not resurface on later runs.

Lifecycle state is separate from watchlist state. It stores canonical fund ID, first/last observation times, legal-entity aliases, manager organization ID, and up to 500 observed accession numbers. Re-running the same filing does not increase `observationCount`.

### Delivery integrations

Three encrypted input destinations are supported:

- `webhookUrl`: complete versioned signal envelope
- `crmWebhookUrl`: the same envelope for a CRM or automation intake endpoint
- `slackWebhookUrl`: concise Block Kit alert with SEC filing links

`webhookBearerToken` is sent only to generic and CRM webhooks. Delivery URLs must use HTTPS, resolve exclusively to public IP addresses, and must not redirect. Failed requests retry up to three times. Runs with no matching signals record configured deliveries as `skipped` and do not send empty alerts.

Generic and CRM deliveries are split into ordered batches of at most 50 signals. Each envelope includes batch position metadata, a schema-version header, and a stable idempotency key so receivers can safely deduplicate retries.

Set `failOnDeliveryError: true` when delivery failure should fail the Actor run after dataset and summary persistence.

### Pricing and spending limits

The Store configuration charges `$0.01` when a run starts and `$0.003` for each normalized fundraising signal written to the default dataset (`$30 / 1,000`). The fundraising-signal event is the primary event and platform usage is included by the publisher.

When a user sets a maximum charge for a run, the Actor calculates the remaining number of chargeable dataset items before source access and caps work accordingly. If the remaining budget cannot pay for one result, the Actor writes a `budgetLimited: true` zero-result summary without contacting the SEC.

This Actor is also exposed to AI agents through Apify's MCP server
(mcp.apify.com): an agent can discover it by search and run it with the same
pay-per-event billing, with no separate integration.

### Privacy and security

The Actor removes these Form D XML sections before parsing:

- Related persons
- Sales-compensation recipients
- Signatures
- Issuer phone and street address
- Use-of-proceeds free text
- Commissions and finder-fee sections

It never downloads the Form D `RECIPIENTS`, `RELATEDPERSONS`, or `SIGNATURES` bulk tables. From Form ADV rosters it selects only firm identifiers, firm names, website, coarse geography, filing date, and aggregate private-fund counts/assets; phone, email, and street-address columns are discarded during CSV parsing.

Official website HTML is used transiently for rule-based classification and every origin is checked against `robots.txt` before fetching. Page text, article titles, article URLs, people, emails, phone numbers, and contact details are not returned or stored. News/press output is limited to the official hub URL and a machine-readable publication date when available.

Entity and firm names can themselves contain a human name. The precise data-handling contract is documented in [DATA\_AND\_PRIVACY.md](DATA_AND_PRIVACY.md); the product claim is exclusion of defined person/contact fields, not an absolute legal guarantee that no entity name can identify a person.

Delivery secrets use Apify encrypted inputs. Network destinations block local, private, link-local, carrier-grade NAT, documentation, reserved, and non-unicast IP ranges, including IPv4-mapped IPv6 addresses.

### Sources and limitations

Primary sources:

- [SEC Form D data sets and EDGAR archive](https://www.sec.gov/data-research/sec-markets-data/form-d-data-sets)
- [SEC Form ADV adviser and exempt-reporting-adviser information](https://www.sec.gov/data-research/sec-markets-data/information-about-registered-investment-advisers-exempt-reporting-advisers)
- Official manager website reported in the matched Form ADV roster

SEC records are published as filed and may contain mistakes, omissions, amendments, or indefinite amounts. A Form D notice is a fundraising signal-not proof of a final close, SEC approval, or an exhaustive view of a manager. Manager matching is deliberately conservative; low-confidence or ambiguous candidates are not attached.

Outputs are provided for research and monitoring. They are not investment, legal, tax, or compliance advice.

The Actor observes SEC access throttling. `secUserAgent` is required and must include a monitored contact email. Missing weekend and holiday daily indexes are skipped.

### Local verification

Requires Node.js 20 or later:

```bash
npm ci
npm run check
npm run build
npm run release:check
```

The test suite covers configuration validation, source parsers, defined person/contact-field removal, filters, amendment comparison, manager resolution, classification, lifecycle idempotency, official-site privacy, network destination protection, schema conformance, and webhook/Slack/CRM delivery behavior.

Run locally with the Apify CLI, or place `INPUT.json` in the default local key-value store and run:

```bash
npm run start:dev
```

### Apify publication

The source includes Actor input/output/dataset schemas and a two-stage Node.js 24 Docker build.

For a private deploy plus remote build and automatic Console opening:

```bash
npm run deploy:private
```

Prepared Store copy, pricing, and an optional schedule template are in [`publication/`](publication/). The sample SEC User-Agent is intentionally a placeholder: every caller must replace it with a monitored organization contact before a run.

# Actor input Schema

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

First filing date to inspect (YYYY-MM-DD). Leave empty to use Days back.

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

Last filing date to inspect (YYYY-MM-DD). Defaults to today.

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

Calendar-day lookback used when Start date is empty.

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

SEC investment fund classifications to include.

## `locations` (type: `array`):

Optional case-insensitive city, state, country, or jurisdiction filters.

## `minOfferingAmountUsd` (type: `integer`):

Exclude filings with a smaller or non-numeric total offering amount. Use 0 to include indefinite amounts.

## `minAmountSoldUsd` (type: `integer`):

Exclude filings with a smaller or non-numeric amount sold.

## `onlyNewNotices` (type: `boolean`):

Exclude D/A amendments and return only new Form D notices.

## `includeAmendmentDiff` (type: `boolean`):

Fetch the previous filing referenced by D/A submissions and list changed fundraising fields.

## `runMode` (type: `string`):

Snapshot returns matching filings. Delta remembers accessions and returns only filings not seen by the same watchlist.

## `watchlistKey` (type: `string`):

Optional stable identifier for delta-mode state, for example us-vc-large. Filters are hashed when empty.

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

Maximum dataset records returned, and the cost cap: $0.003 per delivered signal plus a $0.01 run start. Delta mode returns only filings not yet seen by the same watchlist, so scheduled runs stay cheap on quiet days.

## `maxFilingsToInspect` (type: `integer`):

Safety cap for Form D/D-A filing downloads before filters are applied.

## `secUserAgent` (type: `string`):

Required by SEC fair-access guidance. Include your organization, application/version, and contact email; for example: Mozilla/5.0 MyFirm admin@myfirm.com FundraiseSignalMonitor/1.0.

## `managerEnrichment` (type: `boolean`):

Download the latest official SEC Form ADV firm rosters and resolve a likely fund manager.

## `websiteEnrichment` (type: `boolean`):

Visit the website reported by a matched Form ADV manager for strategy and sector classification.

## `maxOfficialPages` (type: `integer`):

Maximum same-domain about, strategy, portfolio, news, or press hubs fetched per manager.

## `outputMode` (type: `string`):

Return every filing signal or only the latest filing for each canonical SEC fund CIK.

## `strategyFilters` (type: `array`):

Optional normalized tags such as seed, early-stage, growth-equity, buyout, private-credit, co-investment, or secondary.

## `sectorFilters` (type: `array`):

Optional normalized tags such as software, artificial-intelligence, fintech, healthcare, climate-energy, or defense-aerospace.

## `webhookUrl` (type: `string`):

Optional HTTPS endpoint receiving the complete v1 signal envelope.

## `slackWebhookUrl` (type: `string`):

Optional encrypted Slack incoming webhook for a concise run alert.

## `crmWebhookUrl` (type: `string`):

Optional encrypted CRM or automation endpoint receiving normalized signals.

## `webhookBearerToken` (type: `string`):

Optional encrypted bearer token used by generic and CRM webhooks.

## `failOnDeliveryError` (type: `boolean`):

Mark the run failed after saving results if a configured delivery endpoint fails.

## Actor input object example

```json
{
  "daysBack": 7,
  "fundTypes": [
    "Venture Capital Fund",
    "Private Equity Fund"
  ],
  "locations": [],
  "minOfferingAmountUsd": 0,
  "minAmountSoldUsd": 0,
  "onlyNewNotices": false,
  "includeAmendmentDiff": true,
  "runMode": "snapshot",
  "maxItems": 100,
  "maxFilingsToInspect": 500,
  "managerEnrichment": true,
  "websiteEnrichment": true,
  "maxOfficialPages": 2,
  "outputMode": "signals",
  "strategyFilters": [],
  "sectorFilters": [],
  "failOnDeliveryError": false
}
```

# Actor output Schema

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

No description

## `summary` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("kamerozkan/sec-form-d-fundraising-signals").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("kamerozkan/sec-form-d-fundraising-signals").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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 kamerozkan/sec-form-d-fundraising-signals --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=kamerozkan/sec-form-d-fundraising-signals",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC EDGAR Form D & ADV Scraper - VC/PE Fundraising Signals",
        "description": "SEC EDGAR Form D scraper for startup funding & VC/PE fundraising signals. Monitor new Form D filings, amendment diffs, Form ADV manager matching, strategy & sector tags, lifecycle events with source evidence. Delivery-ready funding leads & fund data rows.",
        "version": "1.0",
        "x-build-id": "THUxPbsBwzwSCGNth"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kamerozkan~sec-form-d-fundraising-signals/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kamerozkan-sec-form-d-fundraising-signals",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/kamerozkan~sec-form-d-fundraising-signals/runs": {
            "post": {
                "operationId": "runs-sync-kamerozkan-sec-form-d-fundraising-signals",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/kamerozkan~sec-form-d-fundraising-signals/run-sync": {
            "post": {
                "operationId": "run-sync-kamerozkan-sec-form-d-fundraising-signals",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "secUserAgent"
                ],
                "properties": {
                    "startDate": {
                        "title": "Start date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "First filing date to inspect (YYYY-MM-DD). Leave empty to use Days back."
                    },
                    "endDate": {
                        "title": "End date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Last filing date to inspect (YYYY-MM-DD). Defaults to today."
                    },
                    "daysBack": {
                        "title": "Days back",
                        "minimum": 1,
                        "maximum": 31,
                        "type": "integer",
                        "description": "Calendar-day lookback used when Start date is empty.",
                        "default": 7
                    },
                    "fundTypes": {
                        "title": "Fund types",
                        "type": "array",
                        "description": "SEC investment fund classifications to include.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Venture Capital Fund",
                                "Private Equity Fund",
                                "Hedge Fund",
                                "Other Investment Fund"
                            ],
                            "enumTitles": [
                                "Venture Capital",
                                "Private Equity",
                                "Hedge Fund",
                                "Other Investment Fund"
                            ]
                        },
                        "default": [
                            "Venture Capital Fund",
                            "Private Equity Fund"
                        ]
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Optional case-insensitive city, state, country, or jurisdiction filters.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "minOfferingAmountUsd": {
                        "title": "Minimum offering amount (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Exclude filings with a smaller or non-numeric total offering amount. Use 0 to include indefinite amounts.",
                        "default": 0
                    },
                    "minAmountSoldUsd": {
                        "title": "Minimum amount sold (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Exclude filings with a smaller or non-numeric amount sold.",
                        "default": 0
                    },
                    "onlyNewNotices": {
                        "title": "Only new notices",
                        "type": "boolean",
                        "description": "Exclude D/A amendments and return only new Form D notices.",
                        "default": false
                    },
                    "includeAmendmentDiff": {
                        "title": "Compare amendments",
                        "type": "boolean",
                        "description": "Fetch the previous filing referenced by D/A submissions and list changed fundraising fields.",
                        "default": true
                    },
                    "runMode": {
                        "title": "Run mode",
                        "enum": [
                            "snapshot",
                            "delta"
                        ],
                        "type": "string",
                        "description": "Snapshot returns matching filings. Delta remembers accessions and returns only filings not seen by the same watchlist.",
                        "default": "snapshot"
                    },
                    "watchlistKey": {
                        "title": "Watchlist key",
                        "pattern": "^[A-Za-z0-9_-]{1,80}$",
                        "type": "string",
                        "description": "Optional stable identifier for delta-mode state, for example us-vc-large. Filters are hashed when empty."
                    },
                    "maxItems": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum dataset records returned, and the cost cap: $0.003 per delivered signal plus a $0.01 run start. Delta mode returns only filings not yet seen by the same watchlist, so scheduled runs stay cheap on quiet days.",
                        "default": 100
                    },
                    "maxFilingsToInspect": {
                        "title": "Maximum filings to inspect",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Safety cap for Form D/D-A filing downloads before filters are applied.",
                        "default": 500
                    },
                    "secUserAgent": {
                        "title": "SEC User-Agent",
                        "type": "string",
                        "description": "Required by SEC fair-access guidance. Include your organization, application/version, and contact email; for example: Mozilla/5.0 MyFirm admin@myfirm.com FundraiseSignalMonitor/1.0."
                    },
                    "managerEnrichment": {
                        "title": "Form ADV manager enrichment",
                        "type": "boolean",
                        "description": "Download the latest official SEC Form ADV firm rosters and resolve a likely fund manager.",
                        "default": true
                    },
                    "websiteEnrichment": {
                        "title": "Official website enrichment",
                        "type": "boolean",
                        "description": "Visit the website reported by a matched Form ADV manager for strategy and sector classification.",
                        "default": true
                    },
                    "maxOfficialPages": {
                        "title": "Maximum official website pages",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Maximum same-domain about, strategy, portfolio, news, or press hubs fetched per manager.",
                        "default": 2
                    },
                    "outputMode": {
                        "title": "Output mode",
                        "enum": [
                            "signals",
                            "latest_per_fund"
                        ],
                        "type": "string",
                        "description": "Return every filing signal or only the latest filing for each canonical SEC fund CIK.",
                        "default": "signals"
                    },
                    "strategyFilters": {
                        "title": "Strategy tags",
                        "type": "array",
                        "description": "Optional normalized tags such as seed, early-stage, growth-equity, buyout, private-credit, co-investment, or secondary.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "sectorFilters": {
                        "title": "Sector tags",
                        "type": "array",
                        "description": "Optional normalized tags such as software, artificial-intelligence, fintech, healthcare, climate-energy, or defense-aerospace.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "webhookUrl": {
                        "title": "Generic webhook URL",
                        "type": "string",
                        "description": "Optional HTTPS endpoint receiving the complete v1 signal envelope."
                    },
                    "slackWebhookUrl": {
                        "title": "Slack incoming webhook URL",
                        "type": "string",
                        "description": "Optional encrypted Slack incoming webhook for a concise run alert."
                    },
                    "crmWebhookUrl": {
                        "title": "CRM webhook URL",
                        "type": "string",
                        "description": "Optional encrypted CRM or automation endpoint receiving normalized signals."
                    },
                    "webhookBearerToken": {
                        "title": "Webhook bearer token",
                        "type": "string",
                        "description": "Optional encrypted bearer token used by generic and CRM webhooks."
                    },
                    "failOnDeliveryError": {
                        "title": "Fail on delivery error",
                        "type": "boolean",
                        "description": "Mark the run failed after saving results if a configured delivery endpoint fails.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
