# Signal NFX Scraper — VC & Angel Investor Data (`jungle_synthesizer/signal-nfx-startup-investors-scraper`) Actor

Extract VC and angel investor profiles from Signal NFX. Get firm data with investment stage focus, sector preferences, check sizes, AUM, portfolio companies, and fund details. Optionally include individual partner profiles. Filter by stage, sector, investor type, and location.

- **URL**: https://apify.com/jungle\_synthesizer/signal-nfx-startup-investors-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Lead generation, Business, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Startup Investors Scraper — VC & Angel Investor Data from Signal NFX

Extract venture capital and angel investor profiles from [Signal NFX](https://signal.nfx.com/), a free public investor directory. Get structured data on individual investors including their firm, investment focus, check sizes, sector and stage preferences, location, investment thesis, LinkedIn, Twitter, and fund details.

### What it scrapes

- **Investor profile**: name, headline, current firm, role/title
- **Investment focus**: stage focus (Pre-Seed → Growth), sector focus (SaaS, FinTech, AI, etc.)
- **Check size range**: minimum and maximum investment amounts
- **Contact details**: LinkedIn URL, Twitter/X handle
- **Firm data**: firm name, current fund size
- **Location**: city and state/country of the investor

### Use cases

- **Fundraising targeting**: Build targeted investor lists for your startup fundraising round
- **LP research**: Identify active VCs and angel investors in a specific sector or stage
- **Market intelligence**: Map the VC landscape by sector, stage, geography
- **CRM enrichment**: Enrich existing investor lists with structured data
- **Competitor analysis**: Understand who is funding companies in your space

### Input

| Parameter | Description | Default |
|-----------|-------------|---------|
| `searchUrls` | Specific Signal NFX investor profile URLs to scrape. When provided, bypasses discovery. | (auto-discover) |
| `stageFocus` | Filter by investment stage: Pre-Seed, Seed, Series A, B, C, Growth, Late Stage | All Stages |
| `sectorFocus` | Filter by sector: SaaS, FinTech, HealthTech, AI, Marketplace, etc. | All Sectors |
| `investorType` | Filter by type: VC, Angel, PE, Accelerator, Family Office, CVC | All Types |
| `location` | Filter by location string (e.g. "San Francisco", "New York", "London") | (all) |
| `maxItems` | Maximum number of investor profiles to return. Set to 0 for unlimited. | 10 |

### Output

Each record represents one investor profile:

```json
{
  "firm_name": "NFX",
  "firm_url": "https://signal.nfx.com/investors/james-currier",
  "firm_website": "https://nfx.com/team/james-currier/",
  "firm_type": "VC",
  "firm_stage_focus": "pre-seed, seed",
  "firm_sector_focus": "saas, ai, marketplace",
  "firm_location": "Palo Alto, California",
  "firm_description": "Companies in the SF Bay Area. Anything with network effects. Consumer, crypto, fintech, connected devices.",
  "check_size_min": 500000,
  "check_size_max": 4000000,
  "investor_name": "James Currier",
  "investor_title": "Managing Partner at NFX",
  "investor_linkedin": "https://www.linkedin.com/in/jamescurrier/",
  "investor_twitter": "http://www.twitter.com/JamesCurrier",
  "fund_size": "$450M"
}
````

Fields not available in Signal NFX's public profile pages are returned as `null`.

### How it works

Signal NFX renders investor data server-side and embeds it as JSON in `window.__APOLLO_STATE__`. This scraper:

1. Discovers investor category lists from `/investor-lists`
2. Extracts individual investor profile links from each category page
3. Parses the embedded Apollo state JSON on each profile page

No authentication required. Signal NFX allows programmatic access for public profile data.

### Rate limiting

Signal NFX specifies a `crawl-delay: 8` in their robots.txt. The scraper respects this with low concurrency (2 simultaneous requests) to avoid rate limits and ensure long-term reliability.

### Limitations

- **No portfolio companies list**: Signal NFX does not include a full portfolio list in the public profile HTML
- **No AUM field**: Assets under management are not available in public profiles
- **Email not included**: Contact emails are not publicly listed on Signal NFX
- **Fund vintage year not available**: Vintage year is not in the public SSR data

For a full-coverage investor database including portfolio data, pair this actor with Crunchbase scrapers.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `stageFocus` (type: `string`):

Filter by investment stage focus (e.g. seed, series-a).

## `sectorFocus` (type: `string`):

Filter by investment sector.

## `investorType` (type: `string`):

Filter by type of investor.

## `location` (type: `string`):

Filter by investor location (e.g. "San Francisco", "New York", "London").

## `includeContacts` (type: `boolean`):

Extract individual partner/investor profiles with contact information. May increase run time.

## `searchUrls` (type: `array`):

Specific Signal NFX investor profile URLs to scrape. Bypasses search when provided.

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

Maximum number of investor firms to return. Set to 0 for unlimited.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "includeContacts": false,
  "searchUrls": [
    {
      "url": "https://signal.nfx.com/investors/james-currier"
    }
  ],
  "maxItems": 10
}
```

# Actor output Schema

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

No description

# 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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "stageFocus": "",
    "sectorFocus": "",
    "investorType": "",
    "location": "",
    "includeContacts": false,
    "searchUrls": [
        {
            "url": "https://signal.nfx.com/investors/james-currier"
        }
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/signal-nfx-startup-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "stageFocus": "",
    "sectorFocus": "",
    "investorType": "",
    "location": "",
    "includeContacts": False,
    "searchUrls": [{ "url": "https://signal.nfx.com/investors/james-currier" }],
    "maxItems": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "stageFocus": "",
  "sectorFocus": "",
  "investorType": "",
  "location": "",
  "includeContacts": false,
  "searchUrls": [
    {
      "url": "https://signal.nfx.com/investors/james-currier"
    }
  ],
  "maxItems": 10
}' |
apify call jungle_synthesizer/signal-nfx-startup-investors-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/signal-nfx-startup-investors-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Signal NFX Scraper — VC & Angel Investor Data",
        "description": "Extract VC and angel investor profiles from Signal NFX. Get firm data with investment stage focus, sector preferences, check sizes, AUM, portfolio companies, and fund details. Optionally include individual partner profiles. Filter by stage, sector, investor type, and location.",
        "version": "0.1",
        "x-build-id": "mGUoNawYbdyvNY1Gw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~signal-nfx-startup-investors-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-signal-nfx-startup-investors-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/jungle_synthesizer~signal-nfx-startup-investors-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-signal-nfx-startup-investors-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/jungle_synthesizer~signal-nfx-startup-investors-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-signal-nfx-startup-investors-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "sp_intended_usage",
                    "sp_improvement_suggestions"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "stageFocus": {
                        "title": "Investment Stage",
                        "enum": [
                            "",
                            "pre-seed",
                            "seed",
                            "series-a",
                            "series-b",
                            "series-c",
                            "growth",
                            "late-stage"
                        ],
                        "type": "string",
                        "description": "Filter by investment stage focus (e.g. seed, series-a)."
                    },
                    "sectorFocus": {
                        "title": "Sector Focus",
                        "enum": [
                            "",
                            "saas",
                            "fintech",
                            "healthtech",
                            "edtech",
                            "ecommerce",
                            "ai-ml",
                            "cybersecurity",
                            "biotech",
                            "cleantech",
                            "enterprise",
                            "consumer",
                            "crypto-web3",
                            "marketplace",
                            "hardware",
                            "deeptech"
                        ],
                        "type": "string",
                        "description": "Filter by investment sector."
                    },
                    "investorType": {
                        "title": "Investor Type",
                        "enum": [
                            "",
                            "vc",
                            "angel",
                            "pe",
                            "accelerator",
                            "family-office",
                            "cvc"
                        ],
                        "type": "string",
                        "description": "Filter by type of investor."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Filter by investor location (e.g. \"San Francisco\", \"New York\", \"London\")."
                    },
                    "includeContacts": {
                        "title": "Include Partner Contacts",
                        "type": "boolean",
                        "description": "Extract individual partner/investor profiles with contact information. May increase run time.",
                        "default": false
                    },
                    "searchUrls": {
                        "title": "Investor Profile URL(s)",
                        "type": "array",
                        "description": "Specific Signal NFX investor profile URLs to scrape. Bypasses search when provided.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "type": "integer",
                        "description": "Maximum number of investor firms to return. Set to 0 for unlimited.",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
