Free Form D API
Every SEC Form D notice of exempt offering as JSON, within 30 minutes of acceptance: who raised, in what industry, under which exemption, how much was sold, to how many investors, and when the first sale happened.
Endpoints
/api/markets/startup-funding?days=30&funds=0|1&amendments=0|1Largest raises in the window by amount sold, 100 rows. funds=1 switches from operating companies to pooled investment funds; amendments=1 includes Form D/A.
/api/markets/startup-funding?sort=recentThe newest 100 filings of every type.
/api/markets/startup-funding?cik=2150936Every filing on file for one issuer, newest first.
/api/markets/startup-funding/csvThe newest 5,000 filings as CSV.
Example
import requests
r = requests.get("https://xoomar.com/api/markets/startup-funding", params={"days": 7})
for f in r.json()["data"][:10]:
print(f["filedAt"], f["issuerName"], f["totalAmountSold"], f["investorsCount"])Response shape
Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs, license, attribution, meta }. In meta, source names who publishes the data and sourceAttribution is the credit line to show with it. The data field is an array of records with these fields:
| Field | Type | Description |
|---|---|---|
| accessionNo | string | EDGAR accession number; the filing is at /Archives/edgar/data/{cik}/{accession without dashes}/ |
| cik | string | Issuer CIK, ten digits |
| issuerName | string | Issuer as filed |
| entityType | string | null | Corporation, Limited Partnership, LLC, Trust and so on |
| state | string | null | Issuer state or country code |
| industryGroup | string | null | SEC industry category (Pooled Investment Fund for funds) |
| fundType | string | null | Hedge, Private Equity, Venture Capital or Other Investment Fund, funds only |
| isAmendment | boolean | Form D/A |
| dateOfFirstSale | string | null | ISO date; null when the first sale has yet to occur |
| securityTypes | string | null | equity, debt, options, pooled fund, other |
| exemptions | string | null | Rule items claimed, e.g. 06b, 06c, 3C.1, 3C.7 |
| totalOfferingAmount | number | null | USD; null when indefinite |
| totalAmountSold | number | null | USD sold as of the filing |
| investorsCount | number | null | Investors who have already invested |
| minimumInvestment | number | null | USD minimum accepted from an outside investor |
| revenueRange | string | null | Issuer revenue range or fund net asset value range, as disclosed |
| filedAt | string | EDGAR filing date |
Related persons (executives, directors, promoters) and sales agents are in the filing XML on EDGAR; they are not carried here.
Numeric fields typed string in the table carry exact decimals; parse them with your language's decimal type. No key needed to start: 10 requests a minute per IP without a key and 30 a minute with a free account key, with at least six months of history. A 429 response carries a Retry-After header in seconds. Credit XOOMAR with a link to the dataset page when you republish the data; the data terms are on the terms page.
A free account key raises the limit; send it in an X-API-Key header.
Frequently Asked Questions
How fast do filings appear?
How far back does it go?
What are the rate limits?
Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.