Tool ID:
zoominfo_search_contactsRun this action
Use the TypeScript SDK for a single call. Putctx.tools.execute(...) inside a Play when the call should be durable, scheduled, or run across a CSV.
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
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 exposes this shape atresult.toolResponse.raw. Values below are representative.
{
"data": {
"data": [
{
"id": "id_123",
"type": "Contact",
"attributes": {
"firstName": "Jane",
"middleName": "Example",
"lastName": "Doe"
}
}
]
}
}
deepline tools get 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. |
This input schema is too large to embed without slowing the page. Get the complete live contract with
deepline tools get 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). |
Deepline cost
- Pricing model:
fixed(per call). - Estimated Deepline credits:
0per pricing unit. - Provider-native pricing may still exist outside Deepline credit billing.