SEC Form D Startup Funding & Private Placement Filings (EDGAR) avatar

SEC Form D Startup Funding & Private Placement Filings (EDGAR)

Pricing

from $2.10 / 1,000 filings

Go to Apify Store
SEC Form D Startup Funding & Private Placement Filings (EDGAR)

SEC Form D Startup Funding & Private Placement Filings (EDGAR)

Newly filed SEC Form D private placements from EDGAR: company, industry, amount raised and offered, investors count, issuer address and phone, executives and directors (city/state only). Skips pooled funds; filter by state, industry and size. Fresh funding-round data.

Pricing

from $2.10 / 1,000 filings

Rating

0.0

(0)

Developer

John

John

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Categories

Share

Extract newly filed SEC Form D private placement and startup funding notices directly from the U.S. Securities and Exchange Commission's EDGAR system. Every record is parsed from the official structured primary_doc.xml filing and includes:

  • Issuer details: legal entity name, CIK, entity type, jurisdiction & year of incorporation, business street address, and phone number
  • Funding round metrics: total offering amount, total amount already sold, remaining amount, minimum outside investment, number of investors, date of first sale, and Regulation D / Investment Company Act exemptions claimed (06b, 06c, 3C.1, 3C.7, etc.)
  • Pooled fund filtering: automatically flags and optionally excludes hedge funds, venture capital funds, and private equity funds (excludePooledInvestmentFunds: true by default) so B2B sales teams get real operating companies and newly funded startups
  • Executive & director roster: full names, roles (Executive Officer, Director, Promoter), and city/state from relatedPersonsList (street addresses of related persons are intentionally omitted as they are often private residences)

Found a problem or need a field? Open an issue on the Issues tab; we respond quickly.

Who it's for

  • B2B sales, SaaS, cloud, recruiting & agency BD teams using newly filed Form D capital raises as high-intent buying triggers before rounds are announced in tech press
  • Venture capital, growth equity & private credit analysts tracking private placements across technology, biotechnology, healthcare, energy, and real estate
  • Corporate service providers (accounting, legal, fractional CFO, commercial banking, insurance) reaching newly capitalized companies

Input

All filters are optional. The default input returns up to 200 newly filed Form D operating-company offerings from the past 7 days. secUserAgent is optional: SEC asks automated tools to identify themselves, and if you leave it empty the Actor sends its own contact string.

{
"dateFrom": "2026-10-16",
"dateTo": "2026-10-23",
"industryGroups": ["Other Technology", "Computers", "Biotechnology"],
"excludePooledInvestmentFunds": true,
"minOfferingAmountUsd": 500000,
"states": ["CA", "NY", "TX"],
"includeAmendments": false,
"secUserAgent": "Acme Corp ops@acme.com",
"maxItems": 200
}
FieldTypeDefaultDescription
dateFromstring (YYYY-MM-DD)today - 7 daysStart of filing date window.
dateTostring (YYYY-MM-DD)todayEnd of filing date window.
industryGroupsarray of strings[] (all)Case-insensitive match on Form D industryGroupType (e.g. ["Other Technology", "Computers", "Health Care"]).
excludePooledInvestmentFundsbooleantrueExclude pooled investment funds (industry is Pooled Investment Fund, investmentFundInfo is present, or the securities offered are pooled fund interests).
minOfferingAmountUsdinteger0Minimum USD amount offered or sold.
statesarray of strings[] (all)2-letter issuer business state codes (e.g. ["CA", "NY"]).
includeAmendmentsbooleanfalseInclude D/A amendment filings in addition to new D filings.
secUserAgentstring"" (Actor default)Optional SEC Fair Access User-Agent (Organization Name email@domain.com). Leave empty to use the Actor's own contact.
maxItemsinteger200Maximum number of rows to output.

Output

FieldTypeDescription
accessionNumberstringSEC 18-digit accession number with hyphens
cikstring10-digit SEC Central Index Key
filingDatestringFiling date (YYYY-MM-DD)
formTypestringD or D/A
entityNamestringPrimary issuer legal name (a filing whose XML is missing it is skipped, never emitted)
entityTypestring | nullEntity type (Corporation, Limited Liability Company, Limited Partnership, etc.)
jurisdictionOfIncorporationstring | nullState or country of incorporation
yearOfIncorporationstring | nullYear of incorporation
industryGroupstring | nullForm D industry classification
isPooledInvestmentFundbooleantrue when the industry is Pooled Investment Fund, investmentFundInfo is present, or isPooledInvestmentFundType is true
totalOfferingAmountUsdnumber | nullTotal offering amount in USD (null when "Indefinite")
totalAmountSoldUsdnumber | nullTotal amount already sold in USD
totalRemainingUsdnumber | nullTotal remaining to be sold in USD (null when "Indefinite")
minimumInvestmentUsdnumber | nullMinimum outside investor commitment in USD
investorsCountinteger | nullTotal number of investors who have already invested
dateOfFirstSalestring | nullDate of first sale (YYYY-MM-DD)
exemptionsarray of stringsFederal exemptions/exclusions claimed (06b, 06c, 3C.1, 3C.7, etc.)
issuerAddressobject{ street1, street2, city, state, zip } of the issuer
issuerPhonestring | nullIssuer telephone number
relatedPersonsarray of objects[{ name, relationships, city, state }] (street addresses omitted)
filingIndexUrlstringEDGAR filing folder URL
xmlUrlstringDirect URL to primary_doc.xml

Sample output row

Fictitious example (company, person, address and 555 phone number are made up):

{
"accessionNumber": "0009999999-26-000001",
"cik": "0009999999",
"filingDate": "2026-10-23",
"formType": "D",
"entityName": "Example Analytics Holdings LLC",
"entityType": "Limited Liability Company",
"jurisdictionOfIncorporation": "DELAWARE",
"yearOfIncorporation": "2026",
"industryGroup": "Other Technology",
"isPooledInvestmentFund": false,
"totalOfferingAmountUsd": 4000000.0,
"totalAmountSoldUsd": 4000000.0,
"totalRemainingUsd": 0.0,
"minimumInvestmentUsd": 50000.0,
"investorsCount": 10,
"dateOfFirstSale": "2026-10-08",
"exemptions": ["06b"],
"issuerAddress": {
"street1": "100 EXAMPLE AVENUE",
"street2": "SUITE 100",
"city": "ATLANTA",
"state": "GA",
"zip": "30301"
},
"issuerPhone": "4045550147",
"relatedPersons": [
{
"name": "Jordan Q. Sample",
"relationships": ["Executive Officer", "Director"],
"city": "Atlanta",
"state": "GA"
}
],
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/9999999/000999999926000001/",
"xmlUrl": "https://www.sec.gov/Archives/edgar/data/9999999/000999999926000001/primary_doc.xml"
}

How pricing works

Pay per result. You only pay for rows returned.

Data source and terms

Data is retrieved from the official U.S. Securities and Exchange Commission (SEC) EDGAR system:

  • Primary discovery: EDGAR Full-Text Search API (https://efts.sec.gov/LATEST/search-index) read one day at a time, newest day first
  • Fallback discovery: EDGAR Daily Form Index files (https://www.sec.gov/Archives/edgar/daily-index/YYYY/QTR{1-4}/form.YYYYMMDD.idx)

About the search endpoint: efts.sec.gov powers EDGAR full-text search on SEC.gov but is not a formally documented, versioned API, so SEC could change it without notice. If it fails or changes shape, the Actor automatically switches to the official, documented EDGAR daily form index files for the same date range (weekdays only; weekends have no index file). Results are the same filings, but the fallback is slower and can't pre-filter by state, so a run may take longer. Every filing's data is always read from the official primary_doc.xml in the EDGAR archive.

  • Filing XML: https://www.sec.gov/Archives/edgar/data/<cik>/<accession>/primary_doc.xml

Filings are published in real time on SEC business days (6:00 AM – 10:00 PM ET). All requests strictly comply with SEC Fair Access rate limits (throttled to ≤ 5 requests/second with required User-Agent identification).

Limits and FAQ

  • Is this polite to SEC.gov? Yes. The Actor never sends more than 5 requests per second (SEC allows 10), always identifies itself with a User-Agent, and backs off (honoring Retry-After) if SEC signals it is busy. If SEC keeps refusing requests, the run stops with a clear message instead of retrying forever.

  • Do I need to set secUserAgent? No. SEC.gov blocks automated requests that don't identify themselves, so the Actor always sends a descriptive User-Agent. Set your own (Company Name contact@domain.com) if you prefer SEC to see your contact details.

  • Why are totalOfferingAmountUsd or totalRemainingUsd sometimes null? Issuers (especially evergreen offerings) may mark those XML fields as "Indefinite", which maps to null.

  • Why are street addresses omitted from relatedPersons? Executive and director addresses on Form D frequently contain residential home addresses; only city and state are emitted for related persons, while the company's full business street address is included in issuerAddress.

  • What does a healthy canary run look like? Run the labelled canary input {"dateFrom": "2026-10-23", "dateTo": "2026-10-23", "maxItems": 5} (any recent SEC business day works). A healthy run ends Complete: 5 rows, newest filings first (reached maxItems=5).

Troubleshooting

  • The run failed with "no matching records": no Form D filings matched your filters in that window. Weekends and US holidays have few or no filings; widen the date range, clear states/industryGroups, or set excludePooledInvestmentFunds to false.
  • The run stopped with a "Blocked by SEC" message: SEC rate-limited the requests. The Actor already throttles to 5 requests/second and backs off; wait 10+ minutes and retry, or set secUserAgent to your own Company Name email@domain.com.
  • The run ended PARTIAL: some filings could not be delivered (for example the EDGAR search 9,000-hit-per-day cap, the run's charge limit, or individual filing XML that was missing or unreadable). The status message states exactly what was skipped and why; rows already delivered are complete and correct.
  • The run failed with a "source format appears to have drifted" message: more than 20% of the filings fetched in the run were unreadable or missing core sections, which points to an EDGAR format change rather than a few bad filings. The run fails instead of delivering mostly-empty data; rows pushed before the failure are named in the status message.
  • Amounts show as null: the issuer filed those amounts as "Indefinite", which maps to null by design.

Changelog

  • v0.3 — Deeper drift hardening: an empty or syntactically broken filing XML is now skipped and counted like any other unreadable filing (it previously could crash the run); a filing missing the core offeringSalesAmounts or industryGroup sections inside offeringData is skipped instead of being emitted with hollow amount/industry fields; if more than 20% of fetched filings are skipped, the run fails as a source error rather than succeeding on mostly-empty data.

  • v0.2 — Drift hardening: a filing whose XML is missing entityName or offeringData is now skipped and counted (run ends PARTIAL naming the skip count) instead of being emitted with silent null fields; PARTIAL status messages end with the standard Issues-tab call to action.

  • v0.1.3 — Pooled-fund exclusion also catches filings whose securities are pooled investment fund interests (isPooledInvestmentFundType), even when the industry is "Other". Documented the daily-index fallback.

  • v0.1.2 — Hard cap of 5 SEC requests per second per run (half SEC's 10/s fair-access limit). On HTTP 429/403 the Actor honors Retry-After, backs off exponentially and pauses all requests; after 6 blocks in a row it stops with a clear message. Every request sends the User-Agent.

  • v0.1.1 — secUserAgent is now optional. Fixed a batching bug that could skip some filings near the end of a run.

  • v0.1 — Initial release with EFTS 3-day chunked discovery, daily-index fallback, token-bucket fair-access rate limiting (≤ 5 req/s), and structured XML parsing.