SEC Form D Funding Leads: Newly Funded US Companies
Pricing
from $4.00 / 1,000 form d filing returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
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):
| company | state | industry | amount sold | primaryContactName | filingDate |
|---|---|---|---|---|---|
| Elucida Labs, Inc. | CA | Other Technology | $225,000 | Suresh Ayyalsamy | 2026-10-23 |
| Upright Education, Inc. | NY | Business Services | $1,533,856 | Benjamin Boas | 2026-10-23 |
| XRHealth, Inc. | MA | Other Health Care | $3,877,693 | Eran Orr | 2026-10-23 |
| Belenus Power Group, Inc. | AZ | Other Energy | $2,689,998 | Jack Bennett | 2026-10-23 |
| Key Proteo, Inc. | WA | Biotechnology | $2,330,000 | SIHOUN HAHN | 2026-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
offeringAmountIndefiniteis true andtotalOfferingAmountis null. - Not affiliated with the SEC.
How to scrape SEC Form D filings
The actor does three things.
- 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).
- Opens each filing's structured XML file.
- 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.
- Create a schedule that runs the actor every weekday morning. US Eastern time fits, because EDGAR files by that clock.
- Set
onlyNewto true, give the search amonitorName, and setfilingDaysto 2 or 3 so a day that was indexed late is not missed. - 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.
| Field | What it does |
|---|---|
filingDays | How 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, dateTo | YYYY-MM-DD. When set, they replace filingDays. At most 31 days. One date alone reads just that day. |
includeAmendments | Also return Form D/A filings. Off by default. |
excludePooledFunds | Drop filings whose industry group is Pooled Investment Fund. On by default. |
excludeInvestmentVehicles | Drop filings that the form itself marks as an investment vehicle or a single-asset property company. On by default. |
excludeFundLikeNames | Also drop filings whose company name has a fund or SPV word in it. On by default. |
industryGroups | Keep only industry groups containing one of these words, such as Technology, Health Care, Real Estate. |
excludeIndustryGroups | Drop industry groups containing one of these words. |
states | Issuer state or country codes, such as CA, NY, TX. |
minAmountSold, minOfferingAmount | Minimum US dollars sold or offered. |
incorporatedWithinFiveYearsOnly | Keep only companies that say they were incorporated within five years. |
includeRelatedPersons | Add the officers, directors, and promoters named on the filing. On by default. |
includeRelatedPersonAddresses | Add those people's addresses. Off by default. |
onlyNew, monitorName | Skip filings earlier runs already returned. |
maxResults | Stop after this many rows (default 200). |
order | spread (default) or alphabetical. See Order of filings. |
contactEmail | Put 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".
Technologyalso matchesBiotechnologyandOther Technology. UseOther TechnologyorComputersto be stricter. -
A missing value never passes a filter that asks for it. A filing with an
Indefiniteoffering has no number, so it is dropped whenminOfferingAmountis set. A filing that does not report an amount sold is dropped whenminAmountSoldis 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:
3Cor any3C.<number>item, such as3C.1,3C.5or3C.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.
- it claims an Investment Company Act exemption:
-
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
SUMMARYrecord counts how many filings each one removed, andinvestmentVehicleSignalsshows 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.
| Field | Meaning |
|---|---|
accessionNumber, formType, isAmendment, filingDate, cik | Which filing it is. formType is D or D/A. cik is the issuer's own CIK. |
companyName, entityType, jurisdictionOfIncorporation | The issuer. |
yearOfIncorporation, incorporatedWithinFiveYears | Company age as the filer reports it. The year is null when the form only says "over five years". |
street1, street2, city, state, stateOrCountryDescription, zipCode | Issuer address. |
phone, phoneE164 | Phone 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, aggregateNetAssetValueRange | What the company says it does and how big it is. Funds report a net asset value range instead of a revenue range. |
federalExemptions, securitiesTypes | Exemption codes such as 06b (Rule 506(b)) and 06c (Rule 506(c)), and what is being sold, such as Equity or Debt. |
dateOfFirstSale, firstSaleYetToOccur | When the first sale happened, or that it has not yet. |
totalOfferingAmount, offeringAmountIndefinite, totalAmountSold, totalRemaining | The money, in US dollars. |
totalInvestors, hasNonAccreditedInvestors, minimumInvestment | The investor side. |
salesCompensationRecipients, hasSalesCompensation | Brokers or finders named as paid. |
relatedPersons, primaryContactName, relatedPersonsText | Officers, directors, and promoters. The primary contact is the first Executive Officer, or the first person listed. |
filingIndexUrl, xmlUrl, edgarCompanyUrl | Links to the filing, its XML, and the company's EDGAR Form D list. |
scrapedAt | When 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
companyNameto Company,phoneorphoneE164to Phone,primaryContactNameto Contact, andcity,state,zipCodeto the address fields. UseaccessionNumberas the unique key so a re-import does not create duplicates. PuttotalAmountSoldandindustryGroupin 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, andprimaryContactNameas inputs. - Make, n8n, Zapier: use the Apify integration to start the actor on a schedule and read the dataset when the run succeeds. Keep
onlyNewon so each run only passes new filings downstream. A common flow is run finished, get dataset items, filter ontotalAmountSoldabove your threshold, create a CRM company, post to Slack. - Nested fields:
relatedPersonsis a list. For flat tools such as CSV, userelatedPersonsTextandprimaryContactName, 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
includeRelatedPersonAddresseson 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.