WeFunder Company Search API and MCP — Campaigns, Raise Progress, Investors, Valuation
Send filters, or none, and get WeFunder campaigns back as a list: name, tagline, location, raise progress, investor counts, valuation terms, founder and a link. Filter by status (fundraising or funded), instrument (equity, SAFE, revenue share or convertible debt), industries and highlights; sort by trending; and cap results with max_items (up to 250).
- You send
- optional filters (status, instrument, industries, highlights, sort) and how many results to return
- You get back
- WeFunder campaigns with name, tagline, raise progress, investors, valuation terms, founder and link
- Coverage
- WeFunder records with a public page.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| WeFunder directly | Type the query into WeFunder and read the results | Free, and slow | Fine for one record, useless across a list, and the layout differs on every platform |
| Building a scraper | Write it, host it, and repair it when WeFunder changes its pages | Engineering time | A maintenance commitment for something that isn't your product |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Returns what WeFunder publishes at request time. Other platforms are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Id of this run, for tracing. |
kind | string | Source type of the response. |
max_items | number | The cap you sent on returned records. |
start_page | number | Page the run started from. |
partial | boolean | Whether the run stopped before reaching everything that matched. |
human | string | Readable summary of the run. |
total_points | number | Points charged for the run: 1 per returned record. |
machine.total_items | number | Number of records returned in this response. |
machine.total_found | number | Total matches the platform reports for the request (5159 in the sample), which can be larger than what you asked to return. |
machine.page_count | number | Pages read for the run. |
machine.first_item | object | The first returned record, repeated from items[]. Fields below are described on items[]. |
machine.blocked | boolean | Whether the platform refused the request. |
machine.proxy_traffic_bytes | number | Size of the data transferred for the run, in bytes. |
machine.items[].id | string | Company slug. |
machine.items[].name | string | Company name. |
machine.items[].url | string | Link to the company page. |
machine.items[].company_id | number | Numeric company id. |
machine.items[].alias | string | The company slug. |
machine.items[].legal_name | string | Legal name of the company. |
machine.items[].tagline | string | One-line tagline. |
machine.items[].description | null | Empty in the sample. |
machine.items[].fact | string | A headline fact the company lists. |
machine.items[].image | string | Logo image link. |
machine.items[].cover_image | null | Empty in the sample. |
machine.items[].card_image | null | Empty in the sample. |
machine.items[].video_url | null | Empty in the sample. |
machine.items[].region | null | Empty in the sample. |
machine.items[].city | string | City as the platform lists it. |
machine.items[].state | string | State or region as listed. |
machine.items[].country | string | Country field as listed; in the sample it holds a place name rather than a country. |
machine.items[].geo_lat | number | Latitude. |
machine.items[].geo_lng | number | Longitude. |
machine.items[].currency | string | Currency of the raise. |
machine.items[].security_type | null | Empty in the sample. |
machine.items[].status | null | Empty in the sample. |
machine.items[].status_tier | number | Status tier value the platform returns. |
machine.items[].label | null | Empty in the sample. |
machine.items[].is_fund | boolean | Whether the listing is a fund. |
machine.items[].follower_count | number | Followers of the company. |
machine.items[].pre_money_valuation | null | Empty in the sample; the valuation when the campaign states one. |
machine.items[].early_bird_valuation | null | Empty in the sample. |
machine.items[].valuation_terms | null | Empty in the sample. |
machine.items[].total_raised_this_campaign | number | Amount raised in the current campaign. |
machine.items[].total_investor_count_this_campaign | number | Investors in the current campaign. |
machine.items[].funding_amount | number | Funding amount for the campaign. |
machine.items[].percent_funded | number | Percent of the goal funded. |
machine.items[].past_funding | number | Amount raised in earlier campaigns. |
machine.items[].annual_revenue | null | Empty in the sample. |
machine.items[].cash_in_bank | null | Empty in the sample. |
machine.items[].investor_count | number | Investor count. |
machine.items[].age_in_months | number | Age of the company in months. |
machine.items[].funding_amount_past_week | number | Funding raised in the past week. |
machine.items[].funding_amount_past_month | number | Funding raised in the past month. |
machine.items[].quality_score | number | Quality score the platform returns. |
machine.items[].fundraise_host | string | Entity hosting the raise. |
machine.items[].created_at | string | When the listing was created. |
machine.items[].funding_started_at | null | Empty in the sample. |
machine.items[].funding_closed_at | string | When funding closed, as the platform gives it. |
machine.items[].funding_closing_at | null | Empty in the sample. |
machine.items[].founder | object | Founder as listed: name, title, bio and image. |
machine.items[].industries[] | array | Industry tags; empty in the sample. |
machine.items[].tags[] | array | Highlight tags such as technology and infrastructure. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "wefunder_companies_search",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# WeFunder — companies\n\n- **Query:** all\n- **Results:** 2 of 5159 found\n- **Proxy traffic:** 108.9 KB",
"machine": {
"total_items": 2,
"first_item": {
"id": "choicetrade",
"name": "ChoiceTrade Holdings",
"url": "https://wefunder.com/choicetrade",
"company_id": 29841,
"alias": "choicetrade",
"legal_name": "ChoiceTrade Holdings, Inc.",
"tagline": "Implementing new technologies in the digital financial universe",
"description": null,
"fact": "First online broker to have private startup and crypto, secondary market for shareholders of startup companies, and Robo Trading technologies on one platform.",
"image": "https://uploads.wefunder.com/uploads/company/logo/29841/xxl_cropped_Logo.jpg",
"cover_image": null,
"card_image": null,
"video_url": null,
"region": null,
"city": "San Juan",
"state": "San Juan",
"country": "San Juan",
"geo_lat": 18.465299,
"geo_lng": -66.116666,
"currency": "USD",
"security_type": null,
"status": null,
"status_tier": 2,
"label": null,
"is_fund": false,
"follower_count": 315,
"pre_money_valuation": null,
"early_bird_valuation": null,
"valuation_terms": null,
"total_raised_this_campaign": 0,
"total_investor_count_this_campaign": 0,
"funding_amount": 0,
"percent_funded": 0,
"past_funding": 414545,
"annual_revenue": null,
"cash_in_bank": null,
"investor_count": 0,
"age_in_months": 125,
"funding_amount_past_week": 0,
"funding_amount_past_month": 0,
"quality_score": 14.93303674182471,
"fundraise_host": "Wefunder Portal LLC",
"created_at": "2018-09-06T16:31:53.000Z",
"funding_started_at": null,
"funding_closed_at": "2106-02-07T06:28:16.000Z",
"funding_closing_at": null,
"founder": {
"name": "Neville Golvala",
"title": "CEO",
"bio": "20+ years in Fintech. Managing Dir., Nat'l Discount Brokers. Grew from $100M to $1B during tenure.",
"image": "https://uploads.wefunder.com/uploads/company_role/custom_photo/324850/square_cropped_ct-icon-RGB-LG.jpg?1688061032"
},
"industries": [],
"tags": [
"technology",
"infrastructure"
]
},
"items": [
{
"id": "choicetrade",
"name": "ChoiceTrade Holdings",
"url": "https://wefunder.com/choicetrade",
"company_id": 29841,
"alias": "choicetrade",
"legal_name": "ChoiceTrade Holdings, Inc.",
"tagline": "Implementing new technologies in the digital financial universe",
"description": null,
"fact": "First online broker to have private startup and crypto, secondary market for shareholders of startup companies, and Robo Trading technologies on one platform.",
"image": "https://uploads.wefunder.com/uploads/company/logo/29841/xxl_cropped_Logo.jpg",
"cover_image": null,
"card_image": null,
"video_url": null,
"region": null,
"city": "San Juan",
"state": "San Juan",
"country": "San Juan",
"geo_lat": 18.465299,
"geo_lng": -66.116666,
"currency": "USD",
"security_type": null,
"status": null,
"status_tier": 2,
"label": null,
"is_fund": false,
"follower_count": 315,
"pre_money_valuation": null,
"early_bird_valuation": null,
"valuation_terms": null,
"total_raised_this_campaign": 0,
"total_investor_count_this_campaign": 0,
"funding_amount": 0,
"percent_funded": 0,
"past_funding": 414545,
"annual_revenue": null,
"cash_in_bank": null,
"investor_count": 0,
"age_in_months": 125,
"funding_amount_past_week": 0,
"funding_amount_past_month": 0,
"quality_score": 14.93303674182471,
"fundraise_host": "Wefunder Portal LLC",
"created_at": "2018-09-06T16:31:53.000Z",
"funding_started_at": null,
"funding_closed_at": "2106-02-07T06:28:16.000Z",
"funding_closing_at": null,
"founder": {
"name": "Neville Golvala",
"title": "CEO",
"bio": "20+ years in Fintech. Managing Dir., Nat'l Discount Brokers. Grew from $100M to $1B during tenure.",
"image": "https://uploads.wefunder.com/uploads/company_role/custom_photo/324850/square_cropped_ct-icon-RGB-LG.jpg?1688061032"
},
"industries": [],
"tags": [
"technology",
"infrastructure"
]
},
{
"id": "airthium",
"name": "Airthium (YC S17)",
"url": "https://wefunder.com/airthium",
"company_id": 64712,
"alias": "airthium",
"legal_name": "Airthium Inc.",
"tagline": "Every product you own was made with heat. We’re making that heat electric",
"description": null,
"fact": "$6.5M+ raised from Y Combinator, DCVC, Daphni VC, Polytechnique Ventures & 2000+ retail investors",
"image": "https://uploads.wefunder.com/uploads/company/logo/64712/xxl_avatar.jpg",
"cover_image": null,
"card_image": null,
"video_url": "https://dcd73ta2suabk.cloudfront.net/12hkbbinokybxzlq4mblpzyojbrj",
"region": null,
"city": "Bee Cave",
"state": "TX",
"country": "United States",
"geo_lat": 30.3089,
"geo_lng": -97.94018,
"currency": "USD",
"security_type": "equity",
"status": "fundraising",
"status_tier": 0,
"label": null,
"is_fund": false,
"follower_count": 2763,
"pre_money_valuation": "$25M",
"early_bird_valuation": "$21M",
"valuation_terms": "post-money valuation cap",
"total_raised_this_campaign": 465641,
"total_investor_count_this_campaign": 379,
"funding_amount": 465641,
"percent_funded": 45,
"past_funding": 9652477,
"annual_revenue": 1519556,
"cash_in_bank": 677715,
"investor_count": 2760,
"age_in_months": 114,
"funding_amount_past_week": 13700,
"funding_amount_past_month": 42492,
"quality_score": 14.73784815894411,
"fundraise_host": "Wefunder Portal LLC",
"created_at": "2020-07-17T12:19:39.000Z",
"funding_started_at": "2026-06-10T21:36:01.000Z",
"funding_closed_at": "2026-11-21T04:59:59.000Z",
"funding_closing_at": null,
"founder": {
"name": "Andrei Klochko",
"title": "Co-Founder, CEO & CSO",
"bio": "Creator of the engine at the core of Airthium’s technology. PhD in plasma physics. Mechanical engineering from École Polytechnique. Designed the proprietary compression cycle that no competitor has re",
"image": "https://uploads.wefunder.com/uploads/company_role/custom_photo/3663735/square_avatar.jpg?1772480699"
},
"industries": [
"hardware",
"clean_tech"
],
"tags": [
"technology",
"hardware"
]
}
],
"total_found": 5159,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 111557
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged. max_items caps how many records are returned and billed.
curl -X POST https://api.neuralverge.ai/functions/v1/run-wefunder-companies-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
List open campaigns by instrument or industry tag and screen them on raise progress and valuation terms.
Track which companies are raising, how much they have raised and how many investors joined.
Find campaigns in a sector and compare founders, locations and funding to date.
Collect company names, links and founders from campaigns in a segment.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
WeFunder records with a public page.
Read at request time, so the answer reflects the platform as it stands when you ask.
This source returns information WeFunder shows publicly. Every response carries the session id you can trace.
- —Many fields are null in the sample, including valuation terms and status; the company source returns the detailed current round.
- —Location and date fields are returned as the platform lists them and are not normalised.
- —Listings and figures come from the platform's own pages; nothing here is investment advice or a rating of any campaign.
Questions, answered
status (fundraising or funded), security (equity, safe, revenue_share or debt), industries and highlights as comma-separated values, and sort (trending). All are optional.
Related sources
Try wefunder company search on your own data
One request format across every source in the catalog.