Home / Guides / Capital raising
Capital raising

Analyze Form C crowdfunding offerings

Pull every new Regulation Crowdfunding offering filed in a month and summarize targets, maximums, security types and funding portals.

Companies raising money under Regulation Crowdfunding file Form C before the offering starts. The form is structured XML: the issuer, the intermediary (a registered funding portal or broker-dealer), the security offered, the target amount, the maximum amount and the deadline, plus summary financials. /v1/form-c returns each filing with that XML as JSON under data.

This tutorial collects the original Form C filings for September 2026 and summarizes them.

Form types in the family

/v1/form-c covers the whole family. Pass formType to narrow it:

formTypeMeaning
CA new offering
C/AAmendment to an offering
C-UProgress update
C-ARAnnual report after the offering
C-TRTermination of reporting

The code

import os
from collections import Counter

import requests

BASE = "https://secfeedapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"}

offerings, start = [], 0
while True:
    r = requests.get(f"{BASE}/v1/form-c", headers=HEADERS, timeout=120, params={
        "formType": "C", "startDate": "2026-09-01", "endDate": "2026-09-30", "size": 100, "from": start})
    r.raise_for_status()
    page = r.json()["filings"]
    offerings += page
    if len(page) < 100:
        break
    start += 100
print(len(offerings), "new Form C offerings filed in September 2026")

def security_type(off):
    s = off.get("securityOfferedOtherDesc") or off.get("securityOfferedType") or ""
    return "SAFE" if "safe" in s.lower() or "simple agreement" in s.lower() else s  # issuers spell SAFE many ways


rows = []
for f in offerings:
    fd = f["data"]["primary_doc"]["formData"]
    off = fd.get("offeringInformation") or {}
    iss = fd.get("issuerInformation") or {}
    rows.append({
        "issuer": f["companyName"],
        "portal": (iss.get("companyName") or "").strip(),
        "security": security_type(off),
        "target": float(off.get("offeringAmount") or 0),
        "max": float(off.get("maximumOfferingAmount") or 0),
        "deadline": off.get("deadlineDate", ""),
    })

targets = sorted(r["target"] for r in rows if r["target"])
print(f"median target ${targets[len(targets) // 2]:,.0f}, median maximum ${sorted(r['max'] for r in rows)[len(rows) // 2]:,.0f}")
print("\nSecurity types:")
for kind, n in Counter(r["security"] for r in rows).most_common(6):
    print(f"{n:4}  {kind}")
print("\nIntermediaries (funding portals and broker-dealers):")
for portal, n in Counter(r["portal"] for r in rows if r["portal"]).most_common(8):
    print(f"{n:4}  {portal}")
print("\nLargest maximum raises:")
for r in sorted(rows, key=lambda r: -r["max"])[:8]:
    print(f"${r['max']:>12,.0f}  {r['issuer'][:40]:40}  {r['security'][:34]}")

The fields used come straight from the filing: formData.offeringInformation holds offeringAmount (the target), maximumOfferingAmount, securityOfferedType and deadlineDate. The intermediary's name is in formData.issuerInformation.companyName. Issuers describe SAFEs in many ways ("SAFE", "Simple Agreement for Future Equity (SAFE)"), so the script groups them under one label.

Output

Run on 2026-10-13. The 48 filings match the count of formType:"C" filings for September 2026 in the filing index.

48 new Form C offerings filed in September 2026
median target $50,000, median maximum $1,229,999

Security types:
  12  SAFE
   8  Common Stock
   5  Debt
   2  Class B Non-Voting Common Stock
   2  Class B Common Stock
   2  Preferred Stock

Intermediaries (funding portals and broker-dealers):
  15  Wefunder Portal LLC
   9  StartEngine Primary, LLC
   7  DEALMAKER SECURITIES LLC
   4  OpenDeal Portal LLC
   2  Honeycomb Portal LLC
   2  PicMii Crowdfunding LLC
   1  ALAO Invest LLC
   1  ANDES CAPITAL GROUP, LLC

Largest maximum raises:
$   5,000,000  String Cubed Inc                          Class B Non-Voting Common Stock
$   5,000,000  Fortune Nickel & Gold Inc                 Common Stock
$   5,000,000  Brax Technlogies PBC                      Class B Non-Voting Common Stock
$   5,000,000  Sherpa Healthy Inc.                       SAFE
$   4,999,993  Infinity Fuel Cell & Hydrogen, Inc.       Class C Non-Voting Common Stock
$   4,973,010  POWERLINK DIGITAL PARTNERS I, INC.        Common Stock
$   4,834,820  Cybr International, Inc                   Class B Common Stock
$   4,300,000  Shark Wheel, Inc.                         Convertible Note

Reading the result

  • The median target is small ($50,000) while the median maximum is over $1.2 million. Issuers set a low minimum to close and accept oversubscriptions up to the maximum.
  • $5,000,000 is the Regulation Crowdfunding cap for a 12 month period, which is why several offerings sit exactly at it.
  • Wefunder and StartEngine together handled half of the month's new offerings.

Variations

  • Track progress: fetch C-U filings for the same issuers to see which offerings reached their target.
  • Financial screen: annualReportDisclosureRequirements has revenue, assets, cash and debt for the two most recent fiscal years.
  • Lighter responses: add fields=flat once flat fields are filled for the family, or keep only the keys you need client side.

Next steps

More capital raising guides

Run this guide with your own key

500 free API calls a month. Every example on this page works on the free plan.

Get free API key →