Raisewire

SEC Form D · private-market data

Every U.S. private capital raise, as clean JSON.

Form D filings — seed rounds, growth equity, private funds — pulled from EDGAR, parsed out of nested XML, deduped across amendments, enriched, and served through one modern API. Query the history or get a signed webhook the moment a raise is filed.

raisewire — first-time raises over $1M
# operating companies (no funds) raising for the first time
curl -s "https://raisewire.dev/v1/filings?exclude_funds=true&is_first_raise=true&min_offering=1000000&order=-latest_filed_date" \
  -H "Authorization: Bearer $RAISEWIRE_KEY"
{
  "count": 50,
  "next_offset": 50,
  "results": [{
    "issuer_name": "Nimbus Robotics Inc.",
    "issuer_cik": "0001999999",
    "sector": "Technology",
    "total_offering_amount": 8000000,
    "total_amount_sold": 5250000,
    "amount_sold_pct": 0.6563,
    "is_first_raise": true,
    "issuer_raise_number": 1,
    "federal_exemptions": ["06b"],
    "date_of_first_sale": "2026-08-15",
    "amendment_count": 0,
    "latest_filed_date": "2026-08-27"
  }]
}
Every Form D since 2008 Checked every 15 minutes 100% sourced from SEC EDGAR One canonical row per raise

What you get

The parsing, dedup, and enrichment you'd otherwise build and babysit.

Form D is public. Making it usable isn't. Raisewire does the unglamorous part once.

Deduped & canonical

One row per raise. D/A amendments fold into the original with an amendment_count, keyed on the SEC file number.

Enriched, not just relayed

Coarse sector bucket, amount_sold_pct, and is_first_raise / issuer_raise_number from the issuer's full filing history.

Real-time webhooks

A signed POST minutes after EDGAR indexes a matching raise. Server-side filters by sector, size, or fund-vs-operating so you only get what matters.

Full history & search

Filter by industry, sector, state, offering size, amount sold, amendment status, and date. Paginated, sortable, boring in the good way.

Related persons

Executives, directors, and promoters named on each filing, with roles — resolvable back to the issuer and every raise they've touched.

Honest provenance

Data is U.S. government work, public domain, freely redistributable. Every record links back to its primary_doc.xml on sec.gov.

Quickstart

A working integration in five minutes.

Grab a free key below, then:

# latest raises, funds excluded, biggest first
curl -s "https://raisewire.dev/v1/filings?exclude_funds=true&order=-total_offering_amount" \
  -H "Authorization: Bearer $RAISEWIRE_KEY" | jq '.results[0]'
import requests

r = requests.get(
    "https://raisewire.dev/v1/filings",
    params={"exclude_funds": True, "is_first_raise": True, "min_offering": 1_000_000},
    headers={"Authorization": f"Bearer {KEY}"},
)
for f in r.json()["results"]:
    print(f["issuer_name"], f["sector"], f["total_offering_amount"])
const res = await fetch(
  "https://raisewire.dev/v1/filings?exclude_funds=true&min_sold=5000000",
  { headers: { Authorization: "Bearer " + KEY } }
);
const { results } = await res.json();
console.table(results.map(f => ({ name: f.issuer_name, sold: f.total_amount_sold })));
# register once
curl -X POST "https://raisewire.dev/v1/webhooks" -H "Authorization: Bearer $RAISEWIRE_KEY" \
  -d '{"url":"https://you.example/hook","filter_exclude_funds":true,"filter_min_offering":1000000}'

# then verify each delivery (Python)
import hmac, hashlib
digest = "sha256=" + hmac.new(SECRET.encode(), request.body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(digest, request.headers["X-Raisewire-Signature"])
/v1/filings?sector=Technology&is_first_raise=true&order=-total_offering_amount First-ever raises in tech, biggest first — a clean new-company pipeline.
/v1/filings?exclude_funds=true&min_sold=5000000&filed_since=2026-09-01 Operating companies that have already closed $5M+ this month.
/v1/issuers/0001999999/filings Every raise a given issuer has ever filed, oldest to newest.

Pricing

Start free. Scale when the data earns its keep.

Free

$0
  • 500 requests / month
  • Full history & every filter
  • 1 webhook
Most popular

Starter

$49 / mo
  • 20,000 requests / month
  • 5 real-time webhooks
  • Email support

Pro

$199 / mo
  • 200,000 requests / month
  • 25 webhooks + bulk export
  • Priority support

Paid plans go live shortly. Grab a free key now — you'll be first to hear.

Questions

Where does the data come from?

Every record is parsed directly from a company's Form D primary_doc.xml on SEC EDGAR. It's U.S. government work — public domain — so you can store and redistribute it. Raisewire adds the pipeline, the dedup, the enrichment, and the uptime.

How fresh is it?

Every 15 minutes a poller runs EDGAR's full-text search for the last few days and ingests anything new or amended. EDGAR itself indexes a filing within roughly 10–30 minutes of acceptance, so a raise typically lands in Raisewire — and in your webhook — under an hour after it's filed. A nightly pass also reconciles against EDGAR's complete daily index so nothing slips through.

Why exclude funds?

About two-thirds of all Form D filings are pooled investment funds rather than operating companies. If you're tracking startups or M&A signal, exclude_funds=true removes the noise in one parameter.

Is this investment advice?

No. Raisewire is a data API. Nothing here is a recommendation to buy, sell, or hold anything.