Integrations / ZoomInfo
ZoomInfo
Find and enrich B2B companies and contacts with ZoomInfo data: search accounts and people, then enrich records with firmographics, emails and phone numbers.
4 actions
OAuth 2
4 read0 write
Calls api.zoominfo.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "zoominfo" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
api:data:company | Search and enrich ZoomInfo company data |
api:data:contact | Search and enrich ZoomInfo contact data |
Actions
Enrich companiesreadzoominfo.enrich_companiesGet detailed ZoomInfo data for up to 25 companies matched by website, name or ID. Each matched record consumes a ZoomInfo credit.
Needs scope: api:data:company
| Input | Type | Description | |
|---|---|---|---|
companies | array of object | Required | Companies to match (1 to 25), each an object like {"companyWebsite":"www.zoominfo.com"}, {"companyName":"ZoomInfo"} or {"companyId":344589814} |
output_fields | array of string | Required | Field names to return, for example id, name, website, ticker, socialMediaUrls |
await setu.execute({
userId: "user_1",
action: "zoominfo.enrich_companies",
input: {
"companies": [],
"output_fields": []
},
});Enrich contactsreadzoominfo.enrich_contactsGet detailed ZoomInfo data, including emails and phone numbers, for up to 25 contacts matched by person ID, email or name and company. Each returned record consumes a ZoomInfo credit.
Needs scope: api:data:contact
| Input | Type | Description | |
|---|---|---|---|
contacts | array of object | Required | Contacts to match (1 to 25), each an object like {"personId":4191419698} or {"emailAddress":"[email protected]"} or {"firstName":"Filip","lastName":"Popovic","companyName":"ZoomInfo"} |
output_fields | array of string | Required | Field names to return, for example id, email, companyName |
required_fields | array of string | Optional | Fields a record must have to be returned (and charged) |
await setu.execute({
userId: "user_1",
action: "zoominfo.enrich_contacts",
input: {
"contacts": [],
"output_fields": []
},
});Search companiesreadzoominfo.search_companiesSearch ZoomInfo companies with filters such as name, website, industry, location or size. Returns basic company records and uses no credits; use enrich_companies for full details.
Needs scope: api:data:company
| Input | Type | Description | |
|---|---|---|---|
filters | object | Required | Filters as ZoomInfo attribute names, for example {"companyName":"ZoomInfo"}, {"companyWebsite":"www.zoominfo.com"}, {"industryCodes":"education.university"}, {"employeeRangeMin":100}, {"country":"United States"} |
sort | string | Optional | Sort field, prefix with - for descending. One of: name, employeeCount, revenue |
page_number | integer | Optional | Page number, starting at 1 |
page_size | integer | Optional | Records per page, 1 to 100 (default 25) |
await setu.execute({
userId: "user_1",
action: "zoominfo.search_companies",
input: {
"filters": {}
},
});Search contactsreadzoominfo.search_contactsSearch ZoomInfo contacts by name, job title, company or location. Results show which data exists (email, phone) but not the values; use enrich_contacts for those. Uses no credits.
Needs scope: api:data:contact
| Input | Type | Description | |
|---|---|---|---|
filters | object | Required | Filters as ZoomInfo attribute names, for example {"companyName":"ZoomInfo","firstName":"Filip"}, {"jobTitle":"CTO"}, {"managementLevel":"C Level Exec"}, {"personId":"4191419698"} |
sort | string | Optional | Sort field, prefix with - for descending. One of: contactAccuracyScore, lastName, companyName, relevance |
page_number | integer | Optional | Page number, starting at 1 |
page_size | integer | Optional | Records per page, 1 to 100 (default 25) |
await setu.execute({
userId: "user_1",
action: "zoominfo.search_contacts",
input: {
"filters": {}
},
});