API SUITE

Access ZoomInfo when and how you need it

Put best-in-class data to work with developer-friendly APIs that empower even the most complex infrastructure of business applications

Free Trial

Our offering

Integrate data directly into your system of business

ZoomInfo’s suite of APIs seamlessly cross-references millions of contact and company profiles to integrate 300+ unique data points directly into your business systems and workflows.

Personalized APIs to fuel your business

B2B intelligence delivered when, where, and how you need it.

Drive better decisions across the organization with accurate data in any workflow. With ZoomInfo APIs & Webhooks, easily integrate the broadest, deepest and highest quality B2B intelligence directly in your systems to deliver the most accurate view of your customer in real-time.

curl --location --request POST "https://api.zoominfo.com/search/person" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --data "{
  "companyName": "Zoominfo",
  "emailAddress": "",
  "fullName":  "",
  "firstName":  "",
  "middleInitial":  "",
  "lastName":  "",
  "jobTitle":  "",
  "excludeJobTitle":  "",
  "managementLevel":  "",
  "excludeManagementLevel":  "",
  "department":  "",
  "boardMember": "include",
  "excludePartialProfiles": false,
  "executivesOnly": false,
  "requiredFields": ""
}"var settings = {
  "url": "https://api.zoominfo.com/search/person",
  "method": "POST",
  "timeout": 0,
  "headers": {
  "Content-Type": "application/json",
  "Authorization": "Bearer "
  },
  "data": "{"companyName": "Zoominfo",

$.ajax(settings).done(function (response) {
  console.log(response);
});require "uri"
require "net/http"

url = URI("https://api.zoominfo.com/search/person")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer YOUR_ACCESS_TOKEN"
request.body = "{\n    \"companyName\": \"Zoominfo\",\n    \"emailAddress\": \"\",\n    \"fullName\": \"\",\n    \"firstName\": \"\",\n    \"middleInitial\": \"\",\n    \"lastName\": \"\",\n    \"jobTitle\": \"\",\n    \"excludeJobTitle\": \"\",\n    \"managementLevel\": \"\",\n    \"excludeManagementLevel\": \"\",\n    \"department\": \"\",\n    \"boardMember\": \"include\",\n    \"excludePartialProfiles\": false,\n    \"executivesOnly\": false,\n    \"requiredFields\": \"\"\n}"

response = http.request(request)
puts response.read_bodyimport requests
url = 'https://api.zoominfo.com/search/person'
payload = "{\n    \"companyName\": \"Zoominfo\",\n    \"emailAddress\": \"\",\n    \"fullName\": \"\",\n    \"firstName\": \"\",\n    \"middleInitial\": \"\",\n    \"lastName\": \"\",\n    \"jobTitle\": \"\",\n    \"excludeJobTitle\": \"\",\n    \"managementLevel\": \"\",\n    \"excludeManagementLevel\": \"\",\n    \"department\": \"\",\n    \"boardMember\": \"include\",\n    \"excludePartialProfiles\": false,\n    \"executivesOnly\": false,\n    \"requiredFields\": \"\"\n}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false)
print(response.text)var https = require('https');

var options = {
  'method': 'POST',
  'hostname': 'api.zoominfo.com',
  'path': '/search/person',
  'headers': {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
  }
};
var req = https.request(options, function (res) {
   var chunks = [];

   res.on("data", function (chunk) {
   chunks.push(chunk);
   });

   res.on("end", function (chunk) {
   var body = Buffer.concat(chunks);
       console.log(body.toString());
  });
  res.on("error", function (error) {
  console.error(error);
  });
});
var postData =  "{\n    \"companyName\": \"Zoominfo\",\n    \"emailAddress\": \"\",\n    \"fullName\": \"\",\n    \"firstName\": \"\",\n    \"middleInitial\": \"\",\n    \"lastName\": \"\",\n    \"jobTitle\": \"\",\n    \"excludeJobTitle\": \"\",\n    \"managementLevel\": \"\",\n    \"excludeManagementLevel\": \"\",\n    \"department\": \"\",\n    \"boardMember\": \"include\",\n    \"excludePartialProfiles\": false,\n    \"executivesOnly\": false,\n    \"requiredFields\": \"\"\n}";

req.write(postData);

req.end();< ?php
$curl = curl_init();

curl_setopt_array($curl, array(
   CURLOPT_URL => "https://api.zoominfo.com/search/person",
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => "",
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => false,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => "POST",
   CURLOPT_POSTFIELDS =>"{\n    \"companyName\": \"Zoominfo\",\n    \"emailAddress\": \"\",\n    \"fullName\": \"\",\n    \"firstName\": \"\",\n    \"middleInitial\": \"\",\n    \"lastName\": \"\",\n    \"jobTitle\": \"\",\n    \"excludeJobTitle\": \"\",\n    \"managementLevel\": \"\",\n    \"excludeManagementLevel\": \"\",\n    \"department\": \"\",\n    \"boardMember\": \"include\",\n    \"excludePartialProfiles\": false,\n    \"executivesOnly\": false,\n    \"requiredFields\": \"\"\n}",
   CURLOPT_HTTPHEADER => array(
   "Content-Type: application/json",
   "Authorization: Bearer YOUR_ACCESS_TOKEN"
   ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
} ?>package main
import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.zoominfo.com/search/person"
  method := "POST"

  payload := strings.NewReader("{\n    \"companyName\": \"Zoominfo\",\n    \"emailAddress\": \"\",\n    \"fullName\": \"\",\n    \"firstName\": \"\",\n    \"middleInitial\": \"\",\n    \"lastName\": \"\",\n    \"jobTitle\": \"\",\n    \"excludeJobTitle\": \"\",\n    \"managementLevel\": \"\",\n    \"excludeManagementLevel\": \"\",\n    \"department\": \"\",\n    \"boardMember\": \"include\",\n    \"excludePartialProfiles\": false,\n    \"executivesOnly\": false,\n    \"requiredFields\": \"\"\n}")

  client := &http.Client {
  CheckRedirect: func(req *http.Request, via []*http.Request) error {
  return http.ErrUseLastResponse
},
}

  req, err := http.NewRequest(method, url, payload)

  if err != nil {
   fmt.Println(err)
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer YOUR_ACCESS_TOKEN")

res, err := client.Do(req)
  defer res.Body.Close()
  body, err := ioutil.ReadAll(res.Body)

  fmt.Println(string(body))
}
Zoominfo DATA CLOUD

1.6B Records Updated Daily

Maximize data integrity across your systems of record using most comprehensive B2B intelligence in the market.

View Data Catalog
130M+ contacts
100M+ companies
57M+ TECHNOGRAPHICS

Get Your Free Trial Today

Free Trial
Try ZoomInfo Free