> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ZoomInfo: Search Contacts

> Find people matching filters like job title, seniority, department and company, without emails or phones. Includes SDK V2 examples, schemas, and cost.

Find people matching filters like job title, seniority, department and company, without emails or phones.

> [!NOTE]
>
> Tool ID: `zoominfo_search_contacts`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'zoominfo_search_contacts',
  {
    "data": {
      "type": "ContactSearch",
      "attributes": {
        "lastUpdatedDateAfter": "2026-01-15",
        "validDateAfter": "2026-01-15",
        "phone": [
          "+14155550123"
        ]
      }
    }
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute zoominfo_search_contacts --input '{
  "data": {
    "type": "ContactSearch",
    "attributes": {
      "lastUpdatedDateAfter": "2026-01-15",
      "validDateAfter": "2026-01-15",
      "phone": [
        "+14155550123"
      ]
    }
  }
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "data": [
      {
        "id": "id_123",
        "type": "Contact",
        "attributes": {
          "firstName": "Jane",
          "middleName": "Example",
          "lastName": "Doe"
        }
      }
    ]
  }
}
```

Use `deepline describe zoominfo_search_contacts --json` for the latest machine-readable contract.

## Input reference

Contact search request.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.page` | `object` | No | — | The page of results that you want to retrieve. If not provided, the first page of results will be returned. Use in connection with `page[size]` to handle large result sets. Example: `page[number]=2&page[size]=25` will return the second page of result (results 26-50 based on the `sort` value). |
| `payload.sort` | `string` | No | — | Sort results by the specified output field. Valid values are contactAccuracyScore, lastName, companyName, hierarchy, sourceCount, lastMentioned, and relevance. Add minus sign ('-') for descending order. The default value if not provided is sorting by relevance in descending order `-relevance` Examples: - `lastName` will sort results by contact last name in ascending alphabetical order. - `-lastMentioned` will sort results in descending order (most recently to least recently mentioned) by the See the live schema for the complete constraint. |
| `payload.data` | `object` | Yes | — | Contact search request resource. |

> [!NOTE]
>
> This input schema is too large for an inline display. Read the complete live contract with `deepline describe zoominfo_search_contacts --json`.

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | A list of contacts that match the criteria specified in the request |
| `result.data.data` | `array` | Yes | — | The primary data of the document |
| `result.data.data[].id` | `string` | Yes | — | The unique identifier for the resource |
| `result.data.data[].type` | `string` | Yes | `"Contact"` | The type of the resource Pattern: `Contact`. |
| `result.data.data[].attributes` | `object` | Yes | — | Response attributes for contact search. |
| `result.data.data[].attributes.firstName` | `string` | No | — | Contact first name. |
| `result.data.data[].attributes.middleName` | `string` | No | — | Contact middle name. |
| `result.data.data[].attributes.lastName` | `string` | No | — | Contact last name. |
| `result.data.data[].attributes.validDate` | `string` | No | — | Date on which the contact record was last validated. Format: `date-time`. |
| `result.data.data[].attributes.lastUpdatedDate` | `string` | No | — | Date on which the contact record was last updated. Format: `date-time`. |
| `result.data.data[].attributes.jobTitle` | `string` | No | — | Contact job title at current place of employment. |
| `result.data.data[].attributes.contactAccuracyScore` | `number` | No | — | 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. Format: `double`. |
| `result.data.data[].attributes.managementLevel` | `string` | No | — | Comma-separated list of contact management levels. |
| `result.data.data[].attributes.school` | `string` | No | — | Get last Education information. |
| `result.data.data[].attributes.hasEmail` | `boolean` | No | — | Indicates whether ZoomInfo has an email address for the contact. |
| `result.data.data[].attributes.hasSupplementalEmail` | `boolean` | No | — | Indicates whether ZoomInfo has a supplemental email address for the contact. |
| `result.data.data[].attributes.hasDirectPhone` | `boolean` | No | — | Indicates whether ZoomInfo has a direct phone number for the contact. |
| `result.data.data[].attributes.hasMobilePhone` | `boolean` | No | — | Indicates whether ZoomInfo has a mobile phone number for the contact. |
| `result.data.data[].attributes.hasCompanyIndustry` | `boolean` | No | — | Indicates whether ZoomInfo has company industry for the contact. |
| `result.data.data[].attributes.hasCompanyPhone` | `boolean` | No | — | Indicates whether ZoomInfo has a company phone number for the contact. |
| `result.data.data[].attributes.hasCompanyStreet` | `boolean` | No | — | Indicates whether ZoomInfo has a street address for the contact. |
| `result.data.data[].attributes.hasCompanyState` | `boolean` | No | — | Indicates whether ZoomInfo has a state for the contact. |
| `result.data.data[].attributes.hasCompanyZipCode` | `boolean` | No | — | Indicates whether ZoomInfo has a zip code or postal code for the contact. |
| `result.data.data[].attributes.hasCompanyCountry` | `boolean` | No | — | Indicates whether ZoomInfo has a country for the contact. |
| `result.data.data[].attributes.hasCompanyRevenue` | `boolean` | No | — | Indicates whether ZoomInfo has company revenue data for the contact. |
| `result.data.data[].attributes.hasCompanyEmployeeCount` | `boolean` | No | — | Indicates whether ZoomInfo has company headcount data for the contact. |
| `result.data.data[].attributes.directPhoneDoNotCall` | `boolean` | No | — | Contact flagged with do not call for direct phone. |
| `result.data.data[].attributes.mobilePhoneDoNotCall` | `boolean` | No | — | Contact flagged with do not call for mobile phone. |
| `result.data.data[].attributes.managementStatus` | `object` | No | — | Management status of the record. |
| `result.data.data[].attributes.managementStatus.underManagement` | `boolean` | No | — | Indicates whether record is under management within the contract period. |
| `result.data.data[].attributes.managementStatus.purchaseDate` | `string` | No | — | Indicates when record was purchased if it is under management. Format: `date-time`. |
| `result.data.data[].attributes.company` | `object` | No | — | Contact's company data. |
| `result.data.data[].attributes.company.id` | `integer` | No | — | Unique ZoomInfo identifier for a company. Format: `int64`. |
| `result.data.data[].attributes.company.name` | `string` | No | — | Company Name. |
| `result.data.meta` | `object` | No | — | Metadata including paging information and the total number of records in the result set |
| `result.data.meta.totalResults` | `integer` | Yes | — | The total number of results based on the specified filters Format: `uint32`. |
| `result.data.meta.page` | `object` | Yes | — | Meta information related to the current page and total number of pages |
| `result.data.meta.page.total` | `integer` | Yes | — | The total number of pages within the current result set Format: `uint32`. |
| `result.data.meta.page.number` | `integer` | Yes | — | The current page number of the results Format: `uint32`. |
| `result.data.links` | `object` | No | — | 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 |
| `result.data.links.first` | `string` | No | — | A link to the first page of data Format: `uri`. |
| `result.data.links.last` | `string` | No | — | A link to the last page of data Format: `uri`. |
| `result.data.links.prev` | `string` | No | — | A link to the previous page of data Format: `uri`. |
| `result.data.links.next` | `string` | No | — | A link to the next page of data Format: `uri`. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "A list of contacts that match the criteria specified in the request",
        "properties": {
          "data": {
            "type": "array",
            "description": "The primary data of the document",
            "items": {
              "type": "object",
              "description": "ZoomInfo Contact",
              "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": {
                  "type": "object",
                  "description": "Response attributes for contact search.",
                  "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",
                      "description": "Date on which the contact record was last validated.",
                      "format": "date-time"
                    },
                    "lastUpdatedDate": {
                      "type": "string",
                      "description": "Date on which the contact record was last updated.",
                      "format": "date-time"
                    },
                    "jobTitle": {
                      "type": "string",
                      "description": "Contact job title at current place of employment."
                    },
                    "contactAccuracyScore": {
                      "type": "number",
                      "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.",
                      "format": "double"
                    },
                    "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": {
                      "type": "object",
                      "description": "Management status of the record.",
                      "properties": {
                        "underManagement": {
                          "type": "boolean",
                          "description": "Indicates whether record is under management within the contract period."
                        },
                        "purchaseDate": {
                          "type": "string",
                          "description": "Indicates when record was purchased if it is under management.",
                          "format": "date-time"
                        }
                      },
                      "additionalProperties": false
                    },
                    "company": {
                      "type": "object",
                      "description": "Contact's company data.",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "Unique ZoomInfo identifier for a company.",
                          "format": "int64"
                        },
                        "name": {
                          "type": "string",
                          "description": "Company Name."
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "required": [
                "id",
                "type",
                "attributes"
              ],
              "additionalProperties": false
            }
          },
          "meta": {
            "type": "object",
            "description": "Metadata including paging information and the total number of records in the result set",
            "properties": {
              "totalResults": {
                "type": "integer",
                "description": "The total number of results based on the specified filters",
                "format": "uint32"
              },
              "page": {
                "type": "object",
                "description": "Meta information related to the current page and total number of pages",
                "properties": {
                  "total": {
                    "type": "integer",
                    "description": "The total number of pages within the current result set",
                    "format": "uint32"
                  },
                  "number": {
                    "type": "integer",
                    "description": "The current page number of the results",
                    "format": "uint32"
                  }
                },
                "required": [
                  "total",
                  "number"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "totalResults",
              "page"
            ],
            "additionalProperties": false
          },
          "links": {
            "type": "object",
            "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",
            "properties": {
              "first": {
                "type": "string",
                "description": "A link to the first page of data",
                "format": "uri"
              },
              "last": {
                "type": "string",
                "description": "A link to the last page of data",
                "format": "uri"
              },
              "prev": {
                "type": "string",
                "description": "A link to the previous page of data",
                "format": "uri"
              },
              "next": {
                "type": "string",
                "description": "A link to the next page of data",
                "format": "uri"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "data"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [ZoomInfo provider guide](https://deepline.com/docs/providers/zoominfo/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.