Lead & company data
Form D Scraper
Find startups and private companies that just raised money, from official SEC EDGAR Form D filings. Filter by date, state, industry, amount, exemption and keyword. Get issuer, address, phone, executives & directors, amount raised, investors, 506(b)/(c) and first-time-raise flag.
- Price: $3 per 1,000 × filing result
- Prefilled example: finished in 19 s on Oct 19, 2026 (Saved 20 Form D filing(s) from 2026-10-12 to 2026-10-19. Reached maxItems (20).)
- Works with: Apify Console, REST API, Python, JavaScript, MCP (Claude, Cursor, VS Code), n8n, Make, Zapier
- Last updated: 2026-10-19
Sample output
| Issuer | Filed | Industry | State | Offering (USD) |
|---|---|---|---|---|
| Knowable Labs, Inc. | 2026-10-16 | Other Technology | CA | 310,000 |
| Eden X LLC | 2026-10-16 | Other Real Estate | KY | 25,000,000 |
| Richmond Pines LLC | 2026-10-16 | Commercial | NY | 1,400,000 |
Real rows from the prefilled example run (Oct 19, 2026), 5 of 79+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.
Full JSON of one real output row (8 rows in the example dataset)
{
"issuerName": "Knowable Labs, Inc.",
"cik": "2160569",
"formType": "D",
"isAmendment": false,
"filingDate": "2026-10-16",
"accessionNumber": "0002160569-26-000001",
"previousAccessionNumber": null,
"filingUrl": "https://www.sec.gov/Archives/edgar/data/2160569/000216056926000001/0002160569-26-000001-index.htm",
"formUrl": "https://www.sec.gov/Archives/edgar/data/2160569/000216056926000001/xslFormDX01/primary_doc.xml",
"xmlUrl": "https://www.sec.gov/Archives/edgar/data/2160569/000216056926000001/primary_doc.xml",
"industrySector": "Technology",
"industryGroup": "Other Technology",
"investmentFundType": null,
"isPooledInvestmentFund": false,
"isLikelySpv": false,
"entityType": "Corporation",
"stateOfIncorporation": "Delaware",
"yearOfIncorporation": 2026,
"incorporatedWithinFiveYears": true,
"yearOfIncorporationText": "Within last five years",
"street1": "19630 ALLENDALE AVENUE #2126",
"street2": null,
"city": "Saratoga",
"state": "CA",
"stateName": "California",
"zipCode": "95070",
"fullAddress": "19630 ALLENDALE AVENUE #2126, Saratoga, CA 95070",
"phone": "+1 650-209-4253",
"previousNames": [],
"totalOfferingAmount": 310000,
"isOfferingAmountIndefinite": false,
"totalAmountSold": 310000,
"totalRemaining": 0,
"percentSold": 100,
"minimumInvestment": 0,
"numberOfInvestors": 5,
"hasNonAccreditedInvestors": false,
"numberOfNonAccreditedInvestors": null,
"exemptions": [
"Rule 506(b)"
],
"exemptionsText": "Rule 506(b)"
}Output fields
From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.
| Field | Type | Description |
|---|---|---|
issuerName | string | Issuer (company) name |
cik | string | SEC Central Index Key |
formType | string | D (new) or D/A (amendment) |
filingDate | string | Date filed with the SEC (YYYY-MM-DD) |
accessionNumber | string | SEC accession number |
previousAccessionNumber | string | For amendments: the filing being amended |
filingUrl | string | EDGAR filing index page |
formUrl | string | Human-readable Form D on sec.gov |
xmlUrl | string | Raw primary_doc.xml |
industrySector | string | Form D sector (Technology, Health Care, Real Estate...) |
industryGroup | string | Form D industry group |
investmentFundType | string | For pooled funds: VC, PE, hedge, other |
isLikelySpv | boolean | Name suggests an SPV / series LLC |
entityType | string | Corporation, LLC, LP... |
stateOfIncorporation | string | Jurisdiction of incorporation |
yearOfIncorporation | number | Year of incorporation (only reported if within 5 years) |
state | string | Business address state/country code |
phone | string | Issuer phone |
totalOfferingAmount | number | Total offering amount in USD (null if indefinite) |
totalAmountSold | number | Amount already sold, USD |
totalRemaining | number | Amount remaining, USD |
minimumInvestment | number | Minimum investment accepted, USD |
numberOfInvestors | number | Investors who already invested |
exemptions | array | Exemptions claimed |
Pricing
Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Filing result main Charged once for each parsed Form D filing successfully saved to the dataset. | $0.003 | $0.0026 | $0.0022 | $0.0019 |
| Actor start Charged once when the Actor run starts. | $0.0001 | $0.0001 | $0.0001 | $0.0001 |
Examples on the Free plan: 100 filing results = $0.30, 1,000 filing results = $3, 10,000 filing results = $30. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).
Scheduled price change from 2026-11-02 (Free-plan tier): Filing result: $0.003 → $0.005. Paid-plan tiers change accordingly. The table shows today's prices.
Example input
This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.
{
"dateFrom": "7 days",
"excludePooledFunds": true,
"filingType": "new",
"includeIssuerHistory": true,
"maxItems": 20
}Use it from code, no-code or an AI agent
cURL (one request, returns rows)
curl -X POST \
"https://api.apify.com/v2/acts/wrenfield-data~sec-form-d-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dateFrom": "7 days", "excludePooledFunds": true, "filingType": "new", "includeIssuerHistory": true, "maxItems": 20}'Python
# pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/sec-form-d-scraper").call(
run_input={
"dateFrom": "7 days",
"excludePooledFunds": True,
"filingType": "new",
"includeIssuerHistory": True,
"maxItems": 20
},
max_total_charge_usd=1.00, # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/sec-form-d-scraper').call({
"dateFrom": "7 days",
"excludePooledFunds": true,
"filingType": "new",
"includeIssuerHistory": true,
"maxItems": 20
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);MCP (Claude, Cursor, VS Code, any MCP client)
{
"mcpServers": {
"wrenfield-sec-form-d-scraper": {
"url": "https://mcp.apify.com?tools=wrenfield-data/sec-form-d-scraper"
}
}
}Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--sec-form-d-scraper. More client setups on the MCP page.
n8n, Make, Zapier
Use the official Apify node or app, pick Run Actor, enter wrenfield-data/sec-form-d-scraper and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.
FAQ
How much does Form D Scraper cost?
$0.003 per filing result on the Apify Free plan ($3 per 1,000), billed per result by Apify with no subscription. Plus $0.0001 per actor start. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.
Is this data legal to use?
Form D filings are public records published by the US Securities and Exchange Commission. This Actor uses only the SEC's official, free EDGAR endpoints, identifies itself with a User-Agent and stays under the SEC's fair-access limit of 10 requests per second. Names and phone numbers in Form D are business contact details the filers made public. If you use them for outreach, follow the laws that apply to you (for example CAN-SPAM, TCPA and GDPR).
Does a Form D mean the company raised the full amount?
No. totalOfferingAmount is what the company plans to raise; totalAmountSold is what it had sold when it filed. Amendments (D/A) often report later progress. Some companies, especially funds, report an "Indefinite" offering amount.
Why do I see so few filings with "Startups only" on?
About 60% of Form D filings come from pooled investment funds and SPVs. Turn off Startups and operating companies only to include them. isLikelySpv flags series LLCs and SPVs that report a regular industry.
Do I get emails or websites?
Form D does not include email addresses, and the SEC rarely has a website on file. Pair this Actor with a company-domain or email-finder Actor to enrich the results.
How fresh is the data?
EDGAR publishes filings within minutes of acceptance. A daily schedule with Filed from = 1 day catches everything.
How far back can I go?
To March 2009, when Form D became an electronic XML filing.
Related tools
Company Name to Domain
Official website domains for company names, with confidence.
Website Contact Scraper
Emails, phones and social profiles from any list of websites.
Businesses Without Websites Launching soon
Google Maps leads with no website or a broken one.
Compare and plan
Try Form D Scraper now
Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.
Open on Apify