How to Scrape SEC EDGAR Form D Filings in 2026
A practical guide to extracting Form D (Regulation D) filings from SEC EDGAR — funded startups, offering amounts, executives and contacts — via the official government API.
When a US company raises private capital, it almost always files a Form D with the SEC under Regulation D. That filing is public, free, and machine-readable — and it names the company, the amount offered, the amount sold, and the executives behind the raise. If you sell to recently funded startups, or you track private-market deal flow, Form D is one of the cleanest signal sources on the open web. Unlike most targets in this catalog, there’s no anti-bot war here: it’s a government API. The work is in querying it correctly, parsing the XML, and respecting the rate limits. This guide covers all three.
Why Form D matters
Regulation D is the exemption that lets companies sell securities to investors without a full public registration. Practically, that means almost every angel round, seed round, and Series A by a US entity generates a Form D within 15 days of the first sale. The filing is the SEC’s D and D/A (amendment) form type, and it lives in EDGAR alongside 10-Ks and 8-Ks.
What makes it valuable for prospecting and research:
- It’s filed right after the money lands — fresher than most funding databases.
- It names executives and directors with titles, which gives you the decision-makers.
- It states the offering amount and amount sold, so you can size the company.
- It includes industry classification and state, so you can segment.
This is why B2B sales teams, recruiters, and VCs all mine it — it’s a near-real-time feed of companies that just got capital and are about to spend it.
How EDGAR exposes the data
SEC EDGAR offers several official, free interfaces. The relevant ones for Form D:
# Full-text search (find filings by form type and date)
https://efts.sec.gov/LATEST/search-index?q=&forms=D&dateRange=custom&startdt=2026-05-01&enddt=2026-05-31
# Filing submissions index per company (by CIK)
https://data.sec.gov/submissions/CIK0001234567.json
# The actual Form D XML primary document
https://www.sec.gov/Archives/edgar/data/<CIK>/<accession-no-dashes>/primary_doc.xml
The flow is: query the full-text / filing-index endpoints for form=D within a date range, collect the accession numbers and CIKs, then fetch each filing’s primary_doc.xml and parse it. The XML is structured under an edgarSubmission root with primaryIssuer, relatedPersonsList, and offeringData sections — clean, schema-stable government XML, not a moving HTML target.
The one hard rule: EDGAR requires a descriptive User-Agent header identifying you (name and email), and enforces a 10 requests/second fair-access limit. Blow past it and you get throttled or temporarily blocked. A well-behaved scraper paces requests under that ceiling and sets the header correctly.
▶ Run the SEC EDGAR Form D Scraper — queries the official EDGAR API, parses Form D XML, returns company name, offering amount, executives, industry and contacts. Filter by date range, keyword and minimum offering size.
What you can pull from each filing
Parsing primary_doc.xml yields a rich record. The fields that matter for prospecting and research:
- Entity — legal company name, CIK, jurisdiction/state of incorporation, entity type, year of incorporation.
- Offering — total offering amount, amount sold, amount remaining, minimum investment, type of securities (equity, debt, options).
- Exemption — the specific Rule 506(b) / 506(c) federal exemption claimed.
- People — related persons (executives and directors) with names, titles, and the issuer’s business address.
- Investors — number of investors who have already participated.
- Industry — the issuer’s industry group classification (e.g., “Technology”, “Health Care”, “Real Estate”).
- Filing metadata — accession number, filing date, and the canonical EDGAR URL.
The amendment angle is worth knowing: a D/A filing updates an earlier D — often because more money was raised. If you only scrape D, you miss the “they topped up the round” signal. A good scraper lets you optionally include amendments.
Schema design for downstream use
Land it in your CRM or warehouse normalized:
{
"cik": "0001234567",
"accession_no": "0001234567-26-000045",
"company_name": "Northbeam Robotics Inc.",
"filing_type": "D",
"filing_date": "2026-05-14",
"state_of_incorporation": "DE",
"industry_group": "Technology",
"offering_amount_usd": 8000000,
"amount_sold_usd": 5200000,
"amount_remaining_usd": 2800000,
"investor_count": 9,
"securities_type": "Equity",
"exemption": "06b",
"related_persons": [
{ "name": "Dana Okafor", "title": "CEO, Director" },
{ "name": "Liang Wu", "title": "CFO" }
],
"issuer_city": "Austin",
"issuer_state": "TX",
"filing_url": "https://www.sec.gov/Archives/edgar/data/1234567/000123456726000045/primary_doc.xml",
"scraped_at": "2026-05-22T12:00:00Z"
}
A few choices worth making early:
- Store all three amounts.
offering_amountis the ask;amount_soldis reality. The gap tells you whether the round is closing or stalling. - Keep
related_personsas an array. Each person is a potential outreach target with a title; flattening to one name throws away co-founders. - Use
cik+accession_noas the key. A company files many times; the accession number uniquely identifies a single filing. - Separate issuer address from filer. The business address in the filing is your mailing/enrichment anchor.
Typical use cases
- B2B sales prospecting — build a daily list of companies that just raised, with named executives to contact. A company that closed $5M last week has budget and is hiring vendors.
- VC and investor deal-flow monitoring — watch new Reg D filings in a target industry or state to source and benchmark deals.
- Recruiting — newly funded startups scale headcount fast; Form D tells you who’s about to post jobs.
- Market research — model private capital formation by state, industry, and offering size over time.
- Financial datasets — assemble a clean longitudinal record of private raises for analytics and reporting.
The value here is timeliness plus contactability: not just “this company raised money” but “here’s the CEO’s name and the company’s address, filed nine days ago.”
Cost math
Because EDGAR is a free government API, there are no proxy costs and no anti-bot bandwidth to pay for. Running this as a managed actor on Apify is a tiny per-run start fee plus effectively free per-result extraction. A typical workflow — scraping all Form D filings above a $1M minimum, refreshed daily — is a few hundred filings a day, comfortably inside Apify’s free monthly credit for most users.
Building it yourself is genuinely easy here (it’s a public API), but the recurring chores still add up:
- Correct
User-Agentand sub-10-req/s rate limiting, or you get throttled mid-run. - XML parsing that survives optional/missing fields (not every filing has every field).
- Date-range pagination across the full-text index.
- Re-running on a schedule and deduping against what you already pulled.
None of it is hard; all of it is maintenance you can skip.
Common pitfalls
- Missing the
User-Agentheader. EDGAR returns403without a descriptive UA. This is the single most common reason a from-scratch script fails on day one. - Ignoring the rate limit. 10 req/s is the published ceiling; sustained bursts get you temporarily banned. Pace it.
- Treating Form D as fully complete. Some fields are optional and legitimately blank. Don’t assume every filing has a
CFOor an investor count. - Forgetting amendments.
D/Afilings carry the updated numbers. Decide upfront whether you want them. - Stale company names. A company can change names between filings; the CIK is the stable identifier, not the name.
- Over-trusting
amount_sold. It’s a point-in-time snapshot. A later amendment may show the round grew — re-scrape to catch it.
Wrapping up
Form D is one of the rare scraping targets where the data is free, public, structured, and genuinely actionable — a government feed of companies that just got funded, complete with the executives’ names. The only friction is querying EDGAR politely and parsing the XML cleanly. If you want a one-off research pull, the API is approachable. If you want a daily prospecting feed that never trips the rate limiter and always parses, a managed actor is the lower-effort path.
▶ Open the SEC EDGAR Form D Scraper on Apify — funded-startup leads with executives, offering amounts, industry and contacts, straight from the official filing. Filter by date and offering size. Start with Apify’s free monthly credit.
Related guides
EU Company Registry Data Export — Germany, France, Netherlands
How to extract company-registry records from Handelsregister, INPI, and KvK in a unified schema — for KYC, B2B lead generation, and compliance workflows.
How to Scrape CoinPaprika Crypto Market Data in 2026
Bulk-fetch the entire crypto market from CoinPaprika in one API call — price, volume, market cap, supply, ATH and 1h/24h/7d/30d momentum for thousands of coins, no API key.
How to Scrape DexScreener Boosted & Promoted Tokens in 2026
Track every boosted/promoted token on DexScreener — boost spend, payment timestamps, order history plus live top-pair price and liquidity. How the promotion endpoints work and why it's memecoin alpha.