When a company files a Form D with the SEC, it means they just raised money — and it becomes public within a day or two. That's a goldmine for sales, recruiting, or just watching your market: a list of companies who suddenly have budget and are probably hiring.
Here's how to pull that data yourself with about 20 lines of Python, no scraping required.
Where the data comes from
The SEC publishes Form D filings through EDGAR's full-text search API. It's free, has no auth, and returns structured JSON. You don't need to parse PDFs or HTML — just query it.
The code
import requests
def recent_funding_filings(days=1):
url = "https://efts.sec.gov/LATEST/search-index?q=%22Form+D%22&forms=D&dateRange=custom"
params = {
"q": "\"Form D\"",
"forms": "D",
"dateRange": "custom",
}
resp = requests.get("https://www.sec.gov/cgi-bin/browse-edgar", params={
"action": "getcompany",
"type": "D",
"dateb": "",
"owner": "include",
"count": "40",
}, headers={"User-Agent": "research example@example.com"}) resp.raise_for_status()
return resp.text
if __name__ == "__main__":
html = recent_funding_filings()
print(html[:2000])
That gets you the raw EDGAR listing. From there you'd parse out company name, filing date, and (if disclosed) the amount raised — EDGAR's full-text search UI at efts.sec.gov/LATEST/search-index is the easier entry point if you want structured JSON instead of HTML.
The parts that are actually annoying
Two things make this harder than it looks:
- Not every filing discloses an amount. Form D lets companies check "indefinite" for total offering amount, so you'll need to handle nulls.
- Company names aren't deduplicated or enriched. EDGAR gives you the legal entity name from the filing, not a clean company profile — no domain, no industry, no employee count. If you want to actually use this list for outreach, you'll want to enrich it against something like Clearbit or a company database.
If you'd rather skip the plumbing
I got tired of maintaining this pipeline myself, so I built Funding Signals — it watches Form D filings in near real time, scores each one for B2B sales relevance, and exposes it as a REST API. There's a free public sample endpoint (/v1/sample, no signup) if you just want to see what the scored output looks like before writing any code.
Either way — the SEC's data is public and free, so there's no reason your sales team should be finding out about a funding round from TechCrunch three weeks late.
Top comments (0)