
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
zoominfo-node
Advanced tools
The ZoomInfo Node SDK allows developers to interact with the ZoomInfo API. You can use this library to query the ZoomInfo database for relevant companies and contacts and enrich the data records in your Customer Relationship Management (CRM), Marketing Automation (MA), and other systems in your organization.
The easiest way to install zoominfo is using NPM. Run the command below from your project directory to install the library.
npm install zoominfo-node
Then in your code:
TypeScript:
import zoominfo from 'zoominfo-node';
JavaScript:
const zoominfo = require('zoominfo-node').default;
This library supports the following Authentication methods.
For both authentication methods a Java Web Token (JWT), that is valid for one hour is returned which is used to access the API
const zoom = await zoominfo.client({username: '<username>', password: 'password'});
const zoom = await zoominfo.client({
username: '<username>',
clientId: '<clientId>',
privateKey: '<privateKey>',
});
await zoom.refreshAccessToken();
Use Contact Search to retrieve contacts using valid query parameters.
await zoom.search.contactSearch
.getContactSearch({companyName: 'ZoomInfo'})
.then((res: IContactSearchResults) => console.log(res))
.catch((err: ZoomInfoException) => console.log(err));
Use this endpoint to enrich intent data for a company based on input values and return the desired output fields in the response.
await zoom.enrich.intentEnrich
.getIntentEnrich({companyId: '344589814'})
.then((res: IIntentEnrichResults) => console.log(res))
.catch((err: ZoomInfoException) => console.log(err));
The ZoomInfo API is a set of HTTPS endpoints you can use to programmatically retrieve and integrate ZoomInfo data into your existing technology stack and workflows. Responses are returned in JSON to support integration with common programming languages and development kits.
The ZoomInfo API uses rate and usage limiting tied to the account provisioned for API access. Your API account is provisioned with:
You can track usage status using the Usage Lookup endpoint.
The API will return standard classes of HTTP error status codes (4xx client and 5xx server codes) as well as 2xx success codes.
| Code | Error Message |
|---|---|
| 400 | Exceeded the max limit to enrich new Contacts or Companies |
| 400 | Missing outputFields parameter |
| 400 | No roles found for login |
| 400 | Page number (page) is not a number |
| 400 | Page number (page) requested is greater than the available results |
| 400 | Request body has malformed JSON |
| 400 | Results per page (rpp) is not a number |
| 400 | Results per page (rpp) is over max allowed value (100) |
| 400 | The parameter passed for sortBy is invalid |
| 400 | There are invalid fields in your request |
| 400 | There is insufficient information for this request |
| 400 | Total record pagination is over max allowed value (1000) |
| 401 | Authentication failed |
| 403 | There are fields that are not allowed under your subscription |
| 403 | You do not have access to the enrich endpoint |
| 403 | You do not have access to this endpoint |
| 403 | You have used up all of your allowed request limit |
| 403 | You have used up all of your allowed request limit for WebSights API |
| 403 | You have used up all of your allowed record limit |
| 403 | You have used up all of your allowed record limit for WebSights API |
| 403 | You do not have permission to access the ZoomInfo API |
| 429 | You have exceeded your API query rate limit. Please decrease the frequency of your API requests |
| 500 | An unexpected error has occurred. Please try again and if this continues to occur, please contact us and reference the error id provided above |
| 500 | Search failed. Please try again and if this continues to occur, please contact us and reference the error id provided above API |
For more examples on what you can do with the ZoomInfo Node SDK, see the examples folder or take a look at the documentation.
Bug fixes, docs, and library improvements are always welcome. Please refer to our Contributing Guide for detailed information on how you can contribute.
If you want to familiarize yourself with the project, you can start by forking the repository and cloning it in your local development environment. The project requires Node.js to be installed on your machine.
After cloning the repository, install the dependencies by running the following command in the directory of your cloned repository:
npm install
You can run the existing tests to see if everything is okay by executing:
npm test
This codebase is not endorsed, affiliated or associated with ZoomInfo Technologies Inc.
FAQs
Open-source NodeJS SDK for querying ZoomInfo data
We found that zoominfo-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.