SEC Form D Funding Leads: Newly Funded US Companies avatar

SEC Form D Funding Leads: Newly Funded US Companies

Pricing

from $4.00 / 1,000 form d filing returneds

Go to Apify Store
SEC Form D Funding Leads: Newly Funded US Companies

SEC Form D Funding Leads: Newly Funded US Companies

Newly funded US companies from official SEC EDGAR Form D filings. No API key or scraping. Officers, phone, offering size, industry, state. Drops funds and property SPVs. Only-new mode skips filings you already got. About 1 business day behind EDGAR. $4 per 1,000 filings.

Pricing

from $4.00 / 1,000 form d filing returneds

Rating

0.0

(0)

Developer

moo_iscool

moo_iscool

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Security

Limited permissions

Share

SEC Form D Scraper: Newly Funded Startup & Private Company Leads (Official EDGAR Data)

Find companies that just raised money, straight from the SEC, without an API key. Every US company that sells securities privately under Regulation D files a Form D with the SEC within 15 days of its first sale. This actor reads those filings from EDGAR, drops the investment funds and property SPVs, and saves one row per filing: company, address, phone, the officers and directors named on the form, industry, how much is being raised and how much has been sold. Export as JSON, CSV, or Excel, or send it to a CRM, Google Sheets, or a webhook. It uses the SEC's official public files, needs no login, and does not scrape a commercial site.

  • Who it's for: sales and SDR teams that sell to companies right after a raise, agencies and recruiters, fintech and banking teams, investors and analysts who track private-market activity.
  • Filters: industry, state, amount sold, offering size, company age, amendments, and three layers of fund filtering so most of what is left is an operating company.
  • Monitor mode: with only new since last run, a daily schedule returns only filings you haven't received yet, and repeats are not charged.
  • Price: $4.00 per 1,000 filings ($0.004 each), plus a tiny per-run start fee. Filings removed by the filters, including funds, and filings already seen in only-new mode are free.

Quick example

Input (this is the prefilled form):

{
"filingDays": 1,
"excludePooledFunds": true,
"maxResults": 25
}

Sample output rows (from a real run on 26 October 2026, which read the Friday 23 October filings; a full record is shown further down):

companystateindustryamount soldprimaryContactNamefilingDate
Elucida Labs, Inc.CAOther Technology$225,000Suresh Ayyalsamy2026-10-23
Upright Education, Inc.NYBusiness Services$1,533,856Benjamin Boas2026-10-23
XRHealth, Inc.MAOther Health Care$3,877,693Eran Orr2026-10-23
Belenus Power Group, Inc.AZOther Energy$2,689,998Jack Bennett2026-10-23
Key Proteo, Inc.WABiotechnology$2,330,000SIHOUN HAHN2026-10-23

Limits, up front

  • About one business day behind EDGAR. The actor reads EDGAR's daily index, which the SEC updates overnight, starting around 10 p.m. Eastern. During the day, and often the next morning, the newest index is the previous business day's. A filer can also wait up to 15 days after its first sale, so a Form D can arrive well after the money moved.
  • US Regulation D filers only. Form D covers private placements, not IPOs, loans, or companies that raised under other rules. Many private companies never file one.
  • No email addresses. Form D has none. You get a phone number, a postal address, and the names of the officers, directors, and promoters.
  • The fund filters are heuristics. Most are based on what the filer ticked on the form, and one goes by the company name. They remove most investment vehicles but not all, and they can drop a real company that looks like one. Each has a switch.
  • Amounts can be "Indefinite". Some filers do not state an offering amount. Then offeringAmountIndefinite is true and totalOfferingAmount is null.
  • Not affiliated with the SEC.

How to scrape SEC Form D filings

The actor does three things.

  1. Reads EDGAR's daily form index for the days you ask for and picks out the Form D lines (and D/A amendments, if you want them).
  2. Opens each filing's structured XML file.
  3. Filters the filing, flattens it to one row, and saves it.

It reads the newest day first and skips weekends and holidays, which have no index. It stops as soon as it has your Max results. A one-day run with the prefilled input takes about 15 to 20 seconds. If the requested days give no rows at all, it reads up to 2 earlier filing days before it stops, so a normal day does not come back empty. That extra reading is skipped in only-new mode when earlier runs already returned filings for these days.

Order of filings

EDGAR lists a day's filings alphabetically. With a small Max results, that would return only the early letters. Order of filings is set to Spread across the day by default, which walks the day's list in an even spread (first, middle, quarters, eighths, and so on), so 25 rows sample the whole alphabet. The order depends only on the day's list, so the same day gives the same order on every run. Pick Alphabetical for the EDGAR order.

On the 23 October index with the prefilled input, the 25 company names started with 16 different letters, from A to X, under Spread. Under Alphabetical they started with 11 letters, from A to O.

How to find newly funded companies every day

With Only new since last run on, the actor remembers the accession number of every filing it returned for a given Monitor name. The next run skips those filings before it downloads them, so they are not saved and not charged.

  1. Create a schedule that runs the actor every weekday morning. US Eastern time fits, because EDGAR files by that clock.
  2. Set onlyNew to true, give the search a monitorName, and set filingDays to 2 or 3 so a day that was indexed late is not missed.
  3. Use a different monitor name for each saved search.

The memory lives in the named key-value store sec-form-d-leads-state, under the key SEEN_<monitor name>. The actor saves it right after every batch of rows it pushes, so a restarted run normally does not return those filings again. The save is not atomic with the push. If the run is killed or crashes in the moment between the two, the last few filings can be sent and charged again on the next run. Entries older than 120 days are removed. Named stores stay until you delete them.

Filings that your filters remove are not remembered. If you loosen a filter later, filings from the last few days that it used to remove can come back.

Do not run two runs of the same monitor name at the same time. Each run loads the memory when it starts and saves its own copy as it goes. Two overlapping runs can return and bill the same filing, and the later save can drop the other run's entries. Give each schedule its own monitor name, and leave enough time between runs for one to finish.

Input

Every field is optional.

FieldWhat it does
filingDaysHow many of the most recent EDGAR filing days to read (1 to 30, default 1). Days with no index are skipped, looking back at most 45 calendar days. If no rows come back, up to 2 earlier days are read as well.
dateFrom, dateToYYYY-MM-DD. When set, they replace filingDays. At most 31 days. One date alone reads just that day.
includeAmendmentsAlso return Form D/A filings. Off by default.
excludePooledFundsDrop filings whose industry group is Pooled Investment Fund. On by default.
excludeInvestmentVehiclesDrop filings that the form itself marks as an investment vehicle or a single-asset property company. On by default.
excludeFundLikeNamesAlso drop filings whose company name has a fund or SPV word in it. On by default.
industryGroupsKeep only industry groups containing one of these words, such as Technology, Health Care, Real Estate.
excludeIndustryGroupsDrop industry groups containing one of these words.
statesIssuer state or country codes, such as CA, NY, TX.
minAmountSold, minOfferingAmountMinimum US dollars sold or offered.
incorporatedWithinFiveYearsOnlyKeep only companies that say they were incorporated within five years.
includeRelatedPersonsAdd the officers, directors, and promoters named on the filing. On by default.
includeRelatedPersonAddressesAdd those people's addresses. Off by default.
onlyNew, monitorNameSkip filings earlier runs already returned.
maxResultsStop after this many rows (default 200).
orderspread (default) or alphabetical. See Order of filings.
contactEmailPut in the User-Agent sent to sec.gov, as the SEC asks.

A narrower example, for a sales team selling to young California tech companies that have already taken money:

{
"filingDays": 5,
"industryGroups": ["Technology"],
"states": ["CA"],
"incorporatedWithinFiveYearsOnly": true,
"minAmountSold": 100000,
"onlyNew": true,
"monitorName": "ca-tech",
"maxResults": 100
}

How the filters work

  • Industry groups match as a case-insensitive "contains". Technology also matches Biotechnology and Other Technology. Use Other Technology or Computers to be stricter.

  • A missing value never passes a filter that asks for it. A filing with an Indefinite offering has no number, so it is dropped when minOfferingAmount is set. A filing that does not report an amount sold is dropped when minAmountSold is set.

  • Pooled funds are the filings where the filer chose the industry group Pooled Investment Fund. Some funds choose another group, so this filter alone lets them through.

  • Investment vehicles are caught by what the filer ticked, not by name. A filing is dropped when any of these is true:

    • it claims an Investment Company Act exemption: 3C or any 3C.<number> item, such as 3C.1, 3C.5 or 3C.7. Every 3(c) item on Form D is an exclusion from the definition of an investment company, so all of them are treated the same;
    • the securities offered are pooled investment fund interests;
    • it reports an aggregate net asset value range instead of a revenue range;
    • the industry group is Investing or Pooled Investment Fund;
    • it looks like a single-asset property company: a real estate industry group (Residential, Commercial, REITS and Finance, or Other Real Estate), an LP or LLC, and a revenue answer of Decline to Disclose, No Revenues, or Not Applicable.

    The last rule is a judgment call. It drops property SPVs such as a single apartment building held in its own LLC, and it also drops a small real estate developer that files the same way. On the 23 October index it removed 10 filings, for example "AZI Reed Ave 1517 LP" and "DDC GH LLC" (Commercial, LLC, No Revenues). Turn Exclude investment vehicles off to keep them.

  • Fund-like names catch vehicles the form signals miss. A filing is dropped when its company name contains one of these whole words, ignoring case: fund, funds, feeder, co-invest, coinvest, SPV, vehicle, vehicles, offshore, parallel, aggregator. Examples: "Five Winds Income Fund LLC", "AP Maverick Co-Invest II (B), L.P." Plain LLC, LP, Holdings, and Capital do not count, and the words must stand alone, so "Refund Technologies" and "Fundamental Robotics" stay. It goes by the name only, so a real company called "Parallel Health" is dropped too.

  • Filters run in this order: pooled funds, investment vehicles, fund-like names, excluded industries, industries, states, amount sold, offering amount, company age. The SUMMARY record counts how many filings each one removed, and investmentVehicleSignals shows which signal caught each vehicle.

What data you get

One row per filing. A company that files several Form Ds in a week appears several times.

FieldMeaning
accessionNumber, formType, isAmendment, filingDate, cikWhich filing it is. formType is D or D/A. cik is the issuer's own CIK.
companyName, entityType, jurisdictionOfIncorporationThe issuer.
yearOfIncorporation, incorporatedWithinFiveYearsCompany age as the filer reports it. The year is null when the form only says "over five years".
street1, street2, city, state, stateOrCountryDescription, zipCodeIssuer address.
phone, phoneE164Phone as filed, and a +1XXXXXXXXXX version for 10-digit numbers when the issuer is in a US state, a US territory, or a Canadian province (null otherwise).
industryGroup, investmentFundType, revenueRange, aggregateNetAssetValueRangeWhat the company says it does and how big it is. Funds report a net asset value range instead of a revenue range.
federalExemptions, securitiesTypesExemption codes such as 06b (Rule 506(b)) and 06c (Rule 506(c)), and what is being sold, such as Equity or Debt.
dateOfFirstSale, firstSaleYetToOccurWhen the first sale happened, or that it has not yet.
totalOfferingAmount, offeringAmountIndefinite, totalAmountSold, totalRemainingThe money, in US dollars.
totalInvestors, hasNonAccreditedInvestors, minimumInvestmentThe investor side.
salesCompensationRecipients, hasSalesCompensationBrokers or finders named as paid.
relatedPersons, primaryContactName, relatedPersonsTextOfficers, directors, and promoters. The primary contact is the first Executive Officer, or the first person listed.
filingIndexUrl, xmlUrl, edgarCompanyUrlLinks to the filing, its XML, and the company's EDGAR Form D list.
scrapedAtWhen the actor read the filing.

Output example

{
"accessionNumber": "0002161544-26-000001",
"formType": "D",
"isAmendment": false,
"filingDate": "2026-10-23",
"cik": "2161544",
"companyName": "Elucida Labs, Inc.",
"entityType": "Corporation",
"jurisdictionOfIncorporation": "DELAWARE",
"yearOfIncorporation": 2025,
"incorporatedWithinFiveYears": true,
"street1": "1133 BARNES LN",
"street2": null,
"city": "SAN JOSE",
"state": "CA",
"stateOrCountryDescription": "CALIFORNIA",
"zipCode": "95120",
"phone": "4082420106",
"phoneE164": "+14082420106",
"industryGroup": "Other Technology",
"investmentFundType": null,
"revenueRange": "No Revenues",
"aggregateNetAssetValueRange": null,
"federalExemptions": ["06b"],
"securitiesTypes": ["Other: Simple Agreement for Future Equity (SAFE)"],
"dateOfFirstSale": "2026-10-20",
"firstSaleYetToOccur": false,
"totalOfferingAmount": 3000000,
"offeringAmountIndefinite": false,
"totalAmountSold": 225000,
"totalRemaining": 2775000,
"totalInvestors": 4,
"hasNonAccreditedInvestors": false,
"minimumInvestment": 25000,
"salesCompensationRecipients": [],
"hasSalesCompensation": false,
"relatedPersons": [
{ "name": "Suresh Ayyalsamy", "relationships": ["Executive Officer", "Director"], "clarification": null },
{ "name": "Venkata Seshu Syam Surla", "relationships": ["Executive Officer", "Director"], "clarification": null }
],
"primaryContactName": "Suresh Ayyalsamy",
"relatedPersonsText": "Suresh Ayyalsamy (Executive Officer, Director); Venkata Seshu Syam Surla (Executive Officer, Director)",
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/2161544/000216154426000001/",
"xmlUrl": "https://www.sec.gov/Archives/edgar/data/2161544/000216154426000001/primary_doc.xml",
"edgarCompanyUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=2161544&type=D",
"scrapedAt": "2026-10-26T07:40:51.717Z"
}

Each run also writes a SUMMARY record to the default key-value store: days read, index lines, Form D filings found, XML files fetched, filtered-out counts by reason, rows pushed, repeats skipped, errors, duration, and why the run stopped.

How much does it cost?

$4.00 per 1,000 filings ($0.004 each) plus a tiny per-run start fee. You pay only for rows saved to the dataset. Filings removed by the filters (pooled funds, investment vehicles, fund-like names, and your own filters), filings already seen in only-new mode, and filings whose XML could not be read are free. If you turn a fund filter off, those fund rows are returned and charged like any other row. If the run has a max charge set, it stops when that limit is reached and the log says so. The run still succeeds.

Tips

  • HubSpot, Pipedrive, GoHighLevel: export the dataset as CSV or Excel from the Storage tab. Map companyName to Company, phone or phoneE164 to Phone, primaryContactName to Contact, and city, state, zipCode to the address fields. Use accessionNumber as the unique key so a re-import does not create duplicates. Put totalAmountSold and industryGroup in custom fields so reps can sort by raise size.
  • Contacts need an email. Form D has none. Run the company through an email-finder or enrichment tool you already use, with companyName, state, and primaryContactName as inputs.
  • Make, n8n, Zapier: use the Apify integration to start the actor on a schedule and read the dataset when the run succeeds. Keep onlyNew on so each run only passes new filings downstream. A common flow is run finished, get dataset items, filter on totalAmountSold above your threshold, create a CRM company, post to Slack.
  • Nested fields: relatedPersons is a list. For flat tools such as CSV, use relatedPersonsText and primaryContactName, or turn related persons off.
  • Memory and time: the default is 256 MB and a 10 minute timeout. A one-day run uses about 135 MB.

Data source and compliance

  • The data is public information filed with the US Securities and Exchange Commission and published on sec.gov. The actor uses EDGAR's daily index and each filing's XML. It uses no API key and does not scrape a commercial site.
  • Requests follow the SEC's fair-access policy: a declared User-Agent that includes your contactEmail (or a generic Apify address), and no more than 5 requests a second (the SEC limit is 10).
  • Personal addresses are off by default. Related persons can be individuals, and the address on a Form D is sometimes a home address. Turn includeRelatedPersonAddresses on only if you have a lawful reason to hold them. Names and roles are what the filing makes public.
  • You are responsible for how you use the data, including the anti-spam, telemarketing, and data-protection rules that apply to you. Phone numbers on Form D are typed by the filer and may be a person's mobile.
  • Not affiliated with, or endorsed by, the SEC.

FAQ

Do I need an SEC API key?

No. The SEC publishes these files openly, with no key and no login.

Why are there so few rows?

Most Form D filings come from funds and property SPVs, and the default filters drop them. Of the 187 Form D filings in the 23 October index, 120 were tagged as pooled funds, and the vehicle rules and the name filter removed more, which left about 47. Check filteredOut in the SUMMARY record to see what each filter removed. Turn a filter off, or raise filingDays, to get more.

Why does a run on Monday morning read Friday?

EDGAR has no index for weekends or holidays, and the current day's index is only updated overnight. The actor reads the most recent filing day that has one.

Can I get email addresses?

No. Form D does not include them. See Tips for enrichment.

Why is a company I expected missing?

It may not have filed a Form D, or filed it later than the days you read, since a company has up to 15 days after its first sale. A filter can also hide it: the investment-vehicle rules drop single-asset real estate LLCs and LPs, the name filter drops names with words like fund or vehicle, and a missing amount fails the amount filters. Only-new mode hides filings already returned for that monitor name.

What does "Indefinite" mean in the offering amount?

Some filers write Indefinite instead of a number. The row then has offeringAmountIndefinite: true and totalOfferingAmount: null. It fails minOfferingAmount.

Does it handle amendments?

Yes, turn on includeAmendments. An amendment is a separate filing with its own accession number, and it shows the figures as amended, not what changed.

What am I charged for?

Each row saved to the dataset costs $0.004 ($4.00 per 1,000), plus a tiny per-run start fee. Filings removed by the filters (funds included), filings already seen in only-new mode, and filings whose XML could not be read are free. Filters you turn off no longer remove anything, so those rows are charged.

Support

Questions, or a filing that looks wrong? Use the feedback tab on this actor's Apify Store page, and include the run ID and the accession number.