PitchBook Scraper — Companies & Investors
Pricing
from $15.00 / 1,000 results
PitchBook Scraper — Companies & Investors
Scrape PitchBook company & investor profiles without a login — financing status, competitors, employees, deal history, investor type, HQ, activity metrics, and FAQ data. Works with profile URLs, keyword search (auto-paginated), or sitemap-wide investor filters. JSON or CSV out.
Pricing
from $15.00 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
13
Monthly active users
a day ago
Last modified
Categories
Share
Export structured company and investor profiles from PitchBook's public pages. Companies come with financing status, competitors, investment history, investor names, and FAQ data; investors with type, status, headquarters, activity metrics, recent investments, exits, and co-investors. Paste profile URLs, run a PitchBook search (/profiles/search?q=… — paginated automatically), or filter the whole public investor universe by region, type, status, and geography.
How it works

✨ Why use this scraper?
- No login, no PitchBook seat. Reads only public profile pages — no gated platform access.
- Companies AND investors in one actor. Mix company URLs, investor URLs, and search URLs in a single run; each row comes out in the right shape automatically.
- Search crawling. Point it at
https://pitchbook.com/profiles/search?q=fintechand it paginates the results, scraping every company and investor profile it finds up tomaxItems. - The whole public investor universe. With no URLs at all, enumerate ~278k investors from PitchBook's own sitemap and filter by region, type, status, geography, and activity counts.
- Rich company data. Year founded, status, employees, latest deal type, financing rounds, full contact block, socials, competitors table, investment history, investor names, and the on-page FAQ.
- Fresh, on-demand email enrichment. Each investor profile exposes the firm's real website, so the actor can visit it and harvest a contact email live — not a stale snapshot.
- One clean row per profile. JSON, CSV, Excel — billed per result, no padding rows.
🎯 Use cases
| Audience | What they pull |
|---|---|
| Market research & competitive intelligence | Company profiles with competitors, financing status, and employee counts |
| Investment & M&A analysts | Deal history, latest deal types, and investor lists for due diligence |
| Fund managers & placement agents | Investor prospecting lists filtered by type + region |
| Founders raising capital | Actively-seeking investors in their region + sector |
| Lead generation & sales teams | Company contact blocks, socials, and investor websites + emails |
| Data & research teams | Structured company/investor universe for CRM import or market sizing |
📥 Supported inputs
| Input | Example | Behaviour |
|---|---|---|
| Company profile URL | https://pitchbook.com/profiles/company/361831-87 | Scraped directly → company row |
| Investor profile URL | https://pitchbook.com/profiles/investor/100016-92 | Scraped directly → investor row (advisor URLs work too) |
| Search URL | https://pitchbook.com/profiles/search?q=fintech | Paginated automatically; every company/investor result scraped |
| No URLs + filters | regions: ["Americas"], investorTypes: ["Venture Capital"] | Enumerates investors from the public sitemap and keeps matches |
Not supported: fund / limited-partner profiles, and PitchBook Platform data behind login (valuation, revenue, deal sizes, AUM, fund performance, full contact phone).
⚠️ Access note
PitchBook is fronted by Cloudflare and tightened its gate in August 2026: profile pages are now challenged from ordinary proxies and from clean residential IPs. The actor therefore runs a ladder — three fingerprinted HTTP stacks first, then a managed unblocker as the last attempt — and switches to unblocker-first automatically once the free lanes have failed a few profiles in a row, so it stops paying for attempts that cannot succeed. Sitemap discovery goes through the same unblocker, since the sitemap is gated for every cloud egress. Nothing needs configuring for this; the proxy setting only affects the free lanes.
🔄 How it works
- Classify every start URL — company profile, investor profile, or search listing.
- Paginate search listings, feeding each result into the profile pipeline.
- Fetch each profile through the Cloudflare-tolerant stack (impit → parallel impit/gotScraping race, rotating proxy on retry).
- Parse the JSON-LD + on-page tables + FAQs into a normalized company or investor row.
- Enrich (optional, investors) — visit the investor's on-page website and harvest a contact email.
- Filter investor rows by region / type / status / country / city / count-ranges; company rows are never dropped by investor filters.
- Push one row per profile to the dataset, up to
maxItems.
⚙️ Input parameters
| Field | Type | Description |
|---|---|---|
startUrls | array | Any mix of company profile, investor profile, and search URLs. Leave empty to enumerate investors from the sitemap. |
regions | array | Investor filter: Americas, Europe, Asia, Oceania, Africa, Middle East. |
investorTypes | array | Investor filter: e.g. Venture Capital, Private Equity, Family Office, Angel, Accelerator/Incubator. |
investorStatuses | array | Investor filter: e.g. Actively Seeking New Investments, Out of Business, Acquired/Merged. |
countries / cities | array | Investor filter: specific HQ country / city. |
minInvestments / maxInvestments | integer | Investor filter: total-investments range. |
minActivePortfolio / maxActivePortfolio | integer | Investor filter: active-portfolio range. |
minExits / maxExits | integer | Investor filter: total-exits range. |
requiredFields | array | Investor filter: only emit rows with a non-empty value in ALL listed fields (e.g. website, contactEmail). |
enrichEmails | boolean | Discover a contact email from each investor's website. Default false. |
maxItems | integer | Hard cap on profile rows pushed (companies + investors). Default 1000 (free users: 50). |
maxConcurrency | integer | Profiles fetched in parallel. Default 10. |
proxy | object | Proxy configuration. Defaults to Apify Proxy. |
Note: investor filters apply to investor rows only — company profiles are never dropped by them. PitchBook has no public filter endpoint, so sitemap-mode filters are applied after each profile is fetched: a narrow filter over investors the archive has never seen reads many profiles per match. Investors already in the archive are judged for free, and the run reports the real match rate as it goes, stopping rather than grinding on if a filter turns out to match almost nothing. For filter-style questions,
instantDatabaseis the cheap path. You are billed per row pushed, not per page read.
⚡ Instant database (no scraping)
Every profile this actor scrapes is also written to a cumulative archive, so a page paid for once is owned for good. Set instantDatabase: true and the run answers straight from that archive — no fetching, no unblocker spend, results in seconds.
This matters more here than on a typical target. PitchBook publishes no filter endpoint, so a live filtered crawl has to fetch each candidate before it can tell whether it matches. Against the archive the same question is free.
| Field | Type | Description |
|---|---|---|
instantDatabase | boolean | Serve from the archive instead of scraping. Default false. |
dbQuery | string | Case-insensitive substring on investor name or description. |
dbCountry | string | Exact country, e.g. United States. |
dbRegion | string | Exact HQ region, e.g. Americas, Europe. |
dbInvestorType | string | Exact type, e.g. Venture Capital, PE/Buyout. |
dbMinInvestments / dbMinExits | integer | Minimum recorded investments / exits. |
dbMaxAgeDays | integer | Only rows seen within this many days. |
Rows served this way carry servedFromDatabase: true and dataAsOf, so archived data can never be mistaken for a fresh scrape — you always see how old it is.
What the archive is not: it holds what has been collected so far, not the whole of PitchBook. A filter that matches nothing returns nothing rather than falling back to a live crawl. Run a normal scrape first if you need coverage the archive does not yet have.
📊 Output overview
Each row is a single profile. Company rows carry identity, overview stats (year founded, status, employees, latest deal type, financing rounds, investments made), description, the full contact block, socials, the competitors table, investment history, investor names, and the on-page FAQ. Investor rows carry identity + type/status, full headquarters address, headline activity counts, description, website (and optional contact email), plus recent investments, exits, and co-investors.
📦 Output sample — company
{"type": "company","url": "https://pitchbook.com/profiles/company/361831-87","id": "361831-87","company_name": "Badia Spices","company_socials": [{ "domain": "www.linkedin.com", "link": "https://www.linkedin.com/company/badia-spices-inc." },{ "domain": "twitter.com", "link": "https://twitter.com/badiaspices" },{ "domain": "www.facebook.com", "link": "https://www.facebook.com/BadiaSpices" }],"year_founded": 1967,"status": "Private","employees": 101,"latest_deal_type": "Buyout/LBO","financing_rounds": 1,"investments": 1,"description": "Manufacturer and distributor of food ingredients based in Doral, Florida…","contact_information": [{ "Type": "Website", "value": "www.badiaspices.com" },{ "Type": "Ownership Status", "value": "Privately Held (backing)" },{ "Type": "Financing Status", "value": "Private Equity-Backed" },{ "Type": "Corporate Office", "value": "PO Box 226497, Doral, FL 33322-4697, United States" },{ "Type": "Primary Industry", "value": "Food Products" },{ "Type": "Vertical(s)", "value": "Manufacturing" }],"competitors": [{ "company_name": "Louisiana Fish Fry", "financing_status": "Private Equity-Backed", "link": "https://pitchbook.com/profiles/company/233704-27", "location": "Baton Rouge, LA" }],"all_investments": [{ "company_name": "Tech Data (Warehouse in Sweetwater, Texas)", "deal_date": "2020-11-03T00:00:00.000Z", "deal_type": "Corporate Asset Purchase", "deal_size": null, "industry": "Buildings and Property" }],"investors": ["BDT & MSD Partners"],"faq": [{ "type": "Question", "value": "When was Badia Spices founded?" },{ "type": "Answer", "value": "Badia Spices was founded in 1967." }],"scrapedAt": "2026-07-22T20:04:11.000Z"}
📦 Output sample — investor
{"type": "investor","investorId": "100016-92","investorUrl": "https://pitchbook.com/profiles/investor/100016-92","companyName": "Planetary Technologies","formerlyKnownAs": "Bioeconomy Capital","primaryInvestorType": "Venture Capital","investorStatus": "Actively Seeking New Investments","website": "http://planetarytech.earth","yearFounded": "2015","country": "United States","city": "Seattle","stateOrProvince": "Washington","professionals": 2,"totalInvestments": 30,"activePortfolio": 9,"totalExits": 6,"recentInvestments": [{ "companyName": "ZymeCo", "dealDate": "01-Jul-2026", "dealType": "Later Stage VC", "industry": "Other Agriculture", "companyStage": "Generating Revenue", "leadPartner": null }],"recentExits": [{ "companyName": "Parse Biosciences", "exitDate": "01-Dec-2025", "exitType": "Merger/Acquisition" }],"coInvestors": ["Sagana", "Sahsen Ventures", "Band of Angels", "Lowercase Capital"],"scrapedAt": "2026-07-22T20:04:25.000Z"}
🗂 Key output fields
Company rows (field names mirror the shape used by established PitchBook company scrapers, so existing pipelines can swap in):
| Field | Type | Notes |
|---|---|---|
company_name, id, url | string | Identity + PitchBook profile ID |
year_founded, status, employees | number / string | Overview stats |
latest_deal_type, financing_rounds, investments | string / number | Deal activity headline stats |
description | string | Company summary |
contact_information[] | array | {Type, value} rows: website, ownership status, financing status, office, industry, verticals |
company_socials[] | array | {domain, link} — LinkedIn, X/Twitter, Facebook, … |
competitors[] | array | name, financing status, profile link, location (public rows only) |
all_investments[] | array | Investments the company itself made: name, ISO date, type, size, industry |
investors[] | array | Investor names (extracted from the public FAQ) |
faq[] | array | Alternating {type: Question/Answer} entries as rendered on the page |
Investor rows:
| Field | Type | Notes |
|---|---|---|
companyName, formerlyKnownAs | string | Investor name and prior name |
primaryInvestorType, otherInvestorType, investorStatus | string | e.g. Venture Capital / Actively Seeking New Investments |
website, yearFounded, description | string | Firm website (used for enrichment) + summary |
hqGlobalRegion, country, city, stateOrProvince, postalCode, streetAddress | string | Headquarters location |
phonePartial | string | Only country + area code render publicly (rest is redacted by PitchBook) |
professionals, totalInvestments, activePortfolio, totalExits | number | Headline activity counts |
recentInvestments[], recentExits[], coInvestors[] | array | First public rows of each table |
contactEmail, contactEmails | string / array | Present only when enrichEmails is on and an email was found |
scrapedAt | ISO datetime | When the row was collected |
Archive provenance fields. Rows served by
instantDatabaseaddservedFromDatabase: trueanddataAsOf(when that profile was last scraped). Live-scraped rows never carry them, so the two are always distinguishable in the same dataset.
❓ FAQ
Does this return valuation, revenue, deal sizes, or AUM? No. Those are gated on PitchBook's platform and never appear in the public page HTML — the placeholders you see on the page are literally empty boxes. This actor returns everything that is public.
Can I scrape from a keyword search? Yes — paste https://pitchbook.com/profiles/search?q=<term> into startUrls. The actor walks every results page and scrapes each company/investor profile it finds, up to maxItems.
Where does the contact email come from? PitchBook doesn't publish investor emails. With enrichEmails on, the actor visits the investor's own website (shown on the profile) and harvests a contact email. Hit rate depends on whether the firm publishes one — expect a partial rate.
Why is phonePartial incomplete? PitchBook renders only the country + area code publicly and masks the rest with placeholder boxes. The masked digits are not present in the page HTML.
Can I get every investor in a country/type? Yes — leave startUrls empty and set the filters. The actor streams the public sitemap and keeps matches until maxItems. Broad filters read more profiles per match.
How do I get a specific company or investor? Paste its profile URL (/profiles/company/<id>-<nn> or /profiles/investor/<id>-<nn>) into startUrls.
💬 Support
Found a field that's missing or mis-parsed? Open an issue on the actor's Issues tab with the profile URL and what you expected.
🛠 Additional services
Need fund or limited-partner profiles, or a bulk one-off pull? Reach out via the Issues tab.
🔎 Explore more scrapers
Browse the rest of the portfolio on the Apify Store for more lead-generation and market-intelligence actors.
🤖 For AI Agents & LLM Apps
This actor works as a structured data source for AI agents via the Apify MCP server or the Apify API. Typical agent tasks: "get the competitors and financing status of company X", "list actively-investing VC firms in Europe", "build a due-diligence brief from a PitchBook URL". Input is a simple JSON with startUrls; output is a clean dataset with one JSON row per profile — no HTML parsing needed downstream.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by PitchBook Data, Inc., Morningstar, or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available profile pages — no authenticated endpoints, subscriber-only features, or content behind a PitchBook login. Users are responsible for ensuring their use complies with PitchBook's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.
SEO Keywords
pitchbook scraper, scrape pitchbook, pitchbook companies scraper, pitchbook company profile scraper, pitchbook investors scraper, pitchbook api, apify pitchbook, company data scraper, investor data scraper, venture capital investor list, private equity firm scraper, vc firm database, company competitors scraper, financing rounds data, startup funding data, investor contact scraper, lp prospecting data, family office list scraper, investor email finder, deal sourcing data, co-investor mapping, due diligence data, market intelligence scraper, pitchbook alternative scraper, company profile api