2.2.0 • Published 2 years ago

zoominfo-node v2.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

ZoomInfo

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.

Installation

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;

Authentication Methods

This library supports the following Authentication methods.

  • Private Key Infrastructure (PKI)
  • Username and Password

For both authentication methods a Java Web Token (JWT), that is valid for one hour is returned which is used to access the API

Username and Password

const zoom = await zoominfo.client({username: '<username>', password: 'password'});

Private Key Infrastructure (PKI)

const zoom = await zoominfo.client({
  username: '<username>',
  clientId: '<clientId>',
  privateKey: '<privateKey>',
});

Refreshing Access Token

await zoom.refreshAccessToken();

Sample Usage

Contact Search

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));

Intent Enrich

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));

API Structure

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.

  • Enterprise API
    • The Enterprise API supports searching for and enriching company and contact records.
      • The Search API accepts various input criteria which are used to return Contacts, Companies, Scoops, News and Intent records.
      • The Enrich API is used to retrieve ZoomInfo's full profile data by matching to known contacts or companies.
      • The Lookup API includes a set of endpoints that return available inputs and outputs for corresponding Search or Enrich requests.
  • WebSights API
    • The WebSights API identifies anonymous website traffic by resolving IP addresses to return company and ISP profiles and IP Geolocation details.
  • Compliance API
    • The Compliance API includes endpoints related to data privacy and opt-out compliance for contacts stored in the ZoomInfo database.

Rate and Usage Limiting

The ZoomInfo API uses rate and usage limiting tied to the account provisioned for API access. Your API account is provisioned with:

  • Rate limits: A limit to the number of requests you can make within a given time period.
    • For the Authentication endpoint, the limit is 1 request per second.
    • For other endpoints, the limit is 1500 requests per minute.
  • Request limits: An overall number of requests you can perform within the current API contract term.
  • Record limits: The number of records you are entitled to retrieve within the current API contract term.

You can track usage status using the Usage Lookup endpoint.

Error Handling and Troubleshooting

The API will return standard classes of HTTP error status codes (4xx client and 5xx server codes) as well as 2xx success codes.

CodeError Message
400Exceeded the max limit to enrich new Contacts or Companies
400Missing outputFields parameter
400No roles found for login
400Page number (page) is not a number
400Page number (page) requested is greater than the available results
400Request body has malformed JSON
400Results per page (rpp) is not a number
400Results per page (rpp) is over max allowed value (100)
400The parameter passed for sortBy is invalid
400There are invalid fields in your request
400There is insufficient information for this request
400Total record pagination is over max allowed value (1000)
401Authentication failed
403There are fields that are not allowed under your subscription
403You do not have access to the enrich endpoint
403You do not have access to this endpoint
403You have used up all of your allowed request limit
403You have used up all of your allowed request limit for WebSights API
403You have used up all of your allowed record limit
403You have used up all of your allowed record limit for WebSights API
403You do not have permission to access the ZoomInfo API
429You have exceeded your API query rate limit. Please decrease the frequency of your API requests
500An unexpected error has occurred. Please try again and if this continues to occur, please contact us and reference the error id provided above
500Search failed. Please try again and if this continues to occur, please contact us and reference the error id provided above API

Examples & Documentation

For more examples on what you can do with the ZoomInfo Node SDK, see the examples folder or take a look at the documentation.

Contributing

Bug fixes, docs, and library improvements are always welcome. Please refer to our Contributing Guide for detailed information on how you can contribute.

Getting Started

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

Disclaimer

This codebase is not endorsed, affiliated or associated with ZoomInfo Technologies Inc.

2.2.0

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

3.0.0

2 years ago

2.0.1

2 years ago

1.1.0

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.0

2 years ago