PitchBook Adapter
How the DMTR extension extracts entities from PitchBook company and investor profile pages.
Overview
The PitchBook adapter is the first implemented SiteAdapter. It runs on pitchbook.com and my.pitchbook.com company and investor profile pages, extracting entity names from the page DOM and resolving them against the DMTR intelligence database.
URL patterns
| Pattern | Page type |
|---|---|
pitchbook.com/profiles/company/* | Company profiles |
my.pitchbook.com/profiles/company/* | Company profiles (authenticated) |
pitchbook.com/profiles/investor/* | Investor profiles |
my.pitchbook.com/profiles/investor/* | Investor profiles (authenticated) |
Entity extraction
Primary entity (company/investor name)
The adapter tries these CSS selectors in order for the page's primary entity:
h1.profile-header__title[data-test="profile-header-title"]h1.header-title.company-name h1h1(fallback)
The first selector that returns non-empty text content becomes the primary extracted entity with confidence: 0.9 and source: "pitchbook-profile-header".
Investor table entities
The adapter also extracts investor names from deal tables:
- Selector:
.investors-table a[href*="/profiles/"], .deal-investors a[href*="/profiles/"] - Each linked name is extracted as a separate entity with
type: "investor",confidence: 0.7, andsource: "pitchbook-investors-table"
Profile metadata
Additional metadata is extracted when available:
| Field | Selectors |
|---|---|
| Valuation | [data-test="valuation"], .post-valuation .value, .valuation-amount |
| Sector | [data-test="primary-industry"], .industry-classification .value |
| Location | [data-test="headquarters"], .headquarters .value |
| Founded | [data-test="year-founded"], .year-founded .value |
Injection points
The adapter identifies two potential injection points for enrichment UI:
- Badge — after the profile header (
h1.profile-header__title) - Panel — before the sidebar (
.profile-sidebar)
Injection is not yet active in this sprint; the side panel is the primary UI.
Limitations
- PitchBook's DOM structure may change without notice, breaking selectors
- Authenticated pages (
my.pitchbook.com) may have different DOM structures than public pages - The adapter does not extract data from PitchBook's JavaScript-rendered tables that load asynchronously