Public
Documentation Settings

ZoomInfo API

Welcome to ZoomInfo's API. ZoomInfo is the leading data intelligence platform for B2B go-to-market teams, presenting a trifecta of the broadest, deepest and highest quality B2B data.

Use the API 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 API helps you build out your organization's contact and company records by tapping in-depth information such as technologies used, company attributes, corporate hierarchies, funding details, news alerts and scoops, and more. This deep data enables teams to build sophisticated, refined, and targeted prospect segments, as well as improve campaign list building, prospecting, lead routing, scoring, and territory alignment.

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.

The Enterprise API supports searching for and enriching company and contact records, and are comprised as follows:

Standard APIs

  • The Search API accepts various input criteria which are used to return Contacts, Companies, Scoops, News and Intent records. The purpose of Search is to cast a wide net, returning a list of records that meet the input criteria. The records returned are previews of the full ZoomInfo profile. Use the Enrich API endpoints to return ZoomInfo's full profile for any record.
  • The Enrich API is used to retrieve ZoomInfo's full profile data by matching to known contacts or companies. Use the Enrich endpoints to redeem full profiles returned from Search queries, or enrich your existing database of contacts and companies with ZoomInfo data.
  • The Lookup API includes a set of endpoints that return available inputs and outputs for corresponding Search or Enrich requests. Use the Input Lookup endpoints to help select the input criteria supported by the different requests. The Lookup Output endpoints provide a full list of fields returned by each endpoint.
  • The Usage API lets you check your current API usage and limits.

Scaling APIs

  • The Webhooks API is a set of endpoints that lets you configure webhooks subscriptions to automate the update of records - listening for events you subscribe to, and sending updates securely to your application.
  • The Bulk API is a set of endpoints that provide bulk search and redeem capabilities for Contacts and Companies, enabling the search and retrieval of large ZoomInfo Company and Contact datasets at scale through asynchronous batch processes.

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.

Authentication methods

The API supports the following authentication methods:

  • Private Key Infrastructure (PKI)
  • Username and password

For both authentication methods, a Java Web Token (JWT) is returned which can be programmatically or manually used to access the API.

Public Key Infrastructure (PKI) authentication

The preferred authentication method is to obtain a Client ID and Private key pair and a public library to programmatically generate a JWT that is valid for one hour. To do this:

  • Log in to the ZoomInfo GUI using admin credentials with API access.
  • Go to Admin Portal > API and click Generate New Key. You are provided with a Client ID and a Private Key.
  • Import a public library that authenticates using this Client ID and Private Key and generates a JWT.

ZoomInfo provides supported PKI authentication libraries for Java, Python and NodeJS in Github.

Username and password authentication

You can use the Authentication endpoint to manually supply your username and password, returning a JWT that is valid for one hour.

A developer can alternatively import a public library that authenticates a username and password to return a JWT. ZoomInfo provides supported username and password authentication libraries for Java, Python and NodeJS in Github.

Rate and usage limits

The ZoomInfo API uses rate and usage limits 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 the Standard APIs, WebSights API, and Compliance API, the limit is 25 requests per second (1500 request per minute).
    • For the Scaling APIs, the limit is 33 requests per second (2000 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.

You can also track usage using the response headers of each API call (with the exception of the Authentication and Lookup endpoints).

ParameterSample ValueDescription
X-RateLimit-Limit1500The maximum number of requests you're permitted to make per minute
X-RateLimit-Remaining999The number of requests remaining in the current rate limit window
X-RateLimit-Reset1583161964The time at which the current rate limit window resets in UTC epoch seconds
X-Usage-Record-Limit-Limit10000000The maximum number of records you can retrieve within the current API contract term
X-Usage-Record-Limit-Remaining878530The remaining number of records you can retrieve within the current API contract term
X-Usage-Request-Limit-Limit10000000The maximum number of requests you can make within the current API contract term. If using the Scaling API, this value will display "-1", as there are no limits to the total number of API requests you can make (provided you do not exceed the rate limit of 33 requests per second).
X-Usage-Request-Limit-Remaining949262The number of requests remaining within the current API contract term
X-Usage-Unique-Id-Limit-Limit100000The maximum number of person or company records you can redeem within the current API contract term. The limit for each API user is set in the Admin Portal.
X-Usage-Unique-Id-Limit-Remaining84994The number of person or company records remaining to redeem within the current API contract term
X-Usage-Websights-Api-Record-Limit-Limit10000000The max number of WebSights records you can retrieve within the current API contract term
X-Usage-Websights-Api-Record-Limit-Remaining9999997The remaining number of WebSights records you can retrieve within the current API contract term
X-Usage-Websights-Api-Request-Limit-Limit100000000The maximum number of WebSights requests you can make within the current API contract term
X-Usage-Websights-Api-Request-Limit-Remaining99999997The number of WebSights requests remaining within the current API contract term

Error handling and troubleshooting

HTTP status codes

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

Common errors

The API will also return error messages specific to the request being performed. These error messages indicate a possible reason for a request failure. The following table lists common error messages and potential user actions to resolve.

CodeError messageAction
400Exceeded the max limit to enrich new Contacts or CompaniesSee the rate and usage limiting data in the response header. Refer to "Rate and usage limiting" for details.
400Missing outputFields parameterSome requests (specifically the Enrich API) require at least one outputfields parameter to be specified
400No roles found for loginContact your ZoomInfo sales representative.
400Page number (page) is not a numberEnsure that the value conforms to the correct data type (integer)
400Page number (page) requested is greater than the available resultsInput a page number that falls within the results per page (rpp) and total results
400Request body has malformed JSONCheck the request JSON for proper syntax
400Results per page (rpp) is not a numberEnsure that the value conforms to the correct data type (integer)
400Results per page (rpp) is over max allowed value (100)The number of returned objects exceeds the maximum allowed value of 100
400The parameter passed for sortBy is invalidResults can only be sorted on specific fields. See the endpoint field descriptions for valid sortBy options.
400There are invalid fields in your requestCheck field names used in the request
400There is insufficient information for this requestCheck your request syntax and ensure it meets specifications described for the endpoint
400Total record pagination is over max allowed value (1000)The number of returned objects exceeds the maximum allowed value of 100
401Authentication failedEnsure you are using valid credentials or token
403There are fields that are not allowed under your subscriptionCheck your subscription details. Contact your ZoomInfo sales representative.
403You do not have access to the enrich endpointYou are not provisioned to access this endpoint. Contact your ZoomInfo sales representative.
403You do not have access to the search endpointYou are not provisioned to access this endpoint. Contact your ZoomInfo sales representative.
403You do not have access to this endpointYou are not provisioned to access this endpoint. Contact your ZoomInfo sales representative.
403You have used up all of your allowed request limitSee the rate and usage limiting data in the response header. Refer to "Rate and usage limiting" for details.
403You have used up all of your allowed request limit for WebSights APISee the rate and usage limiting data in the response header. Refer to "Rate and usage limiting" for details.
403You have used up all of your allowed record limitSee the rate and usage limiting data in the response header. Refer to "Rate and usage limiting" for details.
403You have used up all of your allowed record limit for WebSights APISee the rate and usage limiting data in the response header. Refer to "Rate and usage limiting" for details.
403You do not have permission to access the ZoomInfo APIConfirm that your access credentials are valid
429You have exceeded your API query rate limit. Please decrease the frequency of your API requestsSee the rate and usage limiting data in the response header. Refer to "Rate and usage limiting" for details.
500An unexpected error has occurred. Please try again and if this continues to occur, please contact us and reference the error id provided aboveThe request could be too large in scope, too long to return, or experiencing a system or network issue. Contact support.
500Search failed. Please try again and if this continues to occur, please contact us and reference the error id provided aboveThe request could be too large in scope, too long to return, or experiencing a system or network issue. Contact support.

Unique request IDs

To assist with troubleshooting issues with a specific request, a unique ID called X-Request-Id is included in the response header of each request.

Release Notes

View the latest release notes for the ZoomInfo API.