Logo

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 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
  • 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
  • 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