Obscura

EDGAR Form D

Form D filings for private offerings under Regulation D, including the amount a company is raising.

edgar_form_d — the dataset name to pass to the Obscura API.

Category Regulatory Columns 34 Refresh Every weekday Entity key cik Point-in-time available_date

What one row means

One Form D (Regulation D) notice of exempt offering of securities filed on SEC EDGAR by an issuer — a private-placement offering with its dollar magnitude (total offering / sold / remaining), equity-vs-debt flags, industry, and date of first sale. Includes original notices (form D) and amendments (form D/A).

One row per One row per EDGAR Form D / D/A filing document, keyed by its SEC Archives accession path (filename). Upserts on filename, so a later amendment filed under a new accession is a distinct row..

Point-in-time availability

Every Obscura dataset carries available_date: the calendar day the publisher made the row available, day-of, with no session rounding. It is the one column a backtest filters on, and it means the same thing on every dataset in the catalog.

For edgar_form_d: filing_join: available_date is recovered by joining filename -> edgar_filings.event_date (the SEC filing/dissemination date), NOT the notice's date_of_first_sale, which can precede the public filing by up to 15 days under Rule 503(a).

Refresh cadence

Obscura refreshes edgar_form_d every weekday — the most frequent scheduled job that re-collects or re-exports it. This is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when a row became public is recorded per row in available_date.

Schema — 34 columns

The full public column list for edgar_form_d, with the meaning of every field. The same schema is served unauthenticated at https://api.obscura.trade/v1/catalog/edgar_form_d.

ColumnTypeDescription
filenametext · not nullPK. SEC EDGAR Archives accession path for this Form D document; fetched as sec.gov/Archives/{filename} and the join key into edgar_filings for the true filing date.
cikbigint · not nullCentral Index Key of the primary issuer, parsed from <primaryIssuer><cik>.
entity_nametextIssuer legal name from <primaryIssuer><entityName>; nullable.
is_amendmentboolean · not nullTrue if this is a Form D/A amendment (from <newOrAmendment><isAmendment>), false for an original Form D.
industrytextIssuer industry group type from <industryGroup><industryGroupType> (e.g. 'Other Technology'); nullable.
available_datedatePublic availability date: the Form D filing/dissemination date (recovered from `edgar_filings` via `filename`). The point-in-time anchor.
occurred_ondateDate of first sale in the offering (the real-world event); may pre- or post-date the filing.
is_equityboolean · not nullTrue if the offering includes equity securities (<typesOfSecuritiesOffered><isEquityType>).
is_debtboolean · not nullTrue if the offering includes debt securities (<isDebtType>).
total_offering_amountdouble precisionTotal offering amount in USD from <offeringSalesAmounts><totalOfferingAmount>; NULL when the offering is 'Indefinite' (then indefinite=true).
total_amount_solddouble precisionUSD amount of securities already sold (<totalAmountSold>); nullable.
total_remainingdouble precisionUSD amount of the offering still remaining to be sold (<totalRemaining>); nullable.
indefiniteboolean · not nullTrue when totalOfferingAmount was reported as 'Indefinite' (so total_offering_amount is NULL).
issuer_street1textIssuer street address line 1 from <primaryIssuer><issuerAddress><street1>; nullable.
issuer_citytextIssuer city from <primaryIssuer><issuerAddress><city>; nullable.
issuer_state_or_countrytextIssuer state or country code from <primaryIssuer><issuerAddress><stateOrCountry>; the only location signal Form D provides; nullable.
issuer_ziptextIssuer ZIP / postal code from <primaryIssuer><issuerAddress><zipCode>; nullable.
jurisdiction_of_inctextState/country of incorporation from <primaryIssuer><jurisdictionOfInc>; a canonical entity attribute distinct from HQ address; nullable.
entity_typetextIssuer legal form from <primaryIssuer><entityType> (e.g. 'Limited Partnership', 'Corporation', 'Limited Liability Company'); nullable.
year_of_incbigintYear of incorporation from <primaryIssuer><yearOfInc><value>; company-age signal; nullable.
revenue_rangetextIssuer revenue / net-asset band from <offeringData><issuerSize><revenueRange> (falls back to <aggregateNetAssetValueRange>); the only size measure in the form; nullable.
is_pooled_investment_fundboolean · not nullTrue if the offering includes pooled-investment-fund interests (<typesOfSecuritiesOffered><isPooledInvestmentFundType>); separates funds from operating-company raises.
is_option_to_acquireboolean · not nullTrue if the offering includes options/warrants to acquire securities (<isOptionToAcquireType>).
is_security_to_be_acquiredboolean · not nullTrue if the offering includes securities to be acquired upon exercise of options/warrants (<isSecurityToBeAcquiredType>).
is_tenant_in_commonboolean · not nullTrue if the offering includes tenant-in-common securities (<isTenantInCommonType>).
is_mineral_propertyboolean · not nullTrue if the offering includes mineral-property securities (<isMineralPropertyType>).
is_other_securityboolean · not nullTrue if the offering includes other (unclassified) security types (<isOtherType>).
has_non_accredited_investorsboolean · not nullTrue if the offering has any non-accredited investors (<offeringData><investors><hasNonAccreditedInvestors>); a compliance categorical.
minimum_investment_accepteddouble precisionMinimum accepted investment in USD from <offeringData><minimumInvestmentAccepted>; nullable.
investors_already_investedbigintCount of investors already in the offering from <offeringData><investors><totalNumberAlreadyInvested>; nullable.
sales_commissions_amountdouble precisionSales-commission dollar amount from <offeringData><salesCommissionsFindersFees><salesCommissions><dollarAmount>; nullable.
finders_fees_amountdouble precisionFinders-fee dollar amount from <offeringData><salesCommissionsFindersFees><findersFees><dollarAmount>; nullable.
gross_proceeds_to_insidersdouble precisionUSD proceeds paid to officers/directors/affiliates from <offeringData><useOfProceeds><grossProceedsUsed><dollarAmount>; an insider-payout measure; nullable.
scraped_attimestamp with time zone · not nullInternal ingestion timestamp (Utc::now at upsert); EXCLUDED from exports, not an event date.

Access edgar_form_d

Two delivery paths, one identifier. Both require an Obscura account and an active subscription; the catalog entry and the schema above are public.

import obscura

client = obscura.Client("obs_live_…")

df = client.query(
    dataset="edgar_form_d",
    symbols=["NVDA", "AAPL"],
    start="2024-01-01",
)

Create a free account Browse all 95 datasets

Frequently asked questions

What is in the edgar_form_d dataset?

Form D filings for private offerings under Regulation D, including the amount a company is raising. One Form D (Regulation D) notice of exempt offering of securities filed on SEC EDGAR by an issuer — a private-placement offering with its dollar magnitude (total offering / sold / remaining), equity-vs-debt flags, industry, and date of first sale. Includes original notices (form D) and amendments (form D/A).

How do I avoid look-ahead bias with edgar_form_d?

Filter on edgar_form_d.available_date, the day the publisher made the row public. For this dataset that date is derived as follows — filing_join: available_date is recovered by joining filename -> edgar_filings.event_date (the SEC filing/dissemination date), NOT the notice's date_of_first_sale, which can precede the public filing by up to 15 days under Rule 503(a). A query of the form WHERE available_date <= '<as-of date>' never sees a row before it existed.

In what formats can I get edgar_form_d?

As a Parquet bulk export (POST https://api.obscura.trade/v1/download) or as JSON from the typed query API (POST https://api.obscura.trade/v1/query), both with dataset="edgar_form_d". The column schema is public at https://api.obscura.trade/v1/catalog/edgar_form_d.

Can I filter edgar_form_d by company or symbol?

Yes. edgar_form_d carries cik, the column the API's symbols filter resolves against.

How often is edgar_form_d updated?

Obscura refreshes edgar_form_d on a every weekday schedule — that is the most frequent scheduled job that re-collects or re-exports the table. It is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when the publisher makes a row available is described by the availability rule above, and is recorded per row in available_date.

Related datasets

CFTC Commitments of TradersThe CFTC's weekly Commitments of Traders report: how commercial, non-commercial and small traders are positioned in each… ECHO Enforcement CasesEnvironmental enforcement actions and penalties from the EPA's ECHO database. ECHO FacilitiesEPA-regulated facilities and their compliance history, from ECHO. EDGAR 13F FilingsMetadata for every 13F report, the quarterly filing where large institutional managers list their U.S. equity holdings. EDGAR 13F HoldingsThe line-item positions inside each 13F: which manager held which security, and how much, each quarter. EDGAR 8-K ItemsThe item numbers reported on each 8-K (5.02 officer changes, 2.01 acquisitions, 1.01 material agreements, and so on), so… EDGAR Dilution MetricsShare-issuance headroom and overhang metrics built from companies' XBRL filings: authorized versus outstanding shares, a… EDGAR Filing TextSignals mined from the text of filings, such as mentions of distress, litigation, going-concern doubt and restructuring.