# Startup Funding Tracker: SEC Form D (`resonating_quoll/sec-form-d-leads`) Actor

Track who just raised money: SEC Form D filings with amount sold, investors, industry, executives, phone and website when found. Sort by raise size, issuer search, weekly funding drop summary, 10-year backfill. No API key. $4/1K.

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

## Pricing

from $2.80 / 1,000 filing 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/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

## Startup Funding Tracker: SEC Form D

![Startup Funding Tracker pipeline: SEC EDGAR, Form D XML, filters and sorting, website match, weekly funding drop](https://api.apify.com/v2/key-value-stores/WmxXg7tu4yTt456JW/records/formd-readme-v1.png)

**Companies that just told the SEC they are raising private money, as a clean lead list: company, address, phone, industry, how much they are raising, how much they have already sold, and who runs it, plus the company website when we can find it. Sort by raise size, search the issuer text, and get a ready-to-share weekly **funding drop** summary.**

When a US company raises money privately (seed rounds, Series A, friends-and-family notes, real estate syndications), it files a **Form D** with the SEC within 15 days of the first sale. Those filings are public and published daily on SEC EDGAR, but they are scattered XML files. This Actor reads EDGAR's official daily indexes (and the SEC's quarterly Form D data sets for older dates), parses each Form D, drops investment funds and holding vehicles such as TopCos and SPVs (on by default), applies your filters and gives you one tidy row per company.

**Price: $4 per 1,000 leads.** You pay only for leads that end up in your results. Filtered-out filings are free.

### Why this Form D scraper?

| | |
|---|---|
| 🏢 **Operating companies, not funds** | About two thirds of Form D filings are hedge, PE and VC funds. They are excluded by default, so you get companies that actually need vendors, hires and services. |
| 📞 **Contact-ready** | Street address, city, state, ZIP and phone straight from the filing, plus executives and directors with their roles. |
| 📈 **Deal size** | Total offering amount, amount already sold, amount remaining, minimum investment, number of investors (a count; Form D has no investor names), securities type (equity, debt, options...). |
| 🎯 **Filters** | Date range (`7 days`, `2026-10-01`), official SEC industry groups (dropdown) or free-text industry words, state, offering size range, **minimum amount sold**, **minimum investor count** (Form D reports how many investors, not who they are), startups only (incorporated within 5 years), company-name keywords, amendments on/off. |
| 🔎 **Issuer full-text search** | One query across company name, previous names, executives, directors and promoters, city, state, street, industry and entity type: `"palo alto" -fund`, `robotics \| drones`. |
| 🏆 **Sort by raise size** | Largest amount sold, largest offering, highest investor count or newest first, then the top N. |
| 🌐 **Company website** | From the issuer's SEC profile when listed; otherwise the company's own domain, kept only when that page names the company and passes the checks below (`website_source` and `website_confidence` tell you which). |
| 📰 **Weekly funding drop** | Every run writes `FUNDING_DROP` (JSON) and `FUNDING_DROP_HTML` (a shareable page): totals, top raises, counts by industry and state. Company-level only: no executives or other people are named, so it is safe to share. Schedule it weekly for a newsletter-ready digest. |
| 🔔 **Only new filings** | Remembers what earlier runs returned (and what your filters rejected, so it isn't downloaded again). Schedule it daily and you get a fresh funding-leads feed. |
| ⏪ **Fast backfill** | Past quarters come from the SEC's official quarterly Form D data sets, so a full year of Reg D private placements takes minutes, not hours. Up to 10 years per run. |
| 🔑 **No API key, no subscription** | Unlike Crunchbase, PitchBook or paid SEC APIs, you need no account with any data vendor. Pay only per lead. |
| ✅ **Official public data** | Uses SEC EDGAR's public archives within the SEC's published fair-access rules (identified User-Agent, well under 10 requests/second). No login, no proxies, no browser. |

### What data do you get?

`form_type` · `company_name` · `cik` · `filed_date` · `accession_number` · `is_amendment` · `entity_type` · `jurisdiction` · `year_of_incorporation` · `street` · `city` · `state` · `state_name` · `zip` · `phone` · `industry_group` · `fund_type` · `is_pooled_fund` · `holding_vehicle_reason` · `revenue_range` · `net_asset_value_range` · `federal_exemptions` · `date_of_first_sale` · `more_than_one_year` · `securities_types` · `is_business_combination` · `minimum_investment` · `total_offering_amount` · `total_offering_indefinite` · `total_amount_sold` · `total_remaining` · `has_non_accredited_investors` · `total_investors` · `sales_commissions` · `finders_fees` · `gross_proceeds_to_insiders` · `sales_compensation_recipients` · `related_persons` · `executives` · `signer_name` · `signer_title` · `signature_date` · `company_website` · `website_source` · `website_confidence` · `tickers` · `filing_url` · `xml_url` · `data_source` · `scraped_at`

Export as JSON, CSV, Excel or HTML, or pull it through the Apify API. The **Leads** view in the Output tab shows the most useful columns.

The run's key-value store also gets `FUNDING_DROP`:

```json
{
  "title": "Funding drop 2026-10-19 to 2026-10-23",
  "filings": 289,
  "total_amount_sold_usd": 2793678380,
  "young_companies": 219,
  "company_level_only": true,
  "top_raises": [{ "company_name": "Modal Labs, Inc.", "industry_group": "Other Technology", "total_amount_sold": 601892375, "filing_url": "https://www.sec.gov/..." }],
  "by_industry": [{ "industry_group": "Other Technology", "filings": 83, "amount_sold_usd": 1412525824 }],
  "by_state": [{ "state": "CA", "filings": 48 }]
}
```

### Use cases

- **B2B sales prospecting:** a company that just raised $3M is about to spend it. Reach out to newly funded startups first (SaaS, agencies, recruiters, accountants, insurance, office space).
- **Investors and VC scouts:** see which startups in your sector and state are raising, and how much they have closed.
- **Fintech and banking:** find newly funded companies that need business accounts, payroll or credit.
- **Journalists and analysts:** track private-capital activity by industry, state and deal size.
- **CRM enrichment:** add funding events to accounts you already track (match on company name or CIK).
- **AI agents:** a structured "who just raised money" tool.

### How to use it

1. Click **Try for free**. The form is prefilled (last 7 days, Other Technology, Computers and Biotechnology, 25 results), so the first run takes a minute or two and costs at most 10 cents.
2. Adjust the date range and filters. Set **Max results** to 0 for everything that matches.
3. Optional: put your email in **Your contact email**. The SEC asks automated clients to identify themselves; it is only sent to sec.gov in the User-Agent header.
4. Click **Start**, then open the **Output** tab or export the dataset.

**Daily lead feed:** turn on **Only filings not seen in earlier runs**, then create a Schedule (e.g. every weekday at 10:00 UTC, set `dateFrom` to `3 days`) and connect Google Sheets, Slack, email, HubSpot or a webhook through Apify integrations.

### Input example

```json
{
  "dateFrom": "3 days",
  "industryGroups": ["Other Technology", "Computers", "Biotechnology"],
  "industries": ["health"],
  "states": ["CA", "NY", "TX"],
  "minOfferingAmount": 1000000,
  "minAmountSold": 500000,
  "minInvestors": 2,
  "issuerQuery": "\"san francisco\" | austin",
  "sortBy": "amount_sold_desc",
  "includeCompanyWebsite": true,
  "excludePooledFunds": true,
  "onlyYoungCompanies": true,
  "onlyNew": true,
  "stateKey": "tech-startups",
  "maxResults": 0,
  "contactEmail": "you@example.com"
}
```

### Output example

(related persons shortened)

```json
{
  "form_type": "D",
  "company_name": "Ascoltare Holdings LLC",
  "cik": "2153673",
  "filed_date": "2026-10-23",
  "accession_number": "0002153673-26-000001",
  "is_amendment": false,
  "entity_type": "Limited Liability Company",
  "jurisdiction": "DELAWARE",
  "year_of_incorporation": "2025",
  "street": "20423 STATE RD7, SUITE F6-380",
  "city": "BOCA RATON",
  "state": "FL",
  "state_name": "FLORIDA",
  "zip": "33498",
  "phone": "561-800-4823",
  "industry_group": "Biotechnology",
  "fund_type": null,
  "is_pooled_fund": false,
  "holding_vehicle_reason": null,
  "revenue_range": "Decline to Disclose",
  "net_asset_value_range": null,
  "federal_exemptions": [
    "06b"
  ],
  "date_of_first_sale": "2025-05-09",
  "more_than_one_year": true,
  "securities_types": [
    "debt"
  ],
  "is_business_combination": false,
  "minimum_investment": 0.0,
  "total_offering_amount": 4300000.0,
  "total_offering_indefinite": false,
  "total_amount_sold": 1700000.0,
  "total_remaining": 2600000.0,
  "has_non_accredited_investors": false,
  "total_investors": 10.0,
  "sales_commissions": 0.0,
  "finders_fees": 0.0,
  "gross_proceeds_to_insiders": 0.0,
  "sales_compensation_recipients": [],
  "related_persons": [
    {
      "name": "John A. Martino II",
      "relationships": [
        "Executive Officer",
        "Director",
        "Promoter"
      ],
      "clarification": null,
      "city": "Boca Raton",
      "state": "FL"
    },
    {
      "name": "Stephen DeKanter",
      "relationships": [
        "Director"
      ],
      "clarification": null,
      "city": "Boca Raton",
      "state": "FL"
    }
  ],
  "signer_name": "John A. Martino",
  "signer_title": "Chief Executive Officer",
  "signature_date": "2026-10-22",
  "filing_url": "https://www.sec.gov/Archives/edgar/data/2153673/000215367326000001/0002153673-26-000001-index.htm",
  "xml_url": "https://www.sec.gov/Archives/edgar/data/2153673/000215367326000001/primary_doc.xml",
  "executives": "John A. Martino II",
  "company_website": null,
  "website_source": null,
  "website_confidence": null,
  "tickers": [],
  "scraped_at": "2026-10-26T09:50:53.700748Z"
}
```

### Field notes

- **Industry** is the SEC's own `industryGroupType` (35 groups, e.g. "Other Technology", "Biotechnology", "Commercial", "Restaurants", "Other Health Care"). **Industry groups** is an exact pick from the official list. **Industries (free text)** is a case-insensitive *contains* match, so `technology` also matches `Biotechnology`. A filing passes if it matches either.
- **data_source** is `edgar_filing_xml` (read from the filing's XML on EDGAR) or `sec_quarterly_dataset` (from the SEC's quarterly Form D data set; same fields, spot-checked against the XML; rarely, a related person's middle name differs because the SEC data set and the XML disagree).
- **year_of_incorporation** is a year when the filer reports one (incorporated within 5 years), otherwise the SEC wording: `over 5 years` or `yet to be formed`.
- **total_offering_amount** is `null` when the filer reports an indefinite amount (`total_offering_indefinite: true`).
- **federal_exemptions:** `06b` = Rule 506(b), `06c` = Rule 506(c) (general solicitation allowed), `04` = Section 4(a)(5), `3C.x` = Investment Company Act exclusions (mostly funds).
- **executives** is a comma-separated list of related persons with the Executive Officer role. `related_persons` has everyone listed (executives, directors, promoters) with city and state only; street addresses of individuals are not included.
- **filed_date** is the EDGAR acceptance date. EDGAR publishes no index on weekends and federal holidays; those days are skipped automatically.
- Filings are processed newest first (the current quarter day by day, then older quarters from the data sets), so with **Max results** you get the most recent leads. With **Sort by** set, every filing in the range is read first and the top **Max results** are output (you are charged only for those).
- **company_website**: the SEC profile's website field is blank for most private issuers, so the Actor also tries `name.com/.io/.ai/.co` and keeps it only when the page title names the company (`website_source: domain_match`; double-check before outreach). Pages that are parked or for sale, `.gov`/`.edu` sites, social profiles, placeholder pages and redirects to an unrelated domain are rejected, and property or project LLCs are not guessed. `website_confidence` is `high` (SEC profile, or the exact domain with the full name in the title) or `medium` (shortened name or a redirect to a related domain); anything weaker is left blank. Funds and SPVs are skipped. It's off by default; turn on **Add company website**.
- **issuerQuery**: words are ANDed, quoted phrases kept together, `|` (or `OR`) separates alternatives, `-word` excludes. Case-insensitive substring match.

### Pricing

Pay per event: **$0.004 per lead** returned (one `filing-result` event per dataset item). Filtered-out, duplicate and already-seen filings cost nothing. There is no extra charge per run beyond Apify platform usage.

| Leads | Price |
|---|---|
| 25 | $0.10 |
| 250 | $1.00 |
| 1,000 | $4.00 |

A typical weekday has about 200–260 new Form D filings. Roughly a third to a half of them are operating companies rather than funds.

You can set a **Maximum cost per run** in the run options. The Actor stops cleanly when it is reached.

### Monitoring

With **Only new filings**, each scheduled run after the first reads only from the day before the previous run onward, so filings left out by **Max results** in an older window are not sold later as "new". To backfill older dates, use a new **Monitoring state key**. Dates follow US Eastern time, as EDGAR does; when a relative range such as "3 days" has no published EDGAR day yet (weekend, holiday, or before the evening release), the run uses the latest published day instead of returning nothing.

Each run writes a `RUN_SUMMARY` record to its key-value store: date range, days scanned, filings in index, fetched, filtered out, already seen, errors and leads output. The status message shows the same numbers.

**Weekly funding drop:** create a Schedule every Monday with `dateFrom: "7 days"`, `sortBy: "amount_sold_desc"`, `maxResults: 100` and send `FUNDING_DROP_HTML` (or the dataset) to email, Slack or your newsletter tool.

### API

```bash
curl -X POST "https://api.apify.com/v2/acts/resonating_quoll~sec-form-d-leads/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"dateFrom":"3 days","industries":["technology"],"maxResults":50}'
```

Python: `ApifyClient(token).actor("resonating_quoll/sec-form-d-leads").call(run_input={...})`.

### Use with AI agents (Apify MCP)

Give Claude, Cursor, ChatGPT or any MCP client this Actor as a tool through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp):

```json
{
  "mcpServers": {
    "apify": { "url": "https://mcp.apify.com?tools=resonating_quoll/sec-form-d-leads" }
  }
}
```

The first connection signs you in to Apify (OAuth). Then ask, for example: *"Which biotech startups in California sold more than 5M in private rounds this month? Sort by amount and give me their websites."*

### FAQ

**Is this legal?** Form D filings are public records that the SEC publishes on EDGAR for anyone to access. The Actor follows the SEC's fair-access policy: it identifies itself in the User-Agent and stays far below the 10 requests/second limit. You are responsible for how you use contact data. Follow applicable anti-spam and privacy laws (e.g. CAN-SPAM, GDPR) in your outreach.

**Why not just use EDGAR full-text search?** It doesn't give you structured offering amounts, addresses, phones or people in a spreadsheet, it doesn't filter out funds, and it can't sort by raise size. `issuerQuery` gives you a text search over the structured fields instead.

**How far back can I go?** Any date range up to 10 years per run. Completed quarters are read from the SEC's quarterly Form D data sets (one ~4 MB download per quarter), so backfills are fast. The current quarter (and a just-finished quarter whose data set the SEC hasn't published yet) is read day by day from EDGAR. The quarterly data sets cover 2009 onward.

**Is this a Crunchbase alternative?** For Form D funding events, it can be. Funding databases such as Crunchbase and PitchBook use Form D filings as one of their sources, usually behind a subscription. Here you get the primary-source filing as soon as EDGAR publishes it, with offering size, amount sold, address, phone and executives, for $4 per 1,000 leads. What you don't get is investor names (Form D doesn't list investors) or valuations.

**What is Regulation D / a private placement?** Regulation D (Rules 504, 506(b) and 506(c)) lets companies sell securities privately without registering with the SEC. Each such private placement must be reported on Form D within 15 days of the first sale. That makes Form D the primary public SEC record of US private fundraising under Regulation D. It covers startup rounds, SAFEs and convertible notes, real-estate syndications, oil and gas deals and private funds.

**Do I need an SEC or EDGAR API key?** No. EDGAR is free and public with no key. The Actor handles indexes, XML parsing, rate limits and the quarterly data sets for you.

**Does it include emails?** No. Form D doesn't contain email addresses. You get the company phone, address and executive names, which you can enrich with other tools.

**How are holding vehicles detected?** With **Exclude pooled investment funds** on, a filing is dropped when its industry group is Pooled Investment Fund, or when it sells pooled-fund interests (Item 9), claims an Investment Company Act 3(c) exclusion, or its name is an unambiguous vehicle name (TopCo, HoldCo, BidCo, Fund, SPV, Feeder, Blocker, Aggregator, Co-Invest, "Series 10", "a series of", "Holdings, L.P.", or a word like Capital, Partners or Ventures followed by a number such as "Capital XIX"). Plain names like "Acme Holdings Inc." or "Partners Health LLC" are kept. `RUN_SUMMARY.filtered_holding_vehicles` shows how many were dropped; turn the option off to see them with `holding_vehicle_reason`.

**Why did some filings get skipped?** Check `RUN_SUMMARY`: most are filtered out as pooled funds or by your filters. Older paper-era filings without XML are also skipped. With **Only new filings** on, filings your filters rejected are remembered too, so they are not downloaded again on the next scheduled run (if you loosen your filters, use a new **Monitoring state key**).

### Limitations

- Only Form D and, optionally, D/A. Form C (crowdfunding) and Reg A are not included.
- Company size info is self-reported; many filers choose "Decline to Disclose" for revenue.
- Most private issuers have no website on their SEC profile; the domain match finds many but not all, and can rarely pick a same-named company.
- Sorting holds up to 20,000 matching filings in memory; for very long ranges use filters or a shorter range.
- A company may file several Form Ds for different offerings. Each filing is a separate lead (dedupe on `cik` if needed).

### More from this developer

- [ATS Jobs Scraper](https://apify.com/resonating_quoll/ats-jobs-scraper): search 12,000+ company career boards on 6 ATSs, with hiring velocity per company. Pair it with Form D: newly funded companies tend to start hiring.
- [Remote Jobs Scraper](https://apify.com/resonating_quoll/remote-jobs-feed): terms-clean remote jobs straight from employer career pages plus Remote OK and Jobicy, trust-scored.

### Feedback

Found a bug or need a field? Open an issue in the **Issues** tab. I usually reply within a day.

# Changelog

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

# Actor input Schema

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

First filing date to include. Use YYYY-MM-DD or a relative value like "3 days", "2 weeks", "1 month". Default: 3 days ago.

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

Last filing date to include (YYYY-MM-DD or relative). Default: today. Max range is 10 years; past quarters are read from the SEC quarterly Form D data sets, so long backfills are fast.

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

Keep filings in any of these official SEC Form D industry groups (exact match). Combine with the free-text Industries field below; a filing passes if it matches either. Empty = all. Tip: most startups file as Other Technology, Computers, Biotechnology, Pharmaceuticals, Other Health Care or Business Services; funds file as Pooled Investment Fund.

## `industries` (type: `array`):

Keep filings whose SEC industry group contains any of these words (case-insensitive), e.g. "technology", "health", "real estate", "energy", "banking". Empty = all. Use Industry groups above for exact picks.

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

2-letter issuer state/country codes from the filing address, e.g. CA, NY, TX. Empty = all.

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

Skip offerings smaller than this (total offering amount, USD). Offerings with an indefinite amount are skipped when this is set.

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

Skip offerings larger than this (0 = no limit). Offerings with an indefinite amount are skipped when this is set.

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

Keep only filings that report at least this much already sold (money actually raised so far).

## `minInvestors` (type: `integer`):

Keep only filings that report at least this many investors so far. This is a count from Form D; Form D does not list investor names.

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

Most Form D filings are hedge/PE/VC funds. Keep this on to get operating companies only: it drops the Pooled Investment Fund industry group plus holding vehicles that file under an operating industry (pooled-fund interests in Item 9, Investment Company Act 3(c) exclusions, or names like TopCo, HoldCo, Fund, SPV, Feeder, Blocker, Series 10, Holdings L.P., Capital XIX). Turn it off to keep everything; the holding_vehicle_reason field then shows which rows matched.

## `onlyYoungCompanies` (type: `boolean`):

Keep only issuers whose incorporation is within the last 5 years (startups).

## `companyNameKeywords` (type: `array`):

Keep only companies whose name contains any of these words.

## `issuerQuery` (type: `string`):

Search across company name, previous names, executives/directors/promoters, city, state, street, industry and entity type. Words are ANDed; quote phrases ("san francisco"); use | for OR (robotics | drones); prefix - to exclude (-fund). Example: "palo alto" -fund

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

Also include amended filings. Off = original filings only.

## `includeRelatedPersons` (type: `boolean`):

Add the related persons listed on the filing (name, role, city/state).

## `includeCompanyWebsite` (type: `boolean`):

Add company_website for each output lead. First the issuer's SEC profile is checked (rarely filled in); otherwise the company's own domain is tried (name.com / .io / .ai / .co) and kept only when that page's title names the company and it is not a parked, for-sale, .gov/.edu or social page or a redirect to an unrelated domain; property/project LLCs are not guessed. website_source says which (sec_submissions or domain_match) and website_confidence says high or medium; treat domain_match as a good guess to double-check. Funds and SPVs are skipped. Adds a few seconds per 25 leads; no extra charge.

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

For scheduled monitoring: skip filings this Actor already returned to you (stored in a named key-value store in your account). Later runs read from the day before the previous run onward; use a new state key to backfill older dates.

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

Separate 'seen' lists for different saved searches (used with onlyNew).

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

Stop after this many leads (0 = no limit). You are only charged per lead returned.

## `sortBy` (type: `string`):

Filing order (default) streams results as they are found. Any other option reads every filing in the date range first, then outputs the top Max results, so it takes longer for long ranges.

## `fundingDropTopN` (type: `integer`):

How many of the largest raises (by amount sold) to list in the FUNDING_DROP summary record.

## `contactEmail` (type: `string`):

SEC asks automated clients to identify themselves. If set, it is added to the request User-Agent. Never stored or output.

## Actor input object example

```json
{
  "dateFrom": "7 days",
  "industryGroups": [
    "Other Technology",
    "Computers",
    "Biotechnology"
  ],
  "excludePooledFunds": true,
  "onlyYoungCompanies": false,
  "includeAmendments": false,
  "includeRelatedPersons": true,
  "includeCompanyWebsite": false,
  "onlyNew": false,
  "stateKey": "default",
  "maxResults": 25,
  "sortBy": "filing_order",
  "fundingDropTopN": 25
}
```

# Actor output Schema

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

One record per Form D filing (company, website when listed, address, phone, industry, offering size, amount sold, investors, executives, filing links).

## `fundingDrop` (type: `string`):

Summary of this run: totals, top raises, counts by industry and state.

## `fundingDropHtml` (type: `string`):

The same summary as a shareable web page.

## `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 = {
    "dateFrom": "7 days",
    "industryGroups": [
        "Other Technology",
        "Computers",
        "Biotechnology"
    ],
    "maxResults": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("resonating_quoll/sec-form-d-leads").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 = {
    "dateFrom": "7 days",
    "industryGroups": [
        "Other Technology",
        "Computers",
        "Biotechnology",
    ],
    "maxResults": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("resonating_quoll/sec-form-d-leads").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 '{
  "dateFrom": "7 days",
  "industryGroups": [
    "Other Technology",
    "Computers",
    "Biotechnology"
  ],
  "maxResults": 25
}' |
apify call resonating_quoll/sec-form-d-leads --silent --output-dataset

```

## MCP server setup

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

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/jR3Xme5AjY6tLpqC4/builds/l9WcTR2371fwqG9Mr/openapi.json
