SEC Form D Scraper - Startup Funding Rounds from EDGAR avatar

SEC Form D Scraper - Startup Funding Rounds from EDGAR

Pricing

from $1.80 / 1,000 filings

Go to Apify Store
SEC Form D Scraper - Startup Funding Rounds from EDGAR

SEC Form D Scraper - Startup Funding Rounds from EDGAR

Get recent SEC Form D filings (US startup funding rounds, private placements) from EDGAR. Input: filed-within days or dates, industries, states, amount range, issuer keywords. Returns per filing: company, industry, state, amount offered and sold, investors, form URL. Default: 20 filings.

Pricing

from $1.80 / 1,000 filings

Rating

0.0

(0)

Developer

Bence Kadi

Bence Kadi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

SEC Form D Scraper: startup funding rounds feed from EDGAR

Get a daily list of US companies that just raised money, straight from SEC Form D filings on EDGAR. One clean row per filing: company, industry, city and state, amount offered and already sold, investors, year of incorporation and links. Export to JSON, CSV or Excel. No API key, no login, no Crunchbase subscription.

What is the SEC Form D Scraper?

Every private placement under Regulation D (seed rounds, Series A/B, SAFEs, convertible notes, real-estate and energy raises) must be reported to the SEC on Form D within 15 days of the first sale. This Actor turns those filings into a flat, typed table. More than half of all filings come from funds and SPVs; by default these are removed, leaving operating companies raising money for themselves.

Who uses it and why:

  • VC investors and scouts see new seed and Series A rounds in their sector and region, often before the press does.
  • B2B sales teams load freshly funded companies, which are buying and hiring, into their CRM each morning.
  • Lawyers, accountants, recruiters, banks and insurers find newly funded clients.
  • Analysts measure private capital formation by industry, state and round size, or track new funds.
  • AI agents and data pipelines get a typed JSON feed of US private placements.

Data fields

Every filing is one dataset item with these fields. Examples are from a real run on 2026-10-05.

FieldDescriptionExample
accessionNumberSEC accession number of the filing (unique)0002157421-26-000001
formTypeD (new offering) or D/A (amendment)D
isAmendmenttrue for Form D/Afalse
previousAccessionNumberFiling that an amendment updatesnull
filedDateDate the SEC accepted the filing (US Eastern)2026-10-02
issuerNameCompany raising the moneyCarebility, Inc.
cikSEC Central Index Key of the issuer2157421
entityTypeLegal formCorporation
jurisdictionOfIncorporationState or country of incorporationDELAWARE
yearOfIncorporationYear of incorporation (only for companies under 5 years old)2025
incorporatedWithinFiveYearsIncorporated within the last five yearstrue
yetToBeFormedThe company does not exist yetfalse
cityCity of the principal place of businessRICHARDSON
stateState code (EDGAR country code for foreign issuers)TX
stateOrCountryNameState or country nameTEXAS
zipCodeZIP code75082
previousNamesEarlier names of the issuer[]
otherIssuersCo-issuers named in the filing[]
industryGroupForm D industry groupOther Technology
industrySectorSector of the industry groupTechnology
investmentFundTypeFund type (funds only)null
isFundOrSpvFund or SPV, as detected by the Actorfalse
fundOrSpvReasonWhy it counts as a fund or SPVnull
revenueRangeRevenue range reported by the issuerDecline to Disclose
aggregateNetAssetValueRangeNet asset value range (funds only)null
exemptionsExemption codes claimed["06B"]
exemptionsDescriptionExemptions in plain English["Rule 506(b)"]
dateOfFirstSaleDate of the first sale2026-09-23
firstSaleYetToOccurNo sale has happened yetfalse
offeringMoreThanOneYearOffering is expected to last more than a yearfalse
securityTypesWhat is sold["Other: Simple Agreement for Future Equity (SAFE)"]
isBusinessCombinationPart of a merger or acquisitionfalse
minimumInvestmentMinimum investment accepted, USD50000
totalOfferingAmountTotal offering size, USD (empty if "Indefinite")8835000
offeringAmountIndefiniteOffering size reported as "Indefinite"false
totalAmountSoldMoney already raised, USD8835000
totalRemainingAmount still to be sold, USD0
hasNonAccreditedInvestorsSome investors are not accreditedfalse
numberNonAccreditedInvestorsNumber of non-accredited investorsnull
totalInvestorsNumber of investors who already invested16
salesCommissionsSales commissions, USD0
findersFeesFinder's fees, USD0
grossProceedsToInsidersProceeds paid to insiders, USD0
brokerDealersBroker-dealer firm names (never individual agents)[]
signatureDateDate the form was signed2026-10-02
relatedPersonsExecutives' and directors' names and roles (opt-in)null
filingIndexUrlFiling index page on sec.govhttps://www.sec.gov/Archives/edgar/data/2157421/000215742126000001/0002157421-26-000001-index.htm
formUrlThe filing as a readable web pagehttps://www.sec.gov/Archives/edgar/data/2157421/000215742126000001/xslFormDX01/primary_doc.xml
primaryDocUrlThe official Form D XMLhttps://www.sec.gov/Archives/edgar/data/2157421/000215742126000001/primary_doc.xml
companyFilingsUrlAll EDGAR filings of the companyhttps://www.sec.gov/edgar/browse/?CIK=2157421
fileNumberSEC file number021-599807
sourceData sourceSEC EDGAR Form D
isNewMonitoring mode only: new filingtrue
scrapedAtWhen the Actor saved the item (UTC)2026-10-05T04:53:15Z

Use cases: Generate leads (build B2B prospect lists, lead enrichment & validation) · Research markets & competitors (discover startups & new launches, track financial markets & trading data, profile companies & due diligence) · Developer tools (extract government & public data).

How to use the SEC Form D scraper

  1. Click Try for free (free Apify account).
  2. Keep the default window (last 3 days, funds and SPVs excluded) or set your own.
  3. Optionally pick Industries, US states, a round size or Young companies only.
  4. Set Max results (the prefill is 20, about 6 seconds) and click Start.
  5. Open the Output tab and download CSV, Excel or JSON, or send the data to Google Sheets.
  6. For a daily feed, turn on Only new filings and add a daily Schedule (see below).

Input guide

Filed within the last N days (filedWithinDays). Calendar days back from today, US Eastern time. 0 = today only. The default 3 always covers the last business day.

Filed from / Filed to (filedFrom, filedTo). A fixed range (YYYY-MM-DD) for research; it replaces the N-days setting. Electronic Form D filings start in 2009.

  • Good: 2026-09-01 to 2026-09-30. Or only filedFrom: "from that date until today".
  • Bad: only filedTo. The range then starts at the beginning of EDGAR, which makes a very long run.

Investment funds and SPVs (fundsAndSpvs). exclude (default) keeps operating companies only, include returns everything, only tracks new fund formations. Funds are detected by industry, security type, a 3(c) exclusion or a vehicle-style name ("a Series of", "SPV", "Feeder"...); fundOrSpvReason says why.

Industries / Exclude industries (industries, excludeIndustries). Form D industry groups; "All ..." selects a whole sector.

  • Good: ["All Technology", "Biotechnology", "Pharmaceuticals"].
  • Tip: single-property real-estate and oil-and-gas partnerships count as operating companies on Form D. Exclude All Real Estate to remove them.
  • Note: there is no "fintech", "AI" or "SaaS" group. Software, AI and internet companies fall under Other Technology.

US states (states). The issuer's principal place of business, not its state of incorporation (often Delaware). Leave empty for all states and foreign issuers. Foreign issuers get EDGAR codes (e.g. P7) in state.

Min / max total offering amount (minOfferingAmount, maxOfferingAmount). Round size in USD, for example max 3000000 for seed raises.

  • Warning: "Indefinite" offerings (common for SAFEs) pass the minimum but are dropped when you set a maximum.

Min amount already sold (minAmountSold). Money already raised, e.g. 500000.

Young companies only (youngCompaniesOnly). Issuers incorporated within the last five years or not yet formed: a good proxy for startups.

Include amendments (includeAmendments). Off = only new offerings. On = also Form D/A updates (new amount sold, more investors, annual renewal), linked by previousAccessionNumber.

Regulation D exemptions (exemptions). rule506b, rule506c (may advertise publicly), rule504, section4a5.

Issuer name contains (issuerKeywords). Case-insensitive match on the company name only.

  • Good: ["Therapeutics", "Robotics"].
  • Bad: ["AI"]. It matches any part of a name, such as "Main Street" or "Retail". Use industries instead.

Max results (maxResults). Stop after N filings; 0 = no limit. Also your cost cap: 1,000 filings cost $1.80.

Include related persons (includeRelatedPersons). Off by default. Adds names and roles of executives, directors and promoters, never addresses. Needs a lawful basis for personal data.

Only new filings / Monitor name (onlyNewFilings, monitorName). Outputs and charges only filings not delivered in earlier runs. Changing a filter (not the dates or Max results) starts a new "already seen" list; use one monitor name per saved search.

User-Agent contact (userAgent). SEC asks automated tools to identify themselves, for example Acme Corp research@acme.com. Sent only to SEC.gov, never stored or logged. Empty = the Actor's generic identifier.

Input example: young tech and biotech startups in California and New York raising $1M to $30M

{
"filedWithinDays": 7,
"industries": ["All Technology", "Biotechnology", "Pharmaceuticals"],
"states": ["CA", "NY"],
"minOfferingAmount": 1000000,
"maxOfferingAmount": 30000000,
"youngCompaniesOnly": true,
"maxResults": 500,
"onlyNewFilings": true
}

Output

A real item from a run on 2026-10-05:

{
"accessionNumber": "0002157421-26-000001",
"formType": "D",
"isAmendment": false,
"previousAccessionNumber": null,
"filedDate": "2026-10-02",
"issuerName": "Carebility, Inc.",
"cik": "2157421",
"entityType": "Corporation",
"jurisdictionOfIncorporation": "DELAWARE",
"yearOfIncorporation": 2025,
"incorporatedWithinFiveYears": true,
"yetToBeFormed": false,
"city": "RICHARDSON",
"state": "TX",
"stateOrCountryName": "TEXAS",
"zipCode": "75082",
"previousNames": [],
"otherIssuers": [],
"industryGroup": "Other Technology",
"industrySector": "Technology",
"investmentFundType": null,
"isFundOrSpv": false,
"fundOrSpvReason": null,
"revenueRange": "Decline to Disclose",
"aggregateNetAssetValueRange": null,
"exemptions": ["06B"],
"exemptionsDescription": ["Rule 506(b)"],
"dateOfFirstSale": "2026-09-23",
"firstSaleYetToOccur": false,
"offeringMoreThanOneYear": false,
"securityTypes": ["Equity"],
"isBusinessCombination": false,
"minimumInvestment": 0,
"totalOfferingAmount": 8835000,
"offeringAmountIndefinite": false,
"totalAmountSold": 8835000,
"totalRemaining": 0,
"hasNonAccreditedInvestors": false,
"numberNonAccreditedInvestors": null,
"totalInvestors": 16,
"salesCommissions": 0,
"findersFees": 0,
"grossProceedsToInsiders": 0,
"brokerDealers": [],
"signatureDate": "2026-10-02",
"relatedPersons": null,
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2157421/000215742126000001/0002157421-26-000001-index.htm",
"formUrl": "https://www.sec.gov/Archives/edgar/data/2157421/000215742126000001/xslFormDX01/primary_doc.xml",
"primaryDocUrl": "https://www.sec.gov/Archives/edgar/data/2157421/000215742126000001/primary_doc.xml",
"companyFilingsUrl": "https://www.sec.gov/edgar/browse/?CIK=2157421",
"fileNumber": "021-599807",
"source": "SEC EDGAR Form D",
"scrapedAt": "2026-10-05T04:53:15Z"
}

With includeRelatedPersons, relatedPersons is a list like [{"name": "...", "roles": ["Executive Officer", "Director"], "clarification": "CEO"}]. In monitoring mode every item also has "isNew": true.

Fill rates in a live run of 500 operating-company filings: issuer, location, industry, exemptions, amount sold and investors 100%; numeric offering amount 89% (the rest "Indefinite"); date of first sale 83%; exact year of incorporation 76% (the form gives it only for companies under 5 years old).

Dataset views. The Output tab shows two tables:

  • Funding rounds: date, company, industry, location, amounts, investors, year of incorporation, form link.
  • Offering details: entity type, revenue range, exemptions, security types, fees, broker-dealers, fund/SPV flag.

Run summary. Every run saves RUN_SUMMARY in the key-value store with counts, skip reasons and any problems (prefilled run, trimmed):

{
"source": "SEC EDGAR full-text search + Form D primary documents",
"dateFrom": "2026-10-02",
"dateTo": "2026-10-05",
"filingsInRange": 303,
"filingsListed": 41,
"documentsFetched": 20,
"filingsSaved": 20,
"skipped": { "fundOrSpv": 20 },
"documentsFailed": 0,
"stoppedEarly": true,
"requests": 24,
"seconds": 7.4,
"requestsPerSecond": 3.24,
"...": "..."
}

Export. Download any view as JSON, CSV, Excel, XML, HTML or RSS from the Output tab or the API.

Pricing

This Actor uses pay per event: $1.80 per 1,000 filings saved ($0.0018 per filing). Apify also charges a start fee of $0.00005 per run. Platform compute is included in the price.

Typical runFilingsCost
First test with the prefilled input20about $0.04
One-off export of 500 filings500$0.90
Daily feed of all US operating companies (40-70 per business day x 21 days)840 to 1,470 a monthabout $1.50 to $2.65 per month
One year of operating companies (40-70 x 250 business days)10,000 to 17,500about $18 to $31.50

What is free:

  • Filings removed by your filters (funds, SPVs, amendments...) are not charged.
  • In monitoring mode, filings delivered in earlier runs are skipped, not downloaded again and not charged.
  • A search with no matches costs only the $0.00005 start fee.
  • Apify's free plan includes monthly platform credit (see apify.com/pricing).

You can cap spending with Max results or with Max charge per run in the run options.

Use it via API

Replace MY_APIFY_TOKEN with your token from Apify Console > Settings > API & Integrations.

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('kadi_bence/sec-form-d-funding').call({
filedWithinDays: 7,
industries: ['All Technology'],
states: ['CA', 'NY', 'MA'],
youngCompaniesOnly: true,
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]?.issuerName, items[0]?.totalAmountSold);

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("MY_APIFY_TOKEN")
run = client.actor("kadi_bence/sec-form-d-funding").call(run_input={
"filedFrom": "2026-09-01",
"filedTo": "2026-09-30",
"industries": ["Biotechnology", "Pharmaceuticals"],
"minOfferingAmount": 1000000,
"maxResults": 1000,
"userAgent": "Acme Corp research@acme.com",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["issuerName"], item["state"], item["totalOfferingAmount"], item["totalAmountSold"])

cURL (runs the Actor and returns the items in one call):

curl -X POST "https://api.apify.com/v2/acts/kadi_bence~sec-form-d-funding/run-sync-get-dataset-items?token=MY_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filedWithinDays": 3, "fundsAndSpvs": "exclude", "states": ["TX"], "maxResults": 100}'

Apify CLI:

$apify call kadi_bence/sec-form-d-funding --input '{"filedWithinDays": 3, "industries": ["All Health Care"], "maxResults": 50}' --output-dataset

MCP (AI agents such as Claude, Cursor or VS Code). Add this to your MCP client config. The client will ask you to sign in to Apify (or send your token as an Authorization: Bearer header):

{"mcpServers":{"apify":{"url":"https://mcp.apify.com/?actors=kadi_bence/sec-form-d-funding"}}}

Then ask: "Which Massachusetts biotech startups filed a Form D this week?"

Integrations and scheduling

  • Schedules. Schedules > Create new in Apify Console, pick this Actor or a saved task, set a time.
  • Webhooks. Call your own URL when a run finishes.
  • Zapier, Make and n8n. "Run Actor" action or "Actor run finished" trigger; send rows to Slack, e-mail or outbound tools.
  • Google Sheets. Append each run's results via the Integrations tab.
  • CRM. Create HubSpot, Pipedrive or Salesforce companies from new filings through Zapier, Make or n8n.

Recipe: every newly funded fintech startup in California each morning

  1. Set Industries = Finance: Other banking and financial services and Technology: Other technology, US states = CA, Young companies only = on. Optionally add Issuer name contains = Payments, Lending, Fintech.
  2. Turn on Only new filings and give the monitor a name, such as ca-fintech.
  3. Click Save as a new task, then add a schedule: every day at 07:00.
  4. Connect the task to Google Sheets, Slack or your CRM. Each morning you get only unseen filings.

Recipe: new VC funds being raised. Investment funds and SPVs = Only, Industries = Finance: Pooled investment fund, Filed within the last N days = 7, weekly schedule, export to a sheet.

FAQ

How does it work, and where does the data come from? All data comes from SEC EDGAR, the SEC's public filing system. The Actor lists Form D filings with EDGAR full-text search and reads each matching filing's official XML document. Form D notices are public by law, and works of the US federal government are in the public domain. The Actor respects sec.gov's robots.txt. This Actor is not affiliated with or endorsed by the SEC.

Does it respect SEC's rate limits? Yes. SEC's fair-access policy allows at most 10 requests per second and asks tools to declare a User-Agent. The Actor never sends more than 5 per second, declares itself in the User-Agent header and backs off when SEC is busy. If SEC still refuses (HTTP 403), the run stops with a clear message instead of retrying.

Are there limits? EDGAR search lists at most 10,000 hits per query, so long ranges are split into one query per day automatically. Use Max results to cap size and cost.

How fast is it? The prefilled run takes about 6 seconds; 500 filings took about 2.5 minutes, because the Actor stays below SEC's rate limit. Industry, amount and company-age filters need each document, so they are slower over long ranges than the other filters.

How fresh is the data? Form D is due within 15 days of the first sale, so compare dateOfFirstSale with filedDate. New filings usually appear in EDGAR search on the day they are accepted (US business days, 6 a.m. to 10 p.m. Eastern; after 5:30 p.m. they get the next business day's date). A daily schedule with Only new filings catches everything.

Why are my results different from EDGAR full-text search? Funds, SPVs and amendments are excluded by default; states mean the place of business, not incorporation; Issuer name contains searches names only; and monitoring mode skips filings you already received. RUN_SUMMARY shows the filings in range and why each group was skipped.

Why is the offering amount sometimes empty? The issuer reported it as "Indefinite" (offeringAmountIndefinite: true), common for SAFEs and funds. totalAmountSold is still filled in.

Is it legal? What about personal data (GDPR, CCPA)? Form D notices are public filings. They also list executives, directors and promoters with their addresses. By default the Actor outputs company-level data only. With includeRelatedPersons you get names and roles, never addresses, and e-mails and phone numbers are stripped from the role text. Signers, the issuer's phone and street address, and individual sales agents are never output (only broker-dealer firm names). If you collect names, you need a lawful basis (e.g. GDPR legitimate interest) and must honor CCPA opt-outs.

Can I use it from Python, Google Sheets or my CRM? Yes. See Use it via API and Integrations and scheduling.

How does "Only new filings" work? Accession numbers of delivered filings are kept in a named key-value store in your account. The next run with the same filters and monitor name skips them before downloading. Only delivered filings are remembered, so filings cut off by Max results arrive next time. A new monitor name starts a fresh list.

What if a run fails? Invalid input fails at once with a message saying what to fix. If SEC blocks or stays down after retries, the Actor keeps what it saved and explains the problem in the status message and RUN_SUMMARY; the run fails only if nothing was saved. Please open an issue on the Issues tab with the run link. Fixes usually land within 24 to 48 hours.

What changed recently? See the changelog below.

Need a custom version?

I build custom scrapers, scheduled data feeds and integrations (CSV, Excel, Google Sheets, API, MCP for AI agents). Tell me the sites and fields you need:

More low-cost Actors by the same developer, built on official APIs and public data:

All my Actors: apify.com/kadi_bence

Changelog

  • 1.0 (2026-10-05): First release.
    • Form D and D/A filings from EDGAR full-text search plus the official XML documents.
    • Fund/SPV filter, industry, sector, state, amount, young-company, exemption and keyword filters.
    • Monitoring mode, run summary, company-level data by default with optional names of related persons.