---
updatedAt: 2026-05-19T16:20:43.000Z
agentTools:
  projectIndex: https://docs.gtm.ai/llms.txt
---

# Search Contacts

Returns a list of Contacts from ZoomInfo's data that meet the specified search criteria.

Input parameters may require specific values. You can use the [Lookup Data](ref:lookupinterface_lookup)
endpoint to retrieve the list of possible values

The Search Contacts API does not return emails, phone numbers, or any other data that can be used to engage with
the contacts in your results, but the results do include hints for what data ZoomInfo has for a specific contact.
To get the additional data for contacts, including emails or phone numbers, use the
[Enrich Contact API](ref:enrichinterface_enrichcontact)

With reference to ZoomInfo's [Credit Usage and Limits](doc:credit-usage-and-limits), this endpoint does not
consume any credits nor do contacts returned count towards record limits, but each request will increment against your
request limits.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Data API V1",
    "version": "1.0",
    "contact": {
      "name": "ZoomInfo Customer Support",
      "email": "help@zoominfo.com"
    },
    "description": "The Data API"
  },
  "tags": [
    {
      "name": "Search"
    }
  ],
  "paths": {
    "/data/v1/contacts/search": {
      "post": {
        "operationId": "SearchInterface_searchContact",
        "summary": "Search Contacts",
        "description": "Returns a list of Contacts from ZoomInfo's data that meet the specified search criteria.\n\nInput parameters may require specific values. You can use the [Lookup Data](https://docs.gtm.ai/zoominfoenterprise/reference/lookupinterface_lookup)\nendpoint to retrieve the list of possible values\n\nThe Search Contacts API does not return emails, phone numbers, or any other data that can be used to engage with\nthe contacts in your results, but the results do include hints for what data ZoomInfo has for a specific contact.\nTo get the additional data for contacts, including emails or phone numbers, use the\n[Enrich Contact API](https://docs.gtm.ai/zoominfoenterprise/reference/enrichinterface_enrichcontact)\n\nWith reference to ZoomInfo's [Credit Usage and Limits](https://docs.gtm.ai/zoominfoenterprise/docs/credit-usage-and-limits), this endpoint does not\nconsume any credits nor do contacts returned count towards record limits, but each request will increment against your\nrequest limits.",
        "parameters": [
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "description": "The page of results that you want to retrieve. If not provided, the first page\nof results will be returned. Use in connection with `page[size]` to handle large result sets.\n\nExample: `page[number]=2&page[size]=25` will return the second page of result (results 26-50 based\non the `sort` value).",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1
            },
            "explode": false
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "description": "Sets the number of records to return per page. If not provided, the default is 25 records per\npage. Valid values for page size are any integer from 1 to 100.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100
            },
            "explode": false
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort results by the specified output field. Valid values are contactAccuracyScore, lastName, companyName,\nhierarchy, sourceCount, lastMentioned, and relevance. Add minus sign ('-') for descending order. The default\nvalue if not provided is sorting by relevance in descending order `-relevance`\n\nExamples:\n- `lastName` will sort results by contact last name in ascending alphabetical order.\n- `-lastMentioned` will sort results in descending order (most recently to least recently mentioned)\nby the `lastMentioned` date for each contact",
            "schema": {
              "type": "string"
            },
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSearchResponse"
                },
                "examples": {
                  "Contact search by companyName, firstName, and lastName": {
                    "summary": "Contact search by companyName, firstName, and lastName",
                    "description": "This example demonstrates how to search for contacts using the ZoomInfo API utilizing multiple input fields. In this example, the companyName, firstName, and lastName fields are used to find a list of matching contacts.",
                    "value": {
                      "data": [
                        {
                          "attributes": {
                            "company": {
                              "id": 344589814,
                              "name": "ZoomInfo"
                            },
                            "contactAccuracyScore": 95,
                            "directPhoneDoNotCall": false,
                            "firstName": "Filip",
                            "hasCompanyCountry": true,
                            "hasCompanyEmployeeCount": true,
                            "hasCompanyIndustry": true,
                            "hasCompanyPhone": true,
                            "hasCompanyRevenue": true,
                            "hasCompanyState": true,
                            "hasCompanyStreet": true,
                            "hasCompanyZipCode": true,
                            "hasDirectPhone": false,
                            "hasEmail": true,
                            "hasMobilePhone": true,
                            "hasSupplementalEmail": true,
                            "jobTitle": "Chief Technology Officer",
                            "lastName": "Popovic",
                            "lastUpdatedDate": "2025-04-04T18:13:00Z",
                            "mobilePhoneDoNotCall": false,
                            "validDate": "2024-11-14T22:29:00Z"
                          },
                          "id": "4191419698",
                          "type": "Contact"
                        }
                      ],
                      "links": {
                        "first": "/data/v1/contacts/search?page[number]=1&page[size]=25",
                        "last": "/data/v1/contacts/search?page[number]=1&page[size]=25"
                      },
                      "meta": {
                        "page": {
                          "number": 1,
                          "total": 1
                        },
                        "totalResults": 1
                      }
                    }
                  },
                  "Contact search by personId": {
                    "summary": "Contact search by personId",
                    "description": "This example demonstrates how to search for contacts using the ZoomInfo API utilizing single field. In this example, the personId field is used to find a matching contact.",
                    "value": {
                      "data": [
                        {
                          "attributes": {
                            "company": {
                              "id": 344589814,
                              "name": "ZoomInfo"
                            },
                            "contactAccuracyScore": 94,
                            "directPhoneDoNotCall": false,
                            "firstName": "Henry",
                            "hasCompanyCountry": true,
                            "hasCompanyEmployeeCount": true,
                            "hasCompanyIndustry": true,
                            "hasCompanyPhone": true,
                            "hasCompanyRevenue": true,
                            "hasCompanyState": true,
                            "hasCompanyStreet": true,
                            "hasCompanyZipCode": true,
                            "hasDirectPhone": true,
                            "hasEmail": true,
                            "hasMobilePhone": false,
                            "hasSupplementalEmail": true,
                            "jobTitle": "Chief Executive Officer & Board Member",
                            "lastName": "Schuck",
                            "lastUpdatedDate": "2024-10-21T14:05:00Z",
                            "middleName": "L.",
                            "mobilePhoneDoNotCall": false,
                            "validDate": "2024-11-14T22:29:00Z"
                          },
                          "id": "1260398587",
                          "type": "Contact"
                        }
                      ],
                      "links": {
                        "first": "/data/v1/contacts/search?page[number]=1&page[size]=25",
                        "last": "/data/v1/contacts/search?page[number]=1&page[size]=25"
                      },
                      "meta": {
                        "page": {
                          "number": 1,
                          "total": 1
                        },
                        "totalResults": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactSearchRequest"
              },
              "examples": {
                "Contact search by companyName, firstName, and lastName": {
                  "summary": "Contact search by companyName, firstName, and lastName",
                  "description": "This example demonstrates how to search for contacts using the ZoomInfo API utilizing multiple input fields. In this example, the companyName, firstName, and lastName fields are used to find a list of matching contacts.",
                  "value": {
                    "data": {
                      "attributes": {
                        "companyName": "ZoomInfo",
                        "firstName": "Filip",
                        "lastName": "Popovic"
                      },
                      "type": "ContactSearch"
                    }
                  }
                },
                "Contact search by personId": {
                  "summary": "Contact search by personId",
                  "description": "This example demonstrates how to search for contacts using the ZoomInfo API utilizing single field. In this example, the personId field is used to find a matching contact.",
                  "value": {
                    "data": {
                      "attributes": {
                        "personId": "1260398587"
                      },
                      "type": "ContactSearch"
                    }
                  }
                }
              }
            }
          },
          "description": "The request body containing contact search criteria."
        },
        "security": [
          {
            "OAuth2Auth": [
              "api:data:contact"
            ]
          }
        ],
        "x-additional-content-types": [
          "application/json"
        ],
        "x-api-roles": [
          "fea:zia",
          "fea:api"
        ],
        "x-api-role-requirement": "ANY_REQUIRED"
      }
    }
  },
  "security": [
    {
      "OAuth2Auth": []
    }
  ],
  "components": {
    "schemas": {
      "ManagementStatus": {
        "type": "object",
        "properties": {
          "underManagement": {
            "type": "boolean",
            "description": "Indicates whether record is under management within the contract period."
          },
          "purchaseDate": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates when record was purchased if it is under management."
          }
        },
        "description": "Management status of the record."
      },
      "ContactCompanySearch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique ZoomInfo identifier for a company."
          },
          "name": {
            "type": "string",
            "description": "Company Name."
          }
        },
        "description": "Contact's company data."
      },
      "ContactSearchResponseAttributes": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "Contact first name."
          },
          "middleName": {
            "type": "string",
            "description": "Contact middle name."
          },
          "lastName": {
            "type": "string",
            "description": "Contact last name."
          },
          "validDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the contact record was last validated."
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the contact record was last updated."
          },
          "jobTitle": {
            "type": "string",
            "description": "Contact job title at current place of employment."
          },
          "contactAccuracyScore": {
            "type": "number",
            "format": "double",
            "description": "This score indicates the likelihood that a contact is reachable and still employed by the company listed. Minimum score is 75 and maximum is 99."
          },
          "managementLevel": {
            "type": "string",
            "description": "Comma-separated list of contact management levels."
          },
          "school": {
            "type": "string",
            "description": "Get last Education information."
          },
          "hasEmail": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has an email address for the contact."
          },
          "hasSupplementalEmail": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a supplemental email address for the contact."
          },
          "hasDirectPhone": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a direct phone number for the contact."
          },
          "hasMobilePhone": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a mobile phone number for the contact."
          },
          "hasCompanyIndustry": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has company industry for the contact."
          },
          "hasCompanyPhone": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a company phone number for the contact."
          },
          "hasCompanyStreet": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a street address for the contact."
          },
          "hasCompanyState": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a state for the contact."
          },
          "hasCompanyZipCode": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a zip code or postal code for the contact."
          },
          "hasCompanyCountry": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has a country for the contact."
          },
          "hasCompanyRevenue": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has company revenue data for the contact."
          },
          "hasCompanyEmployeeCount": {
            "type": "boolean",
            "description": "Indicates whether ZoomInfo has company headcount data for the contact."
          },
          "directPhoneDoNotCall": {
            "type": "boolean",
            "description": "Contact flagged with do not call for direct phone."
          },
          "mobilePhoneDoNotCall": {
            "type": "boolean",
            "description": "Contact flagged with do not call for mobile phone."
          },
          "managementStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ManagementStatus"
              }
            ],
            "description": "Management status of the record."
          },
          "company": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactCompanySearch"
              }
            ],
            "description": "Contact's company data for search request."
          }
        },
        "description": "Response attributes for contact search.",
        "x-class-extra-annotation": "@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)"
      },
      "Contact": {
        "type": "object",
        "required": [
          "id",
          "type",
          "attributes"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the resource"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource",
            "default": "Contact",
            "pattern": "Contact"
          },
          "attributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactSearchResponseAttributes"
              }
            ],
            "description": "The attributes defining the resource"
          }
        },
        "description": "ZoomInfo Contact"
      },
      "Page": {
        "type": "object",
        "required": [
          "total",
          "number"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "uint32",
            "description": "The total number of pages within the current result set"
          },
          "number": {
            "type": "integer",
            "format": "uint32",
            "description": "The current page number of the results"
          }
        },
        "description": "Meta information related to the current page and total number of pages"
      },
      "ResultMeta": {
        "type": "object",
        "required": [
          "totalResults",
          "page"
        ],
        "properties": {
          "totalResults": {
            "type": "integer",
            "format": "uint32",
            "description": "The total number of results based on the specified filters"
          },
          "page": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Page"
              }
            ],
            "description": "Paging information for the current result set"
          }
        },
        "description": "Metadata including paging information and the total number of records in the result set"
      },
      "Links": {
        "type": "object",
        "properties": {
          "first": {
            "type": "string",
            "format": "uri",
            "description": "A link to the first page of data"
          },
          "last": {
            "type": "string",
            "format": "uri",
            "description": "A link to the last page of data"
          },
          "prev": {
            "type": "string",
            "format": "uri",
            "description": "A link to the previous page of data"
          },
          "next": {
            "type": "string",
            "format": "uri",
            "description": "A link to the next page of data"
          }
        },
        "description": "Helpful links for fetching different pages of data from the current result set. When using these links, please provide the exact same request body between requests"
      },
      "ContactSearchResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "The primary data of the document"
          },
          "meta": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultMeta"
              }
            ],
            "description": "Non-standard meta information about the document"
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Links"
              }
            ],
            "description": "Links related to the primary data"
          }
        },
        "description": "A list of contacts that match the criteria specified in the request"
      },
      "ZoomInfo.Core.Foundations.ErrorSourceModel": {
        "type": "object",
        "properties": {
          "cookie": {
            "type": "string",
            "description": "Identifies the cookie name that caused the issue"
          },
          "header": {
            "type": "string",
            "description": "Identifies the header name that caused the error"
          },
          "pointer": {
            "type": "string",
            "description": "An RFC 6901 compliant JSON pointer to the entity in the request body that caused the error"
          },
          "parameter": {
            "type": "string",
            "description": "The name of the path or query parameter that caused the error"
          }
        }
      },
      "ZoomInfo.Core.Foundations.ErrorModel": {
        "type": "object",
        "required": [
          "id",
          "code",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique id used to identify this specific error instance"
          },
          "code": {
            "type": "string",
            "description": "The error code describing the error category. A full list of error codes can be found in the documentation for each service"
          },
          "detail": {
            "type": "string",
            "description": "Message containing the specific details about this occurrence of the error"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorSourceModel"
              }
            ],
            "description": "An optional object identifying which part of the request caused the error"
          },
          "status": {
            "type": "string",
            "description": "The HTTP status code for the error"
          },
          "title": {
            "type": "string",
            "description": "The error name that describes this type of error"
          }
        },
        "description": "The object describing a specific error from the API"
      },
      "ZoomInfo.Core.Foundations.ErrorResponseModel": {
        "type": "object",
        "required": [
          "errors"
        ],
        "properties": {
          "detail": {
            "type": "string",
            "description": "A high-level detail of the error(s) that occurred during the request"
          },
          "title": {
            "type": "string",
            "description": "A high-level summary of the error(s) detected"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorModel"
            },
            "description": "The list of errors raised during the request"
          }
        },
        "description": "The standard error response body model for the ZoomInfo API."
      },
      "ContactsEmploymentHistory": {
        "type": "object",
        "required": [
          "companyName",
          "jobTitle"
        ],
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Company name of past employment."
          },
          "jobTitle": {
            "type": "string",
            "description": "Job title at past employment."
          }
        },
        "description": "Employment history criteria used in contact search."
      },
      "ContactSearchRequestAttributes": {
        "type": "object",
        "properties": {
          "lastUpdatedDateAfter": {
            "type": "string",
            "format": "date",
            "description": "Limit results to only contacts that have a `lastUpdateDate` **after** the provided value.\nThe value must be a date formatted using the ISO 8601 date format (YYYY-MM-DD).\n\nExample value: `2024-01-01` will return only contacts with a `lastUpdatedDate` after January 1, 2024"
          },
          "validDateAfter": {
            "type": "string",
            "format": "date",
            "description": "Limit results to only contacts that have a `validDate` **after** the provided value.\nThe value must be a date formatted using the ISO 8601 date format (YYYY-MM-DD)\n\nExample value: `2024-01-01` will return only contacts with a `validDate` after January 1, 2024"
          },
          "phone": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "List of phone numbers used to locate the contacts you are searching for. The phone numbers can either\nbe direct dial office phone numbers or mobile phone numbers. Contacts will be returned if they match a single\nphone number from the provided list. Phone numbers can be formatted in any standard format as all non-digit\ncharacters will be stripped before searching.\n\nExample: `800-555-2345` is functionally equivalent to `8005552345` as an input value"
          },
          "positionStartDateMin": {
            "type": "string",
            "format": "date",
            "description": "Minimum date for when a contact began current employment. Use with positionStartDateMax to set a range. Uses YYYY-MM-DD format."
          },
          "positionStartDateMax": {
            "type": "string",
            "format": "date",
            "description": "Maximum date for when a contact began current employment. Use with positionStartDateMin to set a range. Uses YYYY-MM-DD format."
          },
          "supplementalEmail": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "Supplemental email address for the contact in example@example.com format."
          },
          "webReferences": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "List of Web References for a contact. Default criteria is OR between multiple values. Should only contain english letters and numbers."
          },
          "buyingGroup": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "description": "Filters results based on the provided Buying Group ID. Only one ID can be submitted."
          },
          "techSkills": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "List of technology skill IDs for a contact. Default criteria is OR between multiple values. Should only contain string numbers. Find the IDs for the skills in the lookup endpoint."
          },
          "yearsOfExperience": {
            "type": "string",
            "maxLength": 500,
            "description": "Total years of experience. Accepts a comma-separated list. Allowed values: `0-1`, `2-3`, `4-5`, `6-7`, `8-9`, `10-14`, `15-19`, `20-29`, `30-39`, `40-49`, `50-59`."
          },
          "personId": {
            "type": "string",
            "maxLength": 500,
            "description": "Unique ZoomInfo identifier for the contact. Can include a comma-separated list."
          },
          "emailAddress": {
            "type": "string",
            "maxLength": 500,
            "description": "Email address for the contact in example@example.com format. Accepts a comma-separated list."
          },
          "hashedEmail": {
            "type": "string",
            "maxLength": 500,
            "description": "Hashed email value for the contact. Allows searching via an email address with the extra security of not exposing the email. Supported hash algorithms are: MD5, SHA1, SHA256 and SHA512."
          },
          "fullName": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact full name."
          },
          "firstName": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact first name."
          },
          "middleInitial": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact middle initial."
          },
          "lastName": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact last name."
          },
          "jobTitle": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact title at current place of employment. Use OR to input multiple job titles. Each title may only contain letters, numbers, whitespace, and the special characters `+&,./'-\"` (parentheses are not permitted; use exactJobTitle if parentheses are required)."
          },
          "exactJobTitle": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact title at current place of employment using exact match logic. Use OR to input multiple job titles. Each title may only contain letters, numbers, whitespace, and the special characters `+&,./'-\"()`. Unlike jobTitle, parentheses are permitted here."
          },
          "excludeJobTitle": {
            "type": "string",
            "maxLength": 500,
            "description": "Comma-separated list of job titles to exclude from search results. Each title may only contain letters, numbers, whitespace, and the special characters `+&,./'-\"` (parentheses are not permitted)."
          },
          "managementLevel": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact management level at current place of employment. Accepts a comma-separated list. Allowed values (case-insensitive): `Board Member`, `C Level Exec`, `VP Level Exec`, `Director`, `Manager`, `Non Manager`."
          },
          "excludeManagementLevel": {
            "type": "string",
            "maxLength": 500,
            "description": "Comma-separated list of management levels to exclude from search results. Allowed values (case-insensitive): `Board Member`, `C Level Exec`, `VP Level Exec`, `Director`, `Manager`, `Non Manager`."
          },
          "department": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact department at current place of employment. Accepts a comma-separated list of values."
          },
          "boardMember": {
            "type": "string",
            "maxLength": 500,
            "description": "Exclude or include board members from search results. Default behavior is to exclude board members from search results. Submit this as `include` to include board members, set this as `only` to only include board members."
          },
          "excludePartialProfiles": {
            "type": "boolean",
            "description": "Defaults to false. To include partial profiles in your search results, set this to true. Contacts who do not have an active company associated with them are considered partial profiles."
          },
          "executivesOnly": {
            "type": "boolean",
            "description": "Defaults to false. Set this to true to include only executives in search results."
          },
          "requiredFields": {
            "type": "string",
            "maxLength": 500,
            "description": "Specify a list of required fields for each record returned. Can include a comma-separated list of these values (case-insensitive): `email` (business email), `phone` (direct or company phone), `directPhone` (contact's direct phone), `personalEmail`, `mobilePhone`."
          },
          "contactAccuracyScoreMin": {
            "type": "string",
            "maxLength": 500,
            "description": "Minimum accuracy score for search results. This score indicates the likelihood that a contact is reachable and still employed by the company listed. Minimum score is 70 and maximum is 99."
          },
          "contactAccuracyScoreMax": {
            "type": "string",
            "maxLength": 500,
            "description": "Maximum accuracy score for search results. This score indicates the likelihood that a contact is reachable and still employed by the company listed. Minimum score is 70 and maximum is 99."
          },
          "jobFunction": {
            "type": "string",
            "maxLength": 500,
            "description": "Contact job function at their current place of employment."
          },
          "lastUpdatedInMonths": {
            "type": "integer",
            "format": "int32",
            "description": "Number of months within which the contact's profile was last updated. Minimum value is 0."
          },
          "hasBeenNotified": {
            "type": "string",
            "maxLength": 500,
            "description": "Defaults to include. Set this to `exclude` to exclude contacts who have been notified of inclusion in ZoomInfo's database. Set this to `only` to only include contacts who have been notified."
          },
          "companyPastOrPresent": {
            "type": "string",
            "maxLength": 500,
            "description": "Defaults to `present`, which only includes the present company for a contact. Set this to `past` to return past companies, set this to `pastAndPresent` to include both."
          },
          "school": {
            "type": "string",
            "maxLength": 500,
            "description": "School name."
          },
          "degree": {
            "type": "string",
            "maxLength": 500,
            "description": "Searches by contact's education."
          },
          "locationCompanyId": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "maxItems": 50,
            "description": "Searches by contact's locationIds."
          },
          "underManagement": {
            "type": "boolean",
            "description": "Returns whether or not record is under management if set to true."
          },
          "employmentHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactsEmploymentHistory"
            },
            "maxItems": 5,
            "description": "Search by contact's past employments. Accepts an array of past employment criteria. Contacts matching ANY of the provided past employment records will be returned."
          },
          "companyTicker": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "Company stock ticker symbol."
          },
          "companyDescription": {
            "type": "string",
            "maxLength": 500,
            "description": "Search for companies based on description. Accepts a space-separated list of individual words."
          },
          "companyType": {
            "type": "string",
            "maxLength": 500,
            "description": "Company type. Accepts a comma-separated list of types. Allowed values (case-insensitive): `none`, `private`, `public`, `npo`, `education`, `government`, `other`."
          },
          "address": {
            "type": "string",
            "maxLength": 500,
            "description": "Full Company Address."
          },
          "street": {
            "type": "string",
            "maxLength": 500,
            "description": "Street address portion of the company's location."
          },
          "state": {
            "type": "string",
            "maxLength": 500,
            "description": "State or province of the company's address."
          },
          "zipCode": {
            "type": "string",
            "maxLength": 500,
            "description": "Zip Code or Postal Code of the company's address. May only contain letters, numbers, whitespace, and the special characters `,-`."
          },
          "country": {
            "type": "string",
            "maxLength": 500,
            "description": "Country of the primary address of the associated company."
          },
          "continent": {
            "type": "string",
            "maxLength": 500,
            "description": "Continent of the primary address of the associated company."
          },
          "zipCodeRadiusMiles": {
            "type": "integer",
            "format": "int16",
            "description": "Used in conjunction with zipCode, designates a geographical radius (in miles) from the zipCode provided. Supported values are [10, 25, 50, 100, 250]"
          },
          "hashTagString": {
            "type": "string",
            "maxLength": 500,
            "description": "Hash tags for a company. Can include a comma-separated list."
          },
          "techAttributeTagList": {
            "type": "string",
            "maxLength": 500,
            "description": "Technology Product Tags. Can include a comma-separated list."
          },
          "primaryIndustriesOnly": {
            "type": "boolean",
            "description": "Default is false. Used in conjunction with the industryCodes input parameter. When set to true, any result returned must have one of the specified industries as a primary industry. If no industries are specified, then this parameter will be ignored."
          },
          "subUnitTypes": {
            "type": "string",
            "maxLength": 500,
            "description": "Company sub types (e.g., division, subsidiary). Use this in conjunction with parentId or ultimateParentId."
          },
          "industryCodes": {
            "type": "string",
            "maxLength": 500,
            "description": "Top-level industry that the contact works in. A contact can have multiple top level industries. Tags are based on the contact's current company. Can include a comma-separated list."
          },
          "industryKeywords": {
            "type": "string",
            "maxLength": 500,
            "description": "Industry keywords associated with a company. Can include either 'AND' or 'OR' operators. For example, 'software AND security' or 'software OR security'"
          },
          "sicCodes": {
            "type": "string",
            "maxLength": 500,
            "description": "The Standard Industrial Classification is a system for classifying industries by a four-digit code numerical assigned by the U.S. government to business establishments to identify the primary business of the establishment. Accepts a comma-separated list."
          },
          "naicsCodes": {
            "type": "string",
            "maxLength": 500,
            "description": "Four-digit numerical codes assigned by the U.S. government to business establishments to identify the primary business of the establishment. Accepts a comma-separated list of values."
          },
          "revenue": {
            "type": "string",
            "maxLength": 500,
            "description": "Annual revenue range in U.S. dollars. Accepts a comma-separated list of values."
          },
          "revenueMin": {
            "type": "integer",
            "format": "int32",
            "description": "Minimum annual revenue for a company in U.S. dollars (expressed in thousands). Use with revenueMax to set a range."
          },
          "revenueMax": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum annual revenue for a company in U.S. dollars (expressed in thousands). Use with revenueMin to set a range."
          },
          "employeeRangeMin": {
            "type": "string",
            "maxLength": 500,
            "description": "Minimum employee count for a company. Use with employeeRangeMax to set a range. Alternatively, you can use the employeeCount parameter to search for pre-defined ranges."
          },
          "employeeRangeMax": {
            "type": "string",
            "maxLength": 500,
            "description": "Maximum employee count for a company. Use with employeeRangeMin to set a range. Alternatively, you can use the employeeCount parameter to search for pre-defined ranges."
          },
          "employeeCount": {
            "type": "string",
            "maxLength": 500,
            "description": "Employee count range. Accepts a comma-separated list of values. Alternatively, for more granular ranges, you can use the employeeRangeMin and employeeRangeMax parameters."
          },
          "companyRanking": {
            "type": "string",
            "maxLength": 500,
            "description": "Company ranking (e.g., Fortune 500). Accepts a comma-separated list of IDs."
          },
          "metroRegion": {
            "type": "string",
            "maxLength": 500,
            "description": "Company metro area. Accepts a comma-separated list of U.S. and Canada metro areas."
          },
          "locationSearchType": {
            "type": "string",
            "maxLength": 500,
            "description": "Location type (PersonOrHQ, PersonAndHQ, Person, HQ, PersonThenHQ)."
          },
          "fundingAmountMin": {
            "type": "integer",
            "format": "int32",
            "description": "Minimum funding amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0. If fundingAmountMin is used without fundingAmountMax, the result will be the amount specified or greater."
          },
          "fundingAmountMax": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum funding amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0. If fundingAmountMax is used without fundingAmountMin, the result will be the amount specified or less."
          },
          "fundingStartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the funding in YYYY-MM-DD format. If fundingStartDate and fundingEndDate are both specified, they will be used as a range. Start date after end date returns an error. If start date and end date are the same, will return results for exact date."
          },
          "fundingEndDate": {
            "type": "string",
            "format": "date",
            "description": "End date of the funding in YYYY-MM-DD format. If fundingStartDate and fundingEndDate are both specified, they will be used as a range. Start date after end date returns an error. If start date and end date are the same, will return results for exact date."
          },
          "recentFundingRoundTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "Filters for companies whose most recent funding round matches one of the given types. Accepts an array of values from the endpoint: /lookup/funding-round-types. This is a different filter mode than allFundingRoundTypes (which matches any round in the company's history), so only one of the two should be supplied per request."
          },
          "allFundingRoundTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "Filters for companies that have had any funding round (at any point in their history) matching one of the given types. Accepts an array of values from the endpoint: /lookup/funding-round-types. This is a different filter mode than recentFundingRoundTypes (which matches only the most recent round), so only one of the two should be supplied per request."
          },
          "zoominfoContactsMin": {
            "type": "string",
            "maxLength": 500,
            "description": "Minimum number of ZoomInfo contacts associated with company."
          },
          "zoominfoContactsMax": {
            "type": "string",
            "maxLength": 500,
            "description": "Maximum number of ZoomInfo contacts associated with company."
          },
          "excludedRegions": {
            "type": "string",
            "maxLength": 500,
            "description": "Accepts a comma-separated list of U.S. and Canada states and metro areas. Companies from any of these regions will be excluded from search results."
          },
          "companyStructureIncludedSubUnitTypes": {
            "type": "string",
            "maxLength": 500,
            "description": "Company hierarchical structure values. Accepts a comma-separated list of values from 'UNSPECIFIED', 'LOCATION', 'DIVISION', 'ACQUISITION', 'SUBSIDIARY', 'FORMER_NEW_NAME'."
          },
          "oneYearEmployeeGrowthRateMin": {
            "type": "string",
            "maxLength": 500,
            "description": "Minimum one year employee growth rate for a company. Use with oneYearEmployeeGrowthRateMax to set a range."
          },
          "oneYearEmployeeGrowthRateMax": {
            "type": "string",
            "maxLength": 500,
            "description": "Maximum one year employee growth rate for a company. Use with oneYearEmployeeGrowthRateMin to set a range."
          },
          "twoYearEmployeeGrowthRateMin": {
            "type": "string",
            "maxLength": 500,
            "description": "Minimum two year employee growth rate for a company. Use with twoYearEmployeeGrowthRateMax to set a range."
          },
          "twoYearEmployeeGrowthRateMax": {
            "type": "string",
            "maxLength": 500,
            "description": "Maximum two year employee growth rate for a company. Use with twoYearEmployeeGrowthRateMin to set a range."
          },
          "parentId": {
            "type": "string",
            "maxLength": 500,
            "description": "ZoomInfo Company ID for parent company."
          },
          "ultimateParentId": {
            "type": "string",
            "maxLength": 500,
            "description": "Company sub types (e.g., division, subsidiary). Use this in conjunction with parentId or ultimateParentId."
          },
          "companyId": {
            "type": "string",
            "maxLength": 500,
            "description": "Unique ZoomInfo identifier for a company."
          },
          "companyName": {
            "type": "string",
            "maxLength": 500,
            "description": "Company name."
          },
          "companyWebsite": {
            "type": "string",
            "maxLength": 500,
            "description": "Company website URL in http://www.example.com format. Accepts a comma-separated list."
          },
          "engagementStartDate": {
            "type": "string",
            "format": "date",
            "description": "Engagement start date in YYYY-MM-DD format."
          },
          "engagementEndDate": {
            "type": "string",
            "format": "date",
            "description": "Engagement end date in YYYY-MM-DD format. EngagementStartDate is required."
          },
          "engagementType": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "description": "List of engagement types to search for. Accepted values are 'email', 'phone', 'online meeting'. Accepts a comma-separated list of these values."
          },
          "excludeTechAttributeTagList": {
            "type": "string",
            "maxLength": 500,
            "description": "Exclude companies with these technology product tags. String can be one value ('131315') or a comma-separated list which is treated as OR logic ('131315, 132222'). Individual values can also include AND logic ('131315 AND 131301, 132222'). This last example would be evaluated as ((131201 AND 131301) OR 132222)."
          }
        },
        "description": "Request Attributes for contact search."
      },
      "ContactSearchResource": {
        "type": "object",
        "required": [
          "type",
          "attributes"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the resource",
            "default": "ContactSearch",
            "pattern": "ContactSearch"
          },
          "attributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactSearchRequestAttributes"
              }
            ],
            "description": "The attributes defining the resource"
          }
        },
        "description": "Contact search request resource."
      },
      "ContactSearchRequest": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactSearchResource"
              }
            ],
            "description": "The primary data of the document"
          }
        },
        "description": "Contact search request."
      }
    },
    "securitySchemes": {
      "OAuth2Auth": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.zoominfo.com",
            "tokenUrl": "https://okta-login.zoominfo.com/oauth2/default/v1/token",
            "scopes": {
              "api:data:contact": "Ability to search and enrich ZoomInfo Contact data",
              "api:data:company": "Ability to search and enrich ZoomInfo Company data",
              "api:data:intent": "Ability to search and enrich ZoomInfo Intent data",
              "api:data:news": "Ability to search and enrich ZoomInfo News data",
              "api:data:scoops": "Ability to search and enrich ZoomInfo Scoop data",
              "api:data:lookup": "Lookup ZoomInfo Data"
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.zoominfo.com/gtm",
      "description": "Base URL for the Data API"
    }
  ]
}
```

# Sibling pages

* [Search Companies](https://docs.gtm.ai/zoominfoenterprise/reference/searchinterface_searchcompany.md)
* [Search Intent](https://docs.gtm.ai/zoominfoenterprise/reference/searchinterface_searchintent.md)
* [Search News](https://docs.gtm.ai/zoominfoenterprise/reference/searchinterface_searchnews.md)
* [Search Scoops](https://docs.gtm.ai/zoominfoenterprise/reference/searchinterface_searchscoop.md)