PitchBook Scraper — Companies & Investors avatar

PitchBook Scraper — Companies & Investors

Pricing

from $15.00 / 1,000 results

Go to Apify Store
PitchBook Scraper — Companies & Investors

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

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

13

Monthly active users

a day ago

Last modified

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

How the PitchBook Scraper 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=fintech and it paginates the results, scraping every company and investor profile it finds up to maxItems.
  • 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

AudienceWhat they pull
Market research & competitive intelligenceCompany profiles with competitors, financing status, and employee counts
Investment & M&A analystsDeal history, latest deal types, and investor lists for due diligence
Fund managers & placement agentsInvestor prospecting lists filtered by type + region
Founders raising capitalActively-seeking investors in their region + sector
Lead generation & sales teamsCompany contact blocks, socials, and investor websites + emails
Data & research teamsStructured company/investor universe for CRM import or market sizing

📥 Supported inputs

InputExampleBehaviour
Company profile URLhttps://pitchbook.com/profiles/company/361831-87Scraped directly → company row
Investor profile URLhttps://pitchbook.com/profiles/investor/100016-92Scraped directly → investor row (advisor URLs work too)
Search URLhttps://pitchbook.com/profiles/search?q=fintechPaginated automatically; every company/investor result scraped
No URLs + filtersregions: ["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

  1. Classify every start URL — company profile, investor profile, or search listing.
  2. Paginate search listings, feeding each result into the profile pipeline.
  3. Fetch each profile through the Cloudflare-tolerant stack (impit → parallel impit/gotScraping race, rotating proxy on retry).
  4. Parse the JSON-LD + on-page tables + FAQs into a normalized company or investor row.
  5. Enrich (optional, investors) — visit the investor's on-page website and harvest a contact email.
  6. Filter investor rows by region / type / status / country / city / count-ranges; company rows are never dropped by investor filters.
  7. Push one row per profile to the dataset, up to maxItems.

⚙️ Input parameters

FieldTypeDescription
startUrlsarrayAny mix of company profile, investor profile, and search URLs. Leave empty to enumerate investors from the sitemap.
regionsarrayInvestor filter: Americas, Europe, Asia, Oceania, Africa, Middle East.
investorTypesarrayInvestor filter: e.g. Venture Capital, Private Equity, Family Office, Angel, Accelerator/Incubator.
investorStatusesarrayInvestor filter: e.g. Actively Seeking New Investments, Out of Business, Acquired/Merged.
countries / citiesarrayInvestor filter: specific HQ country / city.
minInvestments / maxInvestmentsintegerInvestor filter: total-investments range.
minActivePortfolio / maxActivePortfoliointegerInvestor filter: active-portfolio range.
minExits / maxExitsintegerInvestor filter: total-exits range.
requiredFieldsarrayInvestor filter: only emit rows with a non-empty value in ALL listed fields (e.g. website, contactEmail).
enrichEmailsbooleanDiscover a contact email from each investor's website. Default false.
maxItemsintegerHard cap on profile rows pushed (companies + investors). Default 1000 (free users: 50).
maxConcurrencyintegerProfiles fetched in parallel. Default 10.
proxyobjectProxy 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, instantDatabase is 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.

FieldTypeDescription
instantDatabasebooleanServe from the archive instead of scraping. Default false.
dbQuerystringCase-insensitive substring on investor name or description.
dbCountrystringExact country, e.g. United States.
dbRegionstringExact HQ region, e.g. Americas, Europe.
dbInvestorTypestringExact type, e.g. Venture Capital, PE/Buyout.
dbMinInvestments / dbMinExitsintegerMinimum recorded investments / exits.
dbMaxAgeDaysintegerOnly 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):

FieldTypeNotes
company_name, id, urlstringIdentity + PitchBook profile ID
year_founded, status, employeesnumber / stringOverview stats
latest_deal_type, financing_rounds, investmentsstring / numberDeal activity headline stats
descriptionstringCompany 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[]arrayname, financing status, profile link, location (public rows only)
all_investments[]arrayInvestments the company itself made: name, ISO date, type, size, industry
investors[]arrayInvestor names (extracted from the public FAQ)
faq[]arrayAlternating {type: Question/Answer} entries as rendered on the page

Investor rows:

FieldTypeNotes
companyName, formerlyKnownAsstringInvestor name and prior name
primaryInvestorType, otherInvestorType, investorStatusstringe.g. Venture Capital / Actively Seeking New Investments
website, yearFounded, descriptionstringFirm website (used for enrichment) + summary
hqGlobalRegion, country, city, stateOrProvince, postalCode, streetAddressstringHeadquarters location
phonePartialstringOnly country + area code render publicly (rest is redacted by PitchBook)
professionals, totalInvestments, activePortfolio, totalExitsnumberHeadline activity counts
recentInvestments[], recentExits[], coInvestors[]arrayFirst public rows of each table
contactEmail, contactEmailsstring / arrayPresent only when enrichEmails is on and an email was found
scrapedAtISO datetimeWhen the row was collected

Archive provenance fields. Rows served by instantDatabase add servedFromDatabase: true and dataAsOf (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