ZoomInfo
Authentication Type: API Key
Description: B2B contact and company database with search and enrichment for sales prospecting. Look up contacts by name, job, or LinkedIn URL and enrich companies by domain.
Authentication
To authenticate, you'll need a ZoomInfo Bearer access token (JWT) for the GTM Data API. Generate one using your ZoomInfo OAuth2 client credentials or PKI auth — see the ZoomInfo Authentication docs.
Provide the Bearer token as the apiKey field. Tokens have a short lifetime (typically 1 hour); rotate as needed.
Search
Search the ZoomInfo database for contacts and companies using firmographic and demographic filters.
Search People
Find contacts using filters like job title, management level, department, company, location, and minimum contact accuracy score. Returns contact IDs and identifiers — pass them to People Enrichment to pull email and phone.
Operation Type: Query (Read)
Parameters:
- personTitles
array of strings(nullable): Job titles (e.g., ["VP of Sales", "Marketing Manager"]) - personFirstName
string(nullable): First name filter - personLastName
string(nullable): Last name filter - managementLevels
array of strings(nullable): C_Level, VP_Level, Director, Manager, Non_Manager - departments
array of strings(nullable): Department names (use the ZoomInfo Lookup endpoint for canonical values) - jobFunctions
array of strings(nullable): Job functions (e.g., "Sales Operations") - companyName
string(nullable): Scope to a specific employer - companyDomain
string(nullable): Employer domain (no "www." or "@") - companyIndustry
string(nullable): Industry keyword - companyEmployeeCountMin
number(nullable): Minimum employees at the company - companyEmployeeCountMax
number(nullable): Maximum employees at the company - companyRevenueMin
number(nullable): Minimum annual revenue in USD - companyRevenueMax
number(nullable): Maximum annual revenue in USD - locationPerson
array of strings(nullable): Where the contact lives - locationCompany
array of strings(nullable): Where the employer is HQ'd - contactAccuracyScoreMin
number(nullable): 0–100 minimum match-confidence threshold - requiredFields
array of strings(nullable): Fields that must be present (e.g., ["email", "directPhone"]) - page
number(default: 1): Page number (starting from 1) - perPage
number(default: 25): Records per page (max 100)
Returns:
- ZoomInfo's contact search response, including matching contacts (id, name, job title, employer summary) and result metadata.
Example Usage:
{
"personTitles": ["VP of Sales", "Head of Sales"],
"managementLevels": ["C_Level", "VP_Level"],
"companyIndustry": "Software",
"companyEmployeeCountMin": 100,
"companyEmployeeCountMax": 1000,
"locationPerson": ["United States"],
"contactAccuracyScoreMin": 85,
"requiredFields": ["email"],
"page": 1,
"perPage": 25
}
Search Organizations
Find companies using firmographic filters like name, domain, industry, employee count, revenue, location, and the tech stack they use.
Operation Type: Query (Read)
Parameters:
- companyNames
array of strings(nullable): Company names - companyDomains
array of strings(nullable): Company domains - companyIds
array of strings(nullable): ZoomInfo company IDs - industryKeywords
array of strings(nullable): Industry keywords (e.g., ["SaaS", "Fintech"]) - industryCodes
array of strings(nullable): NAICS or SIC codes - employeeCountMin
number(nullable): Minimum employee count - employeeCountMax
number(nullable): Maximum employee count - revenueMin
number(nullable): Minimum annual revenue in USD - revenueMax
number(nullable): Maximum annual revenue in USD - foundedYearMin
number(nullable): Earliest founding year - foundedYearMax
number(nullable): Latest founding year - locations
array of strings(nullable): HQ locations - companyType
string(nullable): "Public", "Private", "Subsidiary", etc. - companyRanking
string(nullable): "Fortune500", "Forbes2000", etc. - techCategories
array of strings(nullable): Tech categories used (e.g., ["CRM"]) - techProducts
array of strings(nullable): Specific products used (e.g., ["Salesforce"]) - techVendors
array of strings(nullable): Tech vendors used - requiredFields
array of strings(nullable): Fields that must be present - page
number(default: 1): Page number - perPage
number(default: 25): Records per page (max 100)
Returns:
- ZoomInfo's company search response, including matching companies and result metadata.
Example Usage:
{
"industryKeywords": ["B2B SaaS"],
"employeeCountMin": 50,
"employeeCountMax": 500,
"revenueMin": 10000000,
"locations": ["United States"],
"techProducts": ["Salesforce"],
"page": 1,
"perPage": 25
}
Enrichment
Append verified contact and firmographic data to records you already have.
People Enrichment
Match one or more contacts using any combination of identifiers (name, email, LinkedIn URL, phone, ZoomInfo person ID) and return work email, direct phone, job title, employer, and other profile fields. Up to 25 contacts per call.
Operation Type: Query (Read)
Parameters:
- matchPersonInput
array of objects(required): One match candidate per contact; provide as many identifiers as possible for accuracy.- personId
string(nullable): ZoomInfo person ID (preferred, most accurate) - firstName
string(nullable): First name - lastName
string(nullable): Last name - fullName
string(nullable): Full name (alternative to first + last) - emailAddress
string(nullable): Work or personal email - hashedEmail
string(nullable): MD5 or SHA-256 hashed email - phone
string(nullable): Phone number - jobTitle
string(nullable): Job title - companyId
string(nullable): ZoomInfo company ID - companyName
string(nullable): Employer name - companyDomain
string(nullable): Employer domain - linkedInUrl
string(nullable): LinkedIn profile URL
- personId
- outputFields
array of strings(nullable): Which fields to include in the response (e.g., ["email", "directPhoneDoNotCall", "managementLevel"]) - requiredFields
array of strings(nullable): Fields that must be populated for a match to be returned
Returns:
- ZoomInfo's contact enrichment response with one match record per submitted contact.
Example Usage:
{
"matchPersonInput": [
{
"firstName": "Jane",
"lastName": "Doe",
"companyDomain": "acme.com"
},
{
"linkedInUrl": "https://linkedin.com/in/janedoe"
}
],
"outputFields": ["email", "directPhoneDoNotCall", "jobTitle", "companyName"],
"requiredFields": ["email"]
}
Organization Enrichment
Match one or more companies using identifiers (name, domain, ticker, ZoomInfo company ID) and return industry, employee count, revenue, tech stack, and other firmographic data. Up to 25 companies per call.
Operation Type: Query (Read)
Parameters:
- matchCompanyInput
array of objects(required): One match candidate per company.- companyId
string(nullable): ZoomInfo company ID (preferred) - companyName
string(nullable): Company name - companyWebsite
string(nullable): Website or domain - companyTicker
string(nullable): Stock ticker symbol - companyPhone
string(nullable): Main phone number - companyFax
string(nullable): Fax number
- companyId
- outputFields
array of strings(nullable): Which fields to return (e.g., ["industry", "employeeCount", "revenue", "techStack"]) - requiredFields
array of strings(nullable): Fields that must be populated
Returns:
- ZoomInfo's company enrichment response with one match record per submitted company.
Example Usage:
{
"matchCompanyInput": [
{ "companyWebsite": "acme.com" },
{ "companyName": "Globex", "companyTicker": "GLBX" }
],
"outputFields": ["industry", "employeeCount", "revenue", "techStack", "linkedInUrl"],
"requiredFields": ["website"]
}
Common Use Cases
Lead Generation:
- Build target prospect lists by job function, management level, and employer industry
- Filter contacts by minimum accuracy score for outbound campaigns
- Discover decision-makers at companies on a target account list
Account Research:
- Pull firmographic snapshots (employee count, revenue, tech stack) for accounts before a sales call
- Identify subsidiaries, parents, and competitors by industry code
- Surface technographic signals to time outreach
CRM Enrichment:
- Append work emails and direct phones to CRM records that have name + company only
- Refresh stale company fields (employee count, revenue) on a recurring schedule
- Standardize industry codes across a contact list before segmentation
Workflow Automation:
- Trigger a ZoomInfo search after a new account is added to your CRM
- Enrich newly created contacts the moment they land
- Score and route inbound leads using ZoomInfo accuracy and firmographic data