# Dealroom Scraper: Company Funding and Investor Cap Tables (`getascraper/dealroom-scraper`) Actor

Extract Dealroom.co company and investor profiles: funding range, valuation range, revenue range, full investor cap tables, and workforce data by country. Export to Google Sheets, Slack or your own API. $0.0035 per profile.

- **URL**: https://apify.com/getascraper/dealroom-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.64 / 1,000 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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## 💼 Dealroom Scraper: Company Funding and Investor Cap Tables

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#ECFDF5;border:1px solid #A7F3D0;border-top:4px solid #065F46;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Dealroom company and investor data, no $12,500 subscription required</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Pull funding ranges, full investor cap tables, and portfolio data straight from Dealroom's own public pages. Pay only for what you use.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #A7F3D0;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#065F46">🔀 Companies and investors, one Actor</span><br>
<span style="font-size:12px;color:#57534E">Pull funding data and full investor cap tables without switching tools.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #A7F3D0;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#065F46">📋 Real cap tables, not just a total</span><br>
<span style="font-size:12px;color:#57534E">Every investor name and funding stage, per round, for every company.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #A7F3D0;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#065F46">✅ No fabricated numbers</span><br>
<span style="font-size:12px;color:#57534E">Funding, valuation, and revenue show as the same ranges Dealroom itself publishes.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #A7F3D0;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#065F46">🛡️ Built to actually finish</span><br>
<span style="font-size:12px;color:#57534E">Automatic retry handling means fewer failed runs than scrapers that give up on the first blocked request.</span>
</td>
</tr>
</table>

Extract [Dealroom.co](https://dealroom.co) company and investor profiles. Export to JSON, CSV or Excel, or connect straight into Google Sheets and your own pipeline via the API. Run it on demand or on a schedule. No coding required.

### ✨ Why use this Actor

**Built for anyone who needs Dealroom data without a full analyst seat.**

- 📊 **Deal-sourcing analysts**: map a sector fast: who's raised recently, who's backing them, without a Dealroom login.
- 📣 **BD and sales teams**: a company just raised a round. Know who backed them and when, the moment it matters for outreach.
- 🔍 **Market researchers**: build a real dataset on funding trends across a region or sector, sourced from Dealroom's own public data.

**Companies and investors, one Actor.** Other Dealroom scrapers on the Store cover companies only, with no investor cap-table detail. This Actor pulls both in one run, with a field set independently verified against real pages, not copied from a competitor's unverified claim.

### ⚙️ How it works

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#ECFDF5;border:1px solid #A7F3D0;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#065F46;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick your mode</span><br>
<span style="font-size:12px;color:#57534E">Scrape companies, investors, or paste specific profile URLs you already have.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#ECFDF5;border:1px solid #A7F3D0;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#065F46;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Run the Actor</span><br>
<span style="font-size:12px;color:#57534E">It pulls each profile's real, current data straight from Dealroom's public pages.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#ECFDF5;border:1px solid #A7F3D0;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#065F46;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Get your data</span><br>
<span style="font-size:12px;color:#57534E">Funding ranges, investor cap tables, and workforce breakdowns land in your dataset, ready to export.</span>
</td>
</tr>
</table>

### 📥 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `mode` | enum | No | "companies" to walk Dealroom's company index, "investors" for the investor index, or "urls" for specific profile URLs. |
| `urls` | array of URLs | No | Specific company or investor profile URLs, used when mode is "urls". |
| `countries` | array of strings | No | Only keep companies headquartered in these countries. Used in "companies" mode. |
| `sectors` | array of strings | No | Only keep companies whose own Dealroom tags match these terms. Used in "companies" mode. |
| `maxItems` | integer | No | Stop after collecting this many profiles. |
| `proxyConfiguration` | object | No | Proxy settings. Defaults to residential, required for reliable access. |

### 📤 Output

Every result is one row in the dataset. A typical company looks like this:

```json
{
  "name": "Flock Safety",
  "url": "https://dealroom.co/companies/flock-safety/",
  "location": "Atlanta",
  "country": "United States",
  "foundingYear": 2017,
  "valuationRange": "$5-10B",
  "revenueRange": "$100-500M",
  "investorCount": 21,
  "investors": [
    { "name": "Andreessen Horowitz", "stage": "Series B+", "investorUrl": "https://dealroom.co/investors/andreessen-horowitz/" },
    { "name": "Y Combinator", "stage": "Seed", "investorUrl": "https://dealroom.co/investors/y-combinator/" }
  ],
  "workforceByCountry": [
    { "country": "🇺🇸 United States", "percent": 96 }
  ]
}
```

Download the dataset in JSON, CSV, Excel, HTML or XML from the Apify Console, or pull it through the API.

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `name` / `url` | string | Profile name and its own Dealroom link. |
| `location` / `country` | string | Headquarters city and country. |
| `foundingYear` | number | Year the company or investor was founded. |
| `keywords` | array | Dealroom's own sector and topic tags for the company. |
| `fundingRange` / `valuationRange` / `revenueRange` | string | The same real ranges Dealroom publishes on its public pages, never an invented exact figure. |
| `investorCount` / `investors` | number / array | How many investors are on the cap table, and each one's name, profile link, and funding stage. |
| `workforceByCountry` | array | Real workforce distribution by country, where published. |
| `portfolioCompanyCount` / `unicornCount` / `decacornCount` | number | Investor mode only: portfolio size and outcome counts. |
| `lastInvestmentDate` | string | Investor mode only: the investor's most recent deal. |

The Output tab also ships three pre-built views: profiles overview, investor cap tables, and investor portfolios.

### 💰 Pricing

This Actor is pay per result: you only pay for the profiles you actually collect, and a run that returns nothing costs nothing. There is no subscription and no minimum spend.

### ⭐ Enjoying Dealroom Scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#ECFDF5;border:1px solid #A7F3D0;border-left:5px solid #065F46;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Saved you a $12,500 subscription?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other analysts and deal teams find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#065F46;border:1px solid #A7F3D0;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/dealroom-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### 🛠️ Tips for better runs

- Use `countries` or `sectors` to narrow a broad sweep to exactly the segment you're mapping.
- Switch to `mode: investors` to track a specific fund's portfolio, unicorn count, and how recently they've deployed capital.
- Paste specific profile URLs when you already know which companies or investors you need, for the fastest, cheapest run.

### ❓ FAQ

**Does this get me the same data as a Dealroom subscription?**
No. This Actor extracts what Dealroom publishes on its own public pages: funding as a range, not an exact figure, and no individual founder contact details. Dealroom reserves precise figures and founder identities for paying account holders.

**Is it legal to scrape Dealroom.co?**
Dealroom's own robots.txt explicitly allows automated access. This Actor only collects data that is already publicly visible on Dealroom's own pages. You are responsible for how you use the data and for complying with Dealroom's terms of service.

**Why do some companies have no funding range?**
Not every company has published funding data on Dealroom. This Actor never invents one: if Dealroom doesn't publish it, the field is left out rather than filled with a placeholder.

**Can I get notified of new funding rounds automatically?**
Yes. Schedule this Actor to run daily or weekly from the Apify Console and pipe new results into Google Sheets, Slack, or your own database with no code.

Found a bug or need a custom version of this Actor? Open an issue from the Actor's Issues tab and it'll be looked at directly.

### 🔗 Other actors

- [New York Times Scraper: Articles, Feeds and Historical Archive](https://apify.com/getascraper/nytimes-scraper) ↗ - another data-rich research Actor covering news and archive content.
- [District Event Scraper: Venue, Dates & Ticket Pricing](https://apify.com/getascraper/district-event-scraper) ↗ - India event listings with full ticket-tier pricing.
- [Carwale Used Cars Scraper: India Listings](https://apify.com/getascraper/carwale-used-cars-scraper) ↗ - India used-car listings and pricing.
- [Cashify Scraper: Used Phone Resale Prices India](https://apify.com/getascraper/cashify-scraper) ↗ - India consumer marketplace pricing data.

# Actor input Schema

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

"companies": walk Dealroom's own company index. "investors": walk Dealroom's investor index. "urls": scrape a specific list of company or investor URLs.

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

Specific dealroom.co company or investor profile URLs to scrape, used when mode is "urls".

## `countries` (type: `array`):

Only keep companies headquartered in these countries, matched against each company's own real location field. Used when mode is "companies". Leave empty for all countries.

## `sectors` (type: `array`):

Only keep companies whose own Dealroom keyword tags contain any of these terms (e.g. "fintech", "AI"). Used when mode is "companies". Leave empty for all sectors.

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

Stop after collecting this many company or investor profiles. Keep this low for a quick, cheap run; raise it once you know how many you need.

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

Proxy settings. Residential proxy is required: confirmed live that Dealroom blocks Apify's datacenter proxy range specifically, even though its own robots.txt welcomes crawlers.

## Actor input object example

```json
{
  "mode": "companies",
  "urls": [],
  "countries": [],
  "sectors": [],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "mode": "companies",
    "urls": [],
    "countries": [],
    "sectors": [],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/dealroom-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": "companies",
    "urls": [],
    "countries": [],
    "sectors": [],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/dealroom-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": "companies",
  "urls": [],
  "countries": [],
  "sectors": [],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call getascraper/dealroom-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/dealroom-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/Get09hlF60Chgai2n/builds/HCNtyeX9xQ3nyrnLD/openapi.json
