Getting started overview
To begin using the ZoomInfo API, developers typically follow a sequence of steps:
- Account Creation: Establish a ZoomInfo account that includes API access. This often involves a sales consultation to define specific data needs and obtain an API subscription.
- Credential Acquisition: Once API access is provisioned, retrieve the necessary API key or authentication token from the ZoomInfo developer portal or account management interface.
- Environment Setup: Configure your development environment. This may involve installing an official SDK or preparing to make direct HTTP requests.
- First Request: Construct and execute a basic API call to verify authentication and data retrieval capabilities.
- Error Handling: Implement basic error checking to manage common API response codes and data limitations.
The ZoomInfo API is a RESTful API, meaning it uses standard HTTP methods (GET, POST) for interaction and typically returns data in JSON format. Understanding REST principles is beneficial for effective integration. The official ZoomInfo API documentation offers comprehensive details on endpoints and request/response structures.
Create an account and get keys
Access to the ZoomInfo API requires an active ZoomInfo subscription that includes API entitlements. Unlike many public APIs, direct self-service sign-up for API access is not typically available. Prospective users generally engage with the ZoomInfo sales team to discuss their specific B2B data requirements and establish a custom enterprise pricing plan. This process ensures that the API access aligns with the organization's use cases and data volume needs. Information regarding ZoomInfo's pricing structure notes custom enterprise plans.
Account Registration and API Access
- Contact Sales: Initiate contact via the ZoomInfo website or a direct sales representative to discuss API access. During this consultation, you will outline your intended API usage, data consumption estimates, and integration scope.
- Subscription Agreement: Once terms are agreed upon, a subscription agreement will be established, provisioning API access for your organization.
- Developer Portal Access: Upon successful provisioning, you will receive credentials to access the ZoomInfo Developer Portal. This portal serves as the central hub for managing your API subscription, viewing usage metrics, and accessing documentation.
Obtaining API Keys
Within the ZoomInfo Developer Portal, your API keys or tokens will be made available. The exact location and naming convention may vary slightly based on your specific subscription and the current portal interface, but commonly:
- Navigate to a section labeled "API Keys," "Credentials," or "Applications."
- Your unique API key (often referred to as an
API_KEYorClient ID/Client Secretpair for OAuth 2.0 implementations) will be displayed. This key is essential for authenticating your requests to the ZoomInfo API. - Treat your API key as sensitive information. Do not embed it directly in client-side code, commit it to public version control systems, or share it unnecessarily. Best practices for API key security, such as using environment variables or a secrets management service, are recommended for production environments. Google Developers provides guidance on API security best practices applicable to various API integrations.
Your first request
After obtaining your API key, you can make your first request to verify connectivity and authentication. This example uses the Company Search endpoint, which is a common starting point for B2B data queries. The ZoomInfo API supports various programming languages through official SDKs including Python, Node.js, Java, Ruby, .NET, and Go.
Using curl for a direct REST call
For a quick test without an SDK, curl is an effective tool. Replace YOUR_API_KEY with your actual ZoomInfo API key.
curl -X POST \
'https://api.zoominfo.com/search/company' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_API_KEY' \
-d '{ "searchQuery": { "companyName": "ZoomInfo" }, "outputFields": ["id", "name", "website"] }'
This curl command performs a POST request to the /search/company endpoint. It searches for companies with the name "ZoomInfo" and requests the company's ID, name, and website in the response. A successful response will return a JSON object containing company data. Check the Company Search API reference for available search parameters and output fields.
Python SDK example
If you prefer using an SDK, here's a Python example. First, install the SDK:
pip install zoominfo-api-client
Then, use the following Python code:
from zoominfo_api_client import ZoomInfoClient
from zoominfo_api_client.models import CompanySearchInput, CompanySearchOutput
# Replace with your actual API key
api_key = "YOUR_API_KEY"
client = ZoomInfoClient(api_key=api_key)
try:
search_input = CompanySearchInput(
search_query={
"companyName": "Microsoft"
},
output_fields=["id", "name", "website", "industry"]
)
response: CompanySearchOutput = client.company_search.post_company_search(search_input)
if response.data:
for company in response.data:
print(f"Company ID: {company.id}, Name: {company.name}, Website: {company.website}, Industry: {company.industry}")
else:
print("No companies found or data unavailable.")
except Exception as e:
print(f"An error occurred: {e}")
This Python script initializes the ZoomInfo client with your API key, constructs a search input for companies named "Microsoft," and then prints selected details from the results. The official ZoomInfo Python SDK documentation provides further examples and usage patterns.
Common next steps
After successfully making your first API call, you can proceed with further integration and data utilization:
- Explore Other Endpoints: The ZoomInfo API offers a range of endpoints for various data types, including Contact Search, Company Enrich, and Intent Data. Review the API Reference to understand the full scope of available data.
- Implement Advanced Search and Filtering: Learn to use the extensive filtering and search parameters available for each endpoint to refine your data queries and retrieve highly specific information.
- Integrate with Your Application: Incorporate the API calls into your existing applications, CRM, marketing automation platforms, or data warehouses. This might involve building connectors or using integration platforms as a service (iPaaS) like Tray.io for API integrations.
- Handle Pagination and Rate Limits: For large datasets, understand how to paginate results. Be aware of and implement strategies to manage API rate limits to prevent service interruptions. The ZoomInfo API documentation provides specifics on these operational considerations.
- Monitor Usage: Regularly monitor your API usage through the developer portal to stay within your subscription limits and optimize your data consumption.
- Error Handling and Logging: Develop robust error handling routines for various HTTP status codes and API-specific error messages. Implement logging to track API requests and responses for debugging and auditing purposes.
Troubleshooting the first call
When making your initial API calls, common issues can arise. Here's a table outlining frequent problems and their solutions:
| Problem | What to check | Where to check |
|---|---|---|
| 401 Unauthorized | Incorrect or missing API key. | Header X-API-KEY. Verify the key in the ZoomInfo Developer Portal. |
| 403 Forbidden | API key lacks necessary permissions or access to the requested endpoint. | ZoomInfo account's API entitlements. Contact ZoomInfo support if needed. |
| 400 Bad Request | Invalid request body format (e.g., malformed JSON), missing required parameters, or invalid parameter values. | Request payload, JSON syntax. Compare against the API Reference for the specific endpoint. |
| 429 Too Many Requests | Exceeded API rate limits. | Your application's request frequency. Implement exponential backoff or rate limiting logic. |
| 5xx Server Error | Issue on the ZoomInfo API server side. | ZoomInfo's status page (if available) or contact ZoomInfo support. Retrying after a delay may resolve transient issues. |
| Empty Data Array (200 OK) | No results for the given search criteria. | Search parameters. Broaden the search query or verify the existence of the data you are looking for. |
| Network Connectivity Issues | Unable to reach the API endpoint. | Your network connection, firewall rules, or DNS resolution. Test with a simple ping api.zoominfo.com. |
For more detailed diagnostic information, consult the ZoomInfo API error handling documentation. Logging the full request and response, including headers, can greatly assist in diagnosing issues.