# Signal NFX Scraper - VC Investors, Angels & Investment Data (`abotapi/signal-nfx-investor-scraper`) Actor

Scrape Signal NFX (signal.nfx.com) investor profiles across 32,000+ VCs, angels and scouts. Search investor lists and extract names, firms, LinkedIn, Crunchbase and X profiles; check sizes, seniority, locations, investment sectors, education and investment history.

- **URL**: https://apify.com/abotapi/signal-nfx-investor-scraper.md
- **Developed by:** [Abot API](https://apify.com/abotapi) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.70 / 1,000 investor or firm records

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

## Signal NFX Investor Scraper: VCs, Angels & Check Sizes

Scrape the Signal NFX investor database: 32,000+ venture capital partners, angels, scouts and advisors, organized by the site's own investor lists and search. Every row carries LinkedIn, Crunchbase, X and Wellfound links, firm and fund size, check sizes, seniority, locations, verticals, education, media mentions and investment history.

### Why This Scraper?

- **Three ways in.** Walk the site's curated investor lists (Pre-Seed, Seed, Series A, Series B across 100+ industries and locations), query the full investor database by name, firm, check size, seniority or lead-investor status, or paste investor, firm and list links directly.
- **Rich profiles, not just names.** With full profiles on, every investor ships a headline, education (degree, field, school), recent investment history (company, stage, amount, date), media mentions, fund size and profile vote count.
- **Every link the site publishes.** Rows carry LinkedIn, Crunchbase, X/Twitter, Wellfound and personal site URLs, plus profile and firm links on the site itself.
- **Filter the way the site filters.** Stage, industry and location for lists; name, check size range, seniority, lead-only, industry and location for search.
- **Built for monitoring.** Resume an interrupted run, or schedule incremental runs that deliver only new and changed investors. Unchanged records are not billed.
- **Delivers anywhere.** Standard dataset views for investors, firms and incremental changes, plus optional delivery into Notion, Airtable and Linear via MCP connectors.

### Use Cases

- **Fundraisers:** build a targeted investor list by stage, industry, location and check size, with the exact profile links for outreach.
- **Investors and scouts:** monitor other funds on a schedule: new investments, new partners, changed check sizes, delivered incrementally.
- **Recruiters and BD teams:** map the venture market by seniority, from General Partner to Associate, with firm fund sizes.
- **Analysts:** quantify the landscape: who invests in AI pre-seed in London, who leads seed rounds in fintech, who co-invests with whom.

### Data You Get

| Field | Example |
| --- | --- |
| `name` | Mark Suster |
| `headline` | General Partner at Upfront Ventures |
| `personUrl` | signal.nfx.com/investors/mark-suster |
| `firmName` | Upfront Ventures |
| `firmUrl` | signal.nfx.com/firms/upfront-ventures |
| `firmFundSize` | $650M |
| `seniority` | general_partner |
| `linkedinUrl` | linkedin.com/in/marksuster |
| `crunchbaseUrl` | crunchbase.com/person/mark-suster |
| `twitterUrl` | twitter.com/msuster |
| `angellistUrl` | wellfound.com/u/msuster |
| `personalWebsiteUrl` | upfront.com/people/mark-suster |
| `roles` | \["VC", "Investor", "Angel"] |
| `minCheckUsd` | 750000 |
| `maxCheckUsd` | 5000000 |
| `targetCheckUsd` | 1000000 |
| `location` | Los Angeles, California |
| `investmentLocations` | \["Los Angeles, California"] |
| `degrees` | \[{"degree": "MBA", "school": "University of Chicago"}] |
| `fundingRounds` | \[{"company": "Andrenam", "stage": "Series A", "amount": "$18M"}] |
| `fundingRoundCount` | 83 |
| `mediaLinks` | \[{"url": "https://techcrunch.com/...", "title": "VC Mark Suster: ..."}] |
| `voteCount` | 35 |
| `investorLists` | \[{"slug": "advertising-pre-seed", "vertical": "Advertising"}] |

> Sample shape: values are illustrative placeholders, not from a live record.

**Investor record:**

```json
{
  "recordId": "signal:investor:9748",
  "recordKind": "investor",
  "name": "Mark Suster",
  "personSlug": "mark-suster",
  "personUrl": "https://signal.nfx.com/investors/mark-suster",
  "headline": "General Partner at Upfront Ventures",
  "firmName": "Upfront Ventures",
  "firmSlug": "upfront-ventures",
  "firmUrl": "https://signal.nfx.com/firms/upfront-ventures",
  "firmFundSize": "$650M",
  "seniority": "general_partner",
  "linkedinUrl": "https://www.linkedin.com/in/marksuster/",
  "twitterUrl": "http://twitter.com/msuster",
  "crunchbaseUrl": "https://www.crunchbase.com/person/mark-suster",
  "angellistUrl": "https://wellfound.com/u/msuster",
  "roles": ["VC", "Investor", "Angel"],
  "minCheckUsd": 750000.0,
  "maxCheckUsd": 5000000.0,
  "targetCheckUsd": 1000000.0,
  "location": "Los Angeles, California",
  "investmentLocations": ["Los Angeles, California"],
  "degrees": [{"degree": "MBA", "school": "University of Chicago"}],
  "fundingRounds": [{"company": "Andrenam", "stage": "Series A", "amount": "$18M", "date": "2026-07-23T00:00:00Z"}],
  "fundingRoundCount": 83,
  "mediaLinks": [{"url": "https://techcrunch.com/...", "title": "VC Mark Suster: ..."}],
  "voteCount": 35,
  "investorLists": [{"slug": "advertising-pre-seed", "stageName": "Pre-Seed", "vertical": "Advertising"}],
  "scrapedAt": "2026-10-24T01:30:00Z"
}
```

**Firm record** (links mode): description, founding year, fund size, locations, Crunchbase/LinkedIn/X/Wellfound links, the firm's investor lists, co-invested firms and the partner team. `recordKind` distinguishes `investor` rows from `firm` rows.

### How to Use

1. **Pick a mode.** Investor lists (default) walks the site's lists; Search queries the whole database; Direct links reads pasted URLs.
2. **Lists mode:** choose stages (Pre-Seed / Seed / Series A / Series B) and optionally industries and locations. Leave everything empty to walk the entire catalog.
3. **Search mode:** type a name or firm, or filter by check size, seniority, lead investors, industry or location. Everything the search needs is prepared automatically on the first run.
4. **Full investor profiles** (default on) adds one profile read per investor: headline, education, investment history, media, fund size, votes.
5. **Max records** caps every run; **Max records per list** spreads a catalog-wide run across more lists.

**Walk the seed fintech list:**

```json
{
  "mode": "lists",
  "stages": ["seed"],
  "verticals": ["FinTech"],
  "maxItems": 50
}
```

**Search the whole database:**

```json
{
  "mode": "search",
  "searchQuery": "aileen lee",
  "fetchDetails": true,
  "maxItems": 25
}
```

**Filter by seniority and lead-only:**

```json
{
  "mode": "search",
  "positions": ["general_partner"],
  "leadOnly": true,
  "checkSizeMin": 100000,
  "maxItems": 100
}
```

**Read pasted links:**

```json
{
  "mode": "urls",
  "urls": ["https://signal.nfx.com/investors/mark-suster", "https://signal.nfx.com/firms/upfront-ventures"]
}
```

#### Run it from your code

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/signal-nfx-investor-scraper").call(
    run_input={"mode": "lists", "stages": ["seed"], "verticals": ["FinTech"], "maxItems": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["name"], item["firmName"], item["linkedinUrl"])
```

JavaScript:

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/signal-nfx-investor-scraper').call({
  mode: 'search',
  searchQuery: 'aileen lee',
  fetchDetails: true,
  maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the **Integrations** tab.

#### Resume and recurring updates

- **Resume** (`resumeFromRunId`) continues one interrupted run: paste its run ID and the actor skips everything already collected there, so you don't pay twice.
- **Incremental mode** (`incrementalMode`) is for scheduled runs over the same scope. Each record is classified `NEW`, `UPDATED` (with `changedFields`), `UNCHANGED` (suppressed and not billed unless `emitUnchanged` is on), `REAPPEARED` or `EXPIRED` (only after a scan that covered the scope, and only with `emitExpired`). `stateKey` names or shares the stored state. A record is `UPDATED` when any tracked field changed: check sizes, headline, firm, roles, education, investment history. Profile vote counts and photo links move without the record changing, so they are excluded from change detection by default; add more with `ignoreFieldsForChanges`.

### Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step **after** the scrape: the Apify dataset is never changed.

**What gets written to the connector:** a condensed, human-readable **summary** of each record, not the full JSON. Each item becomes one entry with a **title** and its key fields flattened to plain text. The **complete record always stays in the Apify dataset**.

1. Authorize a connector once under **Apify → Settings → Integrations** (Notion, Linear, Airtable, or Apify).
2. Select it in the **"Send results into your apps"** input field. (If the picker is empty, you haven't authorized a connector yet.)
3. For **Notion**, also set `notionParentPageUrl` to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

### Input Parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| `mode` | select | lists | Lists, Search or Direct links |
| `stages` | multi-select | \["seed"] | Which stage lists to walk (lists mode) |
| `verticals` | string list | - | Only these industries, e.g. FinTech, AI (lists + search) |
| `locations` | string list | - | Only these location lists, e.g. London (lists + search) |
| `listSlugs` | string list | - | Exact lists to walk, e.g. fintech-seed |
| `searchQuery` | text | - | Search query (search mode) |
| `checkSizeMin` | integer | - | Minimum check size in USD (search mode) |
| `checkSizeMax` | integer | - | Maximum check size in USD (search mode) |
| `positions` | multi-select | - | Seniority filter, e.g. general_partner (search mode) |
| `leadOnly` | checkbox | false | Only round leads (search mode) |
| `urls` | string list | - | Direct links mode input |
| `fetchDetails` | checkbox | true | Add headline, education, investment history, media |
| `maxFundingRounds` | integer | 20 | Recent investments kept per investor |
| `maxItems` | integer | 20 | Run-wide cap; 0 = unlimited |
| `maxPerList` | integer | 0 | Per-list cap; 0 = no per-list limit |
| `proxyConfiguration` | proxy | datacenter | Residential is the most reliable option |
| `resumeFromRunId` | text | - | Run ID to resume |
| `incrementalMode` | checkbox | false | Deliver only new/changed records on schedules |
| `stateKey` | text | - | Names the incremental baseline |
| `emitUnchanged` | checkbox | false | Emit UNCHANGED rows in incremental mode |
| `emitExpired` | checkbox | true | Emit EXPIRED rows in incremental mode |
| `ignoreFieldsForChanges` | string list | - | Extra fields excluded from change detection (incremental mode only) |
| `mcpConnectors` | string list | - | Deliver results to your apps after the run |
| `notionParentPageUrl` | text | - | Notion parent page for connector delivery |

### Output Example

> Sample shape: values are illustrative placeholders, not from a live record.

```json
{
  "recordId": "signal:investor:0000",
  "recordKind": "investor",
  "name": "Sample Partner",
  "firmName": "Sample Ventures",
  "seniority": "partner",
  "linkedinUrl": "https://www.linkedin.com/in/sample-partner",
  "minCheckUsd": 250000.0,
  "maxCheckUsd": 2000000.0,
  "location": "New York, New York",
  "degrees": [{"degree": "BA", "school": "Sample University"}],
  "fundingRounds": [{"company": "Sample Co", "stage": "Seed", "amount": "$3M"}]
}
```

The dataset tabs separate investors (Overview), firms (links mode) and the incremental Changes view. Every record carries `recordKind` (`investor` or `firm`), and incremental runs add `changeType`, `changedFields`, `firstSeenAt` and `lastSeenAt`.

### Plan Requirement

The actor reads Signal NFX over standard datacenter connections by default. Residential proxies are the most reliable option if a run ever has connection trouble: pick the residential group under Connection; residential traffic is billed to your Apify plan. Apify proxy access needs a paid Apify plan; on a plan without it the run stops with a clear message instead of returning an empty result.

### FAQ

#### How much does it cost?

Pay per event. The current rates are shown on the **Pricing** tab (paid Apify plans get lower tiered rates). The events and when each one is charged:

| Event | When it is charged |
| --- | --- |
| Record (`apify-default-dataset-item`) | once for each record pushed to the dataset |
| Profile enrichment (`detail-enrichment`) | once per record whose profile page was read for enrichment; rows shipped without a profile read are not charged this event |
| Actor Start (`apify-actor-start`) | once per run, per GB of memory |

Unchanged or suppressed records in incremental mode are not billed. Use **Max records** to cap the cost of any run.

#### Is it legal to scrape Signal NFX?

This actor collects only publicly available investor data. You are responsible for how you use it: follow Signal NFX's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Contact details are never collected: the actor ships only the public profile links the site itself publishes.

#### Can I get only new or changed investors on a schedule?

Yes. Schedule the actor from the **Schedules** tab and turn on **Incremental mode**. Each run then returns only new and updated records, and unchanged ones are not billed.

#### Which links can I paste in Direct links mode?

Investor profile links (`signal.nfx.com/investors/<slug>`), firm links (`signal.nfx.com/firms/<slug>`), and investor-list links both ways: the long form you see in the address bar (`signal.nfx.com/investor-lists/top-fintech-seed-investors`) and the short catalog form (`fintech-seed`). Non-investor pages (the home page, FAQ, onboarding) are skipped with a note in the log.

#### Why did my run fail instead of returning an empty dataset?

If every read was refused, the run fails with a clear message rather than pretending nothing matched: retry in a few minutes. A genuinely empty result (a search with no matches) succeeds with zero records.

#### Can I use it with AI agents or MCP?

Yes. Every Apify actor is available as an MCP server: add `https://mcp.apify.com` to your MCP client with an Apify token, and call this actor as a tool. The **Send results into your apps** section can also deliver results into Notion, Airtable, Linear and more after each run.

### 🔗 More scrapers you might like

Pair this actor with these related scrapers from the same team:

<table>
<tr><td>📇 <a href="https://apify.com/abotapi/ycombinator-com-scraper"><b>Ycombinator</b></a><br>Pull every ycombinator.com company across every batch, with founders, social URLs...</td><td>💼 <a href="https://apify.com/abotapi/wellfound-jobs-scraper"><b>Wellfound Jobs Scraper</b></a><br>Scrape startup jobs from Wellfound.com by keyword, location, role, or remote status...</td></tr>
<tr><td>💼 <a href="https://apify.com/abotapi/hiring-cafe-scraper"><b>Hiring.Cafe Jobs</b></a><br>Unlock powerful Hiring.Cafe job data extraction. Use advanced filters or URLs to get 100+...</td><td>🧩 <a href="https://apify.com/abotapi/employmenthero-jobs-employers-scraper"><b>EmploymentHero Scraper</b></a><br>Scrape Employment Hero's job marketplace: roles with pay ranges, full descriptions...</td></tr>
<tr><td>💼 <a href="https://apify.com/abotapi/nofluffjobs-scraper"><b>NoFluffJobs Scraper</b></a><br>Scrape No Fluff Jobs IT listings across Poland, Czechia, Slovakia, Hungary and the...</td><td>🧩 <a href="https://apify.com/abotapi/naukri-com-scraper"><b>Naukri.com Scraper</b></a><br>Scrape Naukri.com jobs by keyword or URL. Extract job title, company, skills, experience...</td></tr>
</table>

👉 [Browse all abotapi scrapers](https://apify.com/abotapi)

### 💬 Support

- 🐞 **Found a bug or a missing field?** Open a ticket on the [Issues tab](https://apify.com/abotapi/signal-nfx-investor-scraper/issues/open). We usually reply within hours.
- 🛠️ **Need another site, extra fields or a private build?** Email <contact@abotapi.com>.
- ⭐ **Enjoying it?** A quick review on the actor page helps other users find it.

# Actor input Schema

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

Investor lists: walk the site's curated lists with stage and vertical filters. Search all investors: query the full investor database. Direct links: paste investor, firm or list links.

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

Walk lists for these stages. Leave empty to include every stage.

## `verticals` (type: `array`):

Only walk lists for these industries, for example FinTech, AI, SaaS, ClimateTech/CleanTech. Leave empty to include every industry. Names are matched against the site's own list catalog.

## `locations` (type: `array`):

Only walk location-based lists, for example London, New York City, San Francisco Bay Area, Canada. Leave empty for every location.

## `listSlugs` (type: `array`):

Walk exactly these investor lists instead of the filtered catalog, for example fintech-seed or top-fintech-seed-investors.

## `searchQuery` (type: `string`):

Search investors and firms by name, for example a person's name or a firm name. Leave empty to browse the whole database.

## `checkSizeMin` (type: `integer`):

Only investors whose check size starts at or above this amount, for example 100000.

## `checkSizeMax` (type: `integer`):

Only investors whose check size stays at or below this amount, for example 1000000.

## `positions` (type: `array`):

Only investors with these roles.

## `leadOnly` (type: `boolean`):

Only investors who lead rounds.

## `urls` (type: `array`):

Investor profile links, firm links and investor-list links are all accepted. Every link shape the site publishes is recognized.

## `fetchDetails` (type: `boolean`):

Read each investor's profile page too: headline, education, investment history, media mentions, fund size and vote count. Adds one profile read per investor.

## `maxFundingRounds` (type: `integer`):

Most recent investments to keep per investor when full profiles are on.

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

Stop after this many records. 0 means no limit.

## `maxPerList` (type: `integer`):

Cap how many records each investor list contributes. 0 means no per-list limit (the overall record limit still applies).

## `proxyConfiguration` (type: `object`):

The site answers over standard datacenter connections. Residential proxies are the most reliable option if a run ever has trouble connecting.

## `resumeFromRunId` (type: `string`):

Paste a run ID to continue where it stopped; already-delivered records are skipped.

## `incrementalMode` (type: `boolean`):

On scheduled repeats, only deliver records that are new or changed since the last run. Requires a State key below.

## `stateKey` (type: `string`):

Name for the incremental baseline. Reuse the same key across scheduled runs to track the same scope. Leave empty to scope automatically from your filters.

## `emitUnchanged` (type: `boolean`):

In incremental mode, also output records that did not change (marked as such).

## `emitExpired` (type: `boolean`):

In incremental mode, deliver records that disappeared from the source since the last run, marked as expired.

## `ignoreFieldsForChanges` (type: `array`):

Field names that should never mark a record as changed, for example voteCount. Vote counts and photo links are already ignored by default.

## `mcpConnectors` (type: `array`):

Connector IDs from the Apify MCP Proxy. When set, results are delivered to those apps after the run.

## `notionParentPageUrl` (type: `string`):

When sending results to Notion, the parent page under which pages are created.

## Actor input object example

```json
{
  "mode": "lists",
  "stages": [
    "seed"
  ],
  "verticals": [
    "FinTech"
  ],
  "leadOnly": false,
  "urls": [
    "https://signal.nfx.com/investors/mark-suster",
    "https://signal.nfx.com/firms/upfront-ventures"
  ],
  "fetchDetails": true,
  "maxFundingRounds": 20,
  "maxItems": 20,
  "maxPerList": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "incrementalMode": false,
  "emitUnchanged": false,
  "emitExpired": true
}
```

# Actor output Schema

## `overview` (type: `string`):

Investor records with profiles, check sizes and investment history.

## `firms` (type: `string`):

Firm records delivered in links mode.

## `changes` (type: `string`):

Change classification of every record in incremental mode.

# 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",
    "stages": [
        "seed"
    ],
    "verticals": [
        "FinTech"
    ],
    "checkSizeMin": 0,
    "urls": [
        "https://signal.nfx.com/investors/mark-suster",
        "https://signal.nfx.com/firms/upfront-ventures"
    ],
    "fetchDetails": true,
    "maxFundingRounds": 20,
    "maxItems": 20,
    "maxPerList": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/signal-nfx-investor-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",
    "stages": ["seed"],
    "verticals": ["FinTech"],
    "checkSizeMin": 0,
    "urls": [
        "https://signal.nfx.com/investors/mark-suster",
        "https://signal.nfx.com/firms/upfront-ventures",
    ],
    "fetchDetails": True,
    "maxFundingRounds": 20,
    "maxItems": 20,
    "maxPerList": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/signal-nfx-investor-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",
  "stages": [
    "seed"
  ],
  "verticals": [
    "FinTech"
  ],
  "checkSizeMin": 0,
  "urls": [
    "https://signal.nfx.com/investors/mark-suster",
    "https://signal.nfx.com/firms/upfront-ventures"
  ],
  "fetchDetails": true,
  "maxFundingRounds": 20,
  "maxItems": 20,
  "maxPerList": 0
}' |
apify call abotapi/signal-nfx-investor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,abotapi/signal-nfx-investor-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/A1B8TUEOalWrMU7xz/builds/9tZvJpnb1HJnHPc5J/openapi.json
