# PitchBook API & Scraper: Private Company Data, Investors, Deals (`pnda/pitchbook-scraper`) Actor

PitchBook scraper and PitchBook API alternative: private company data from public PitchBook profiles, with total raised, latest deal, investors, investments, competitors, HQ and website. No login. $9.90 per 1,000 profiles.

- **URL**: https://apify.com/pnda/pitchbook-scraper.md
- **Developed by:** [PNDA](https://apify.com/pnda) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 10 total users, 10 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.91 / 1,000 pitchbook 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

## PitchBook API & Scraper: Private Company Data, Investors, Deals

Get **public PitchBook profile data as clean JSON**: private company firmographics, total raised, latest deal (type, date, amount), investors, investments made, competitors, headquarters, website and socials.

- Works with **companies, investors (VC / PE firms), funds, limited partners and advisors**.
- **No PitchBook subscription, no login, no cookies.** A PitchBook API alternative for public profile data.
- **Pay only for profiles delivered: $9.90 per 1,000.** Profiles not found are free.
- Export to JSON, CSV, Excel, or call it from your code, Zapier, Make, n8n or an AI agent.

### What you can do with it

- **Private company research:** ownership and financing status, total raised, latest deal, employees, industry.
- **Investor research:** a VC or PE firm's investor type, status and the companies it invested in.
- **Deal sourcing and market maps:** competitors of a company with their financing status and location.
- **CRM enrichment:** add PitchBook data to companies you already track.

### Input

```json
{
  "urls": [
    "https://pitchbook.com/profiles/company/11480-41",
    "https://pitchbook.com/profiles/investor/10359-28"
  ]
}
```

Accepted: `https://pitchbook.com/profiles/<company|investor|fund|limited-partner|advisor>/<id>` (with or without `www.`, anchors and trailing slash). Duplicates are removed.

### Output

One row per profile. Example (shortened):

```json
{
  "status": "ok",
  "name": "Aptean",
  "pitchbookUrl": "https://pitchbook.com/profiles/company/11480-41",
  "pitchbookId": "11480-41",
  "profileType": "company",
  "description": "Developer of enterprise resource planning (ERP) software catering to manufacturers and distributors…",
  "website": "https://www.aptean.com",
  "yearFounded": 2012,
  "companyStatus": "Private",
  "employees": 3000,
  "ownershipStatus": "Privately Held (backing)",
  "financingStatus": "Private Equity-Backed",
  "primaryIndustry": "Business/Productivity Software",
  "headquarters": "4325 Alexander Drive, Suite 100, Alpharetta, GA 30022-3740, United States",
  "totalRaisedUsd": 3910000000,
  "financingRounds": 27,
  "latestDeal": { "type": "Debt Refin.", "date": null, "amount": null, "amountUsd": null },
  "investors": [
    { "name": "Clearlake Capital Group", "pitchbookUrl": "https://pitchbook.com/profiles/investor/10359-28" },
    { "name": "Insight Partners (New York)", "pitchbookUrl": "https://pitchbook.com/profiles/investor/10331-11" }
  ],
  "investmentsCount": 79,
  "investments": [
    { "company": "JMA (Randers)", "pitchbookUrl": "https://pitchbook.com/profiles/company/566704-63", "date": "2025-10-07", "dealType": "Buyout/LBO", "industry": "Business/Productivity Software" }
  ],
  "competitors": [
    { "name": "Anaplan", "pitchbookUrl": "https://pitchbook.com/profiles/company/53664-49", "financingStatus": "Private Equity-Backed", "location": "Miami, FL" }
  ],
  "socials": { "linkedin": "https://www.linkedin.com/company/aptean", "twitter": "https://twitter.com/aptean", "facebook": "https://www.facebook.com/Aptean" }
}
```

Other fields: `otherIndustries`, `verticals`, `formerlyKnownAs`, `parentCompany`, `acquirer`, `stockExchange`, `investorType`, `otherInvestorTypes`, `investorStatus` (investors), `patentsCount`, `research` (PitchBook research mentioning the company), `faq` (PitchBook's own Q\&A about the profile), `details` (every "General information" field as shown on the page), `inputUrl`, `fromCache`, `scrapedAt`.

Rows with `"status": "not-found"` are free and say so (`"charged": false`).

**What is not included:** PitchBook keeps revenue, valuations, deal multiples and contact details behind its paid platform. This actor only returns what the public profile shows; empty fields are `null` or `[]`, never invented.

### Pricing

**Store discounts:** on Apify Silver, Gold, Platinum and Diamond plans, some events cost up to 20 % less. The Pricing tab of the Store page shows the exact price for each plan.

| Event | Price | When |
|---|---|---|
| `profile` | **$0.0099** ($9.90 / 1,000) | Each PitchBook profile delivered. |

- Not found, invalid input, failed pages: **free**.
- Your **Maximum cost per run** is respected **before** any scraping: the actor never scrapes more profiles than it can bill.
- Profiles may be served from a 30-day cache when another run scraped them recently (billed at the same price, delivered faster).

#### Free Apify plan

**Works with a free Apify account too.** Free-plan accounts can use every feature at the same per-result prices, paid from their monthly Apify credit. Limit: free accounts share a daily capacity; once it is used up, the remaining inputs are skipped with one `free-plan-limit` row (not charged). Retry the next day, or switch to a paid Apify plan to run without this limit.

### Use it from code

```bash
curl -X POST "https://api.apify.com/v2/acts/pnda~pitchbook-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"urls":["https://pitchbook.com/profiles/company/11480-41"]}'
```

### FAQ

**Do I need a PitchBook account?** No. Only public profile pages are read; no login, no cookies.

**Can I search PitchBook by company name?** Not yet: paste profile URLs (search "<company> pitchbook" on Google to find them).

**Is it legal?** The actor only collects publicly available data. You are responsible for how you use it, in particular for any personal data under the privacy laws that apply to you.

**A run says "You were not charged".** Invalid input, a profile not found, or a temporary outage of the scraping service: nothing is billed, and the run explains why.

### Related actors

- [Crunchbase API](https://apify.com/pnda/crunchbase-scraper): Need to discover companies or investors by keyword, industry and city? Search Crunchbase.
- [LinkedIn Scraper & People Search](https://apify.com/pnda/linkedin-scraper): Found the company? Find its people by job title on LinkedIn, no cookies.
- [Email Finder](https://apify.com/pnda/email-finder): Have a founder's name and the domain? Find the verified work email.

# Actor input Schema

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

Public PitchBook profiles: companies (https://pitchbook.com/profiles/company/11480-41), investors / VC and PE firms (/profiles/investor/…), funds, limited partners and advisors. Duplicates are removed.

## Actor input object example

```json
{
  "urls": [
    "https://pitchbook.com/profiles/company/11480-41",
    "https://pitchbook.com/profiles/investor/10359-28"
  ]
}
```

# Actor output Schema

## `dataset` (type: `string`):

All profiles (JSON, CSV, Excel).

# 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 = {
    "urls": [
        "https://pitchbook.com/profiles/company/11480-41",
        "https://pitchbook.com/profiles/investor/10359-28"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("pnda/pitchbook-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 = { "urls": [
        "https://pitchbook.com/profiles/company/11480-41",
        "https://pitchbook.com/profiles/investor/10359-28",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("pnda/pitchbook-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 '{
  "urls": [
    "https://pitchbook.com/profiles/company/11480-41",
    "https://pitchbook.com/profiles/investor/10359-28"
  ]
}' |
apify call pnda/pitchbook-scraper --silent --output-dataset

```

## MCP server setup

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