Business data
Equity Crowdfunding Leads Scraper
Collapse the three biggest US equity-crowdfunding platforms — Wefunder, Republic and StartEngine — into one flat founder-lead dataset: company, tagline, founder names, region, target and raised USD, investor count, pre-money valuation and derived funding stage. Wefunder alone lists thousands of currently-raising companies, and today a buyer has to hand-visit three sites with no shared schema.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
Three equity-crowdfunding platforms, one schema. This Wefunder scraper — and the Republic and StartEngine scrapers bundled alongside it — collapses three separate platforms into a single normalized equity crowdfunding leads dataset:
1. Wefunder — wefunder.com (primary source; full founder + tagline + raise progress + valuation payload via the internal JSON API the Wefunder SPA itself calls) 2. Republic — republic.com (secondary; slug + company name from trending carousel + JSON-LD breadcrumb) 3. StartEngine — startengine.com (secondary; slug + company name from offering sitemap; financials nullable in v1 — detail pages are JS-gated)
What we handle for you
- Three platforms, one schema — drop straight into your CRM, spreadsheet, or BI tool with no per-source normalization.
- Wefunder primary path — full founder + tagline + raise progress + valuation per row via the internal JSON API the Wefunder SPA itself calls.
- Pre-money valuation parsing — Wefunder's
$62.1M-style shorthand auto-converted to a numeric USD float. - Per-source isolation — one source going down does not abort the run; the remaining sources still produce data and stream results.
- Pydantic v2 validation — both input and dataset rows are model-validated; invalid input fails fast with a clear error before any network call.
- Filter knobs — restrict by source list, funding status (active / funded / all), industry substring, or hard row cap per source.
- Exponential backoff on
429/503withRetry-Afterhonored; up to 5 attempts per page. - We rotate browser fingerprints — curl-cffi impersonation (Chrome 131 / Chrome 124 / Firefox 147) so the platforms see real-browser TLS handshakes, not Python.
- We rotate residential proxies through Apify Proxy on every block — fresh session ID, fresh exit IP.
- You pay only for results that land. No data pushed to the dataset means no result-row charges.
Use cases
- VC scout pipelines — schedule weekly runs, enrich with LinkedIn lookups on
founders[], build a "first dollar in" tracker for sub-seed deals currently raising on Wefunder. - SDR founder outreach — filter by
industrysubstring (e.g."fintech","climate","AI"), drop founders into your email tool, reach them before a Series A bump. - Competitive intelligence — track which sectors are over-raising vs under-raising quarter-over-quarter; spot whitespace before incumbents do.
- Crowdfunding leaderboards — publish a public site ranking the fastest-growing campaigns this week; update daily on a scheduled run.
- Cap-table benchmarks — pre-money valuation distribution by sector at the Reg CF stage, cleanly covered by Wefunder's
terms.nbfield. - Form C deep dives — pair this Actor with
sec-edgar-filings-scraperto follow the slug from Wefunder back to the canonical Form C / Form C-AR PDF on EDGAR for revenue, expense, and SAFE term extraction. - Equity crowdfunding data API replacement — no Crunchbase contract, no manual exports. One Apify run returns the same structured equity crowdfunding data an API subscription would, on pay-per-result pricing with no contract.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
sources | array | no | List of platforms to scrape. Valid values: wefunder, republic, startengine. Leave empty to scrape all three (order: wefunder, republic, startengine). |
maxPerSource | integer | no | Hard cap on the number of rows returned per source. Default 50; range 1..500. |
statusFilter | string | no | Wefunder mapping: active=status_fundraising, funded=status_funded, all=no tag filter. Republic and StartEngine emit only currently-listed slugs (status filter is informational on those sources). |
industryFilter | string | no | Optional case-insensitive substring filter applied over each row's tagline or industry. Rows where neither field contains the substring are dropped. Leave empty to disable. |
useProxy | boolean | no | Route requests through Apify Proxy (BUYPROXIES94952). Recommended — Wefunder and Republic fingerprint datacenter IPs and may block plain exits. |
{
"sources": [],
"maxPerSource": 50,
"statusFilter": "active",
"useProxy": true
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
sourcecampaign_slugcompany_nametaglineindustrylocationfounderswebsite_urltarget_amount_usdraised_amount_usdnum_investorsvaluation_usdrevenue_usdfunding_stagecampaign_urlscraped_at
{
"source": "wefunder",
"campaign_slug": "riserobotics",
"company_name": "RISE Robotics",
"tagline": "Electrifying heavy machines",
"industry": null,
"location": "MA",
"founders": [
"Hiten Sonpal"
],
"website_url": null,
"target_amount_usd": null,
"raised_amount_usd": 17448682.0,
"num_investors": 417,
"valuation_usd": 62100000.0,
"revenue_usd": null,
"funding_stage": "raising",
"campaign_url": "https://wefunder.com/riserobotics",
"scraped_at": "2026-05-16T13:40:00.000Z"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Campaign row | $0.0050 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
Limitations
- StartEngine detail pages are JavaScript-gated. v1 emits one row per offering slug from the public
sitemap-private-offerings.xmlwith name derived from the slug; live raise progress, valuation, and investor count stay nullable on this source. A v2 Camoufox-backed full-render path is planned. - Republic financials are client-rendered. v1 surfaces ~10 trending campaign slugs per run from the SSR shell with company name from the JSON-LD breadcrumb. Raised amount, valuation, and investor count are out of reach without a real browser.
- Wefunder is the data-rich source. Run Wefunder-only (
sources: ["wefunder"]) when you need the most fields per row. - Authoritative campaign data only. No SEC EDGAR Form C parsing (use
sec-edgar-filings-scraper), no investor identity scraping (privacy), no comment threads or campaign updates. - 7-day default-storage retention on the Apify free plan. Schedule runs and export to your own storage for time-series tracking.
- No historical tracking. Every run is a fresh snapshot. Pipeline runs into BigQuery / S3 / Snowflake to build deltas.
FAQ
Is there a Wefunder API I can use instead?
/-/companies/explore — which returns the full founder + raise progress + valuation payload. We handle the session management, fingerprint rotation, and retry logic so you get clean structured rows without reverse-engineering anything yourself.Does this work as a Republic startups scraper and a StartEngine scraper too?
Can I use this as an equity crowdfunding data API?
What is the Wefunder API address and how does the valuation field work?
https://wefunder.com/-/companies/explore (paginated). Wefunder encodes pre-money valuation as dollar-shorthand text ("$62.1M", "$700K", "$1.2B") in the terms.nb field. This Actor parses that shorthand into a numeric USD float in valuation_usd. Malformed values emit null rather than crashing.What about the Republic.com API and StartEngine API?
Why only these three platforms?
Does this Actor track valuation changes across runs?
Companion Actor?
sec-edgar-filings-scraper is the natural follow-up for any campaign you want a deep dive on. Take the slug from this Actor, look up the issuer's CIK on EDGAR, and parse the Form C / Form C-AR PDFs for revenue, expense, share count, and SAFE-term detail.Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors