# OpenVC Investors Scraper (`normdata/openvc-investors-scraper`) Actor

Find investors for your round: 16,000+ VCs, angel investors, accelerators and family offices from OpenVC with check size, thesis, stages, countries and how to pitch. Get partners with LinkedIn, HQ and portfolio. Filter by ticket size, stage and country.

- **URL**: https://apify.com/normdata/openvc-investors-scraper.md
- **Developed by:** [Norm Data](https://apify.com/normdata) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $21.00 / 1,000 investor with full profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

![Norm Data](https://i.ibb.co/rGbhM5Y8/Chat-GPT-Image-Sep-8-2026-02-20-50-PM.png)

## 💼 OpenVC Investors Scraper

Build startup investor lists from **OpenVC**, the open directory of more than 16,000 VC firms, angel investors, angel networks, corporate VCs, accelerators, family offices, private equity funds and startup studios. Every investor comes with its **check size** (as text and as numbers), funding stages, the countries it invests in, full investment thesis, value add, typical terms, whether it leads rounds, and how it takes pitches. Turn on full profiles to add the team with their LinkedIn, portfolio companies, headquarters with map coordinates, every office, themes and FAQs. No login, no account.

Made for founders raising a round, fundraising advisors, and anyone who sells to investors.

### 🎯 Who uses it?

#### 🚀 Founders raising a round

Get every investor that writes your check size, at your stage, in your country, and that actually leads rounds, with how each one wants to be pitched.

#### 🧭 Fundraising advisors and accelerators

Build targeted investor lists for each startup you support, with the thesis and value add to personalise every intro.

#### 📇 Sales teams selling to VCs

Reach funds by type, size and region, with the partners' names and LinkedIn from the team section.

#### 📊 Market researchers

Map who funds a sector, where they invest, and how big their checks are, across the whole directory.

### ✨ What it does

- **Investor lists:** any of the 400+ curated lists on OpenVC (by industry, stage, check size, investor type, region, US state or city) or any of the 190+ country pages, several at once, each investor returned once.
- **Specific investors:** look up funds and angels you already know, by name or by profile link. A misspelled name comes back with "did you mean" suggestions.
- **Every investor:** the whole directory, combined with your filters, to build a list no curated page offers.
- **Filters:** investor type, funding stage, countries or whole regions, your ticket size, leads rounds, how you can reach them, deck open rate, verified profiles, and words in the thesis.
- **Full profiles (optional):** who they are, headquarters with coordinates, every office, team members with role, LinkedIn and personal thesis, portfolio companies with website, investment themes, FAQs, similar investors, the lists they appear in, the company LinkedIn and their application form link.
- **Fast:** about 1,000 investors in 20 seconds as a list, or about 100 per minute with full profiles.

### Why this scraper

- **Real numbers for check size:** `$150k to $620k` becomes a minimum, a maximum and a currency, so you can sort and filter by amount.
- **Filters built for a raise:** enter your ticket size and get only the investors whose check range covers it. The others match on free text.
- **Pick from lists, not guess:** every list on the site is in a searchable dropdown, and regions such as Europe, LATAM or Southeast Asia expand to all their countries.
- **Full names, always:** long investor names are returned complete, never cut short.
- **Full profiles** with team, portfolio, offices and coordinates, which list scrapers do not reach.
- **Look up by name** with suggestions for close misses.

### How it compares

| Capability | This actor | Other OpenVC scrapers on Apify |
|---|:--:|:--:|
| Name, type, check size, stages, countries, thesis, value add, terms, lead, reply rate | yes | yes |
| Pick lists from a searchable dropdown | **yes** | free text |
| **Ticket size filter on real amounts** | **yes** | text contains |
| **Check size currency** (USD, EUR, GBP) | **yes** | USD only |
| **Regions that expand to all their countries** (Europe, LATAM, Nordics...) | **yes** | text contains |
| **Verified only, how to reach them, deck open rate and thesis word filters** | **yes** | no |
| **How the investor takes pitches** | **yes** | no |
| **Look up investors by name or link** | **yes** | no |
| **Whole directory mode** | **yes** | no |
| **Team with LinkedIn, portfolio, offices, HQ coordinates, themes, FAQs** | **yes** | no |
| **Themes grouped into clean categories** | **yes** | no |
| Investor logo and ID | yes | no |

### 📦 What data you get

#### Every investor (20 fields)

| Field | What it is |
| --- | --- |
| `name` | Investor name, always complete. |
| `logoUrl` | Investor logo. |
| `investorType` | VC firm, Angel, Angel network, Corporate VC, Incubator & Accelerator, Family office, PE firm, Startup studio, and more. |
| `verified` | True when the investor manages its own OpenVC profile. |
| `thesis` | Full investment thesis: what they invest in. |
| `valueAdd` | How they help the startups they back. |
| `typicalTerms` | Their usual deal terms, when they publish them. |
| `checkSize` | First check as published, for example `$150k to $620k`. |
| `checkSizeMin` | Smallest first check, as a number. |
| `checkSizeMax` | Largest first check, as a number. |
| `checkSizeCurrency` | USD, EUR or GBP. |
| `leadsRounds` | Always, Sometimes or Never. |
| `replyRate` | Share of the decks they receive that they open, when they publish it. |
| `howToPitch` | Email, Application form, Upload deck on OpenVC, or Warm intro only. |
| `list` | The list the investor was found in (not on lookups by name or link). |
| `fundingStages` | Stages they invest in: Idea or Patent, Prototype, Early Revenue, Scaling, Growth, Pre-IPO. |
| `targetCountries` | Countries they invest in. |
| `profileUrl` | Their OpenVC profile. |
| `investorId` | OpenVC's ID for the investor. |
| `scrapedAt` | When the row was collected (UTC). |

#### Added with Full profile (15 more fields)

| Field | What it is |
| --- | --- |
| `description` | Who they are, in their own words. |
| `headquarters` | Headquarters address. |
| `latitude` / `longitude` | Map position of the headquarters. |
| `teamCount` | Number of team members listed. |
| `portfolioCount` | Number of portfolio companies listed. |
| `themes` | Investment themes grouped into clean categories (B2B, fintech, AI, climate and so on). |
| `locations` | Every office, with the headquarters marked. |
| `team` | Team members with name, role, LinkedIn, personal thesis, profile link and photo. |
| `portfolio` | Portfolio companies with name, website and logo. |
| `faqs` | Their answers to common founder questions (ownership target, due diligence and more). |
| `similarInvestors` | Similar investors with name, type, verified flag and profile link. |
| `featuredInLists` | The OpenVC lists the investor appears in. |
| `linkedinUrl` | The investor's company LinkedIn. |
| `dealFlowUrl` | Direct link to their pitch or application form, when they have one. |

Full profile fields appear only when Full profile is on, so a fast run has no empty columns. A name that is not found comes back as a row with `input`, `suggestions` (closest matches) and `error`; the `error` field only exists on those rows. Download your dataset from Apify as CSV, JSON, Excel, or XML.

### 💡 Use cases

#### 🚀 Seed investors in the UK that lead and can write a $500k ticket

```json
{ "mode": "lists", "lists": ["seed-investors"], "geographies": ["UK"], "leads": "leads", "ticketSize": "500000", "maxItems": 200 }
```

#### 🌎 Every angel network investing in Latin America

```json
{ "mode": "all", "investorTypes": ["angel"], "geographies": ["region:LATAM"] }
```

#### 🌱 Climate investors whose range covers a $250k ticket, with full profiles

```json
{ "mode": "lists", "lists": ["climate-tech-investors"], "ticketSize": "250000", "includeProfile": true, "maxItems": 50 }
```

#### 🔎 Enrich investors you already know

```json
{ "mode": "funds", "funds": ["Antler", "Y Combinator", "https://www.openvc.app/fund/Haatch"] }
```

#### 📧 Investors that take pitches by email, verified profiles only

```json
{ "mode": "lists", "lists": ["ai-investors", "saas-investors"], "pitchMethods": ["Email"], "verifiedOnly": true }
```

### ⚙️ How the input is organised

| Section | What it's for |
| --- | --- |
| **1 · What do you want?** | Investors from lists, investors you already know, or the whole directory. |
| **2 · Where to get them from** | The lists to read, or the names and links to look up. Fill in only the field for your choice. |
| **3 · How much to collect** | Maximum investors. It is 10 (prefilled) so a first run is a quick sample; clear it to collect every match. |
| **4 · What to include** | Full profile: team, portfolio, offices, coordinates, themes and more. |
| **5 · Filters (optional)** | Type, stage, country or region, your ticket size, leads rounds, how you can reach them, verified only, thesis words, decks opened. |

> **Apify Free plan:** every run is limited to a fixed 10 investor sample with full profiles. Upgrade your Apify plan to run your own settings.

### ❓ FAQ

**How fast is it?**
As a list, about 1,000 investors in 20 seconds. With full profiles, about 100 investors per minute, so 1,000 take around five minutes.

**How is the check size turned into numbers?**
`$150k to $620k` becomes `checkSizeMin` 150000, `checkSizeMax` 620000 and `checkSizeCurrency` USD. Euro and pound amounts keep their own currency. An investor that publishes no check size has these fields empty.

**How does the ticket size filter work?**
Pick the amount you want from one investor. You get the investors whose first check range includes it: an investor writing `$100k to $1M` matches a $250k ticket, one writing `$1M to $5M` does not.

**What does "leads rounds" mean?**
Each investor says whether it leads rounds always, sometimes or never. "Always or sometimes leads" keeps both, "Always leads" keeps only always.

**Why do only a few investors have a deck open rate?**
Only some investors publish it, so the filter keeps a small share of any list.

**What happens with a name that is not found?**
It gets its own row with the `error` field and up to three close matches in `suggestions`, and it is not charged. The `error` field only exists on rows like this one.

**What are themes?**
The investment areas an investor lists, grouped into clean categories, so `b to b`, `business to business` and `B2B` come back once as `B2B`.

**Why are some columns only there sometimes?**
Full profile columns (team, portfolio, offices, coordinates, themes and more) appear only when Full profile is on, so a fast list has no empty columns.

### 🛡️ Limits & responsible use

This Actor reads only public OpenVC pages. It never signs in and never contacts investors. Contact details that OpenVC shows only to signed in members (personal emails, social profiles of the fund) are not included.

Team members are published by the investors themselves on their public profile. Use the data for relevant fundraising and business purposes, and respect applicable privacy and anti-spam rules when you reach out.

### 📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

### Local development

```bash
npm install
npm run typecheck
npm run test:matrix
npm run test:fields
npm run dev
```

# Changelog

This Actor's version history is a separate document: https://apify.com/normdata/openvc-investors-scraper/changelog.md

# Actor input Schema

## `mode` (type: `string`):

**Investors from lists:** every investor in one or more OpenVC lists, such as AI investors, seed investors, angel investors in France or investors in London.

**Investors I already know:** look up funds and angels by name or profile link, to get their details.

**The whole directory:** all 16,000+ investors, narrowed down with the filters in section 5. Use it to build a list no ready made list offers.

## `lists` (type: `array`):

Pick one or more lists. Start typing to search: AI, fintech, climate, pre-seed, seed, angel investors, a country, a city. An investor that appears in several lists comes back once.

## `listUrls` (type: `array`):

Optional. A list link from OpenVC, like `https://www.openvc.app/investor-lists/fintech-investors`, or just a topic like `fintech`.

## `funds` (type: `array`):

One per line: a name (`Antler`, `Y Combinator`) or a profile link (`https://www.openvc.app/fund/Haatch`). A name that is not found comes back with the closest matches.

## `maxItems` (type: `integer`):

Stop once this many investors are in the dataset. Leave empty to get every match. *(Free plan: always a 10 investor sample.)*

## `includeProfile` (type: `boolean`):

Adds who they are, headquarters with map coordinates, offices, team members with LinkedIn, portfolio companies, investment themes, FAQs, similar investors, the lists they appear in, their company LinkedIn and application form. About 100 investors per minute. Turn it off for a fast list: about 1,000 investors in 20 seconds.

## `investorTypes` (type: `array`):

VC firms, angels, corporate VCs, accelerators and more.

## `stages` (type: `array`):

Keep investors that invest in at least one of these stages.

## `geographies` (type: `array`):

Keep investors that invest in at least one of these places. A region such as Europe or LATAM covers all its countries.

## `ticketSize` (type: `string`):

The amount you want from one investor. Keeps investors whose first check range includes it.

## `leads` (type: `string`):

Whether the investor takes the lead in a round.

## `pitchMethods` (type: `array`):

Keep investors that accept pitches this way.

## `verifiedOnly` (type: `boolean`):

Keep only investors who manage their own OpenVC profile, so the details come from them.

## `keywords` (type: `array`):

Keep investors whose thesis, value add or terms mention one of these words, like `climate`, `B2B SaaS`, `female founders`. Whole words only.

## `minReplyRate` (type: `string`):

Keep investors that open at least this share of the decks they receive. Few investors publish it, so this keeps few rows.

## Actor input object example

```json
{
  "mode": "lists",
  "lists": [
    "ai-investors"
  ],
  "listUrls": [
    "https://www.openvc.app/investor-lists/fintech-investors",
    "saas"
  ],
  "funds": [
    "Haatch",
    "https://www.openvc.app/fund/Antler"
  ],
  "maxItems": 10,
  "includeProfile": true,
  "ticketSize": "any",
  "leads": "any",
  "verifiedOnly": false,
  "keywords": [
    "climate",
    "B2B SaaS"
  ],
  "minReplyRate": "any"
}
```

# Actor output Schema

## `results` (type: `string`):

One row per investor.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "lists",
    "lists": [
        "ai-investors"
    ],
    "maxItems": 10,
    "includeProfile": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("normdata/openvc-investors-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "lists",
    "lists": ["ai-investors"],
    "maxItems": 10,
    "includeProfile": True,
}

# Run the Actor and wait for it to finish
run = client.actor("normdata/openvc-investors-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "lists",
  "lists": [
    "ai-investors"
  ],
  "maxItems": 10,
  "includeProfile": true
}' |
apify call normdata/openvc-investors-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,normdata/openvc-investors-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ZqeWVzUrHphOMBW7k/builds/3s3kINtY3Q271miSp/openapi.json
