Bulk Enrich Contacts
curl --request POST \
--url https://api.bizzy.ai/v2/companies/contacts/details/enrich \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enrichEmail": true,
"enrichMobilePhone": true
}
'import requests
url = "https://api.bizzy.ai/v2/companies/contacts/details/enrich"
payload = {
"enrichEmail": True,
"enrichMobilePhone": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({enrichEmail: true, enrichMobilePhone: true})
};
fetch('https://api.bizzy.ai/v2/companies/contacts/details/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bizzy.ai/v2/companies/contacts/details/enrich",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'enrichEmail' => true,
'enrichMobilePhone' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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"
)
func main() {
url := "https://api.bizzy.ai/v2/companies/contacts/details/enrich"
payload := strings.NewReader("{\n \"enrichEmail\": true,\n \"enrichMobilePhone\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bizzy.ai/v2/companies/contacts/details/enrich")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"enrichEmail\": true,\n \"enrichMobilePhone\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bizzy.ai/v2/companies/contacts/details/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enrichEmail\": true,\n \"enrichMobilePhone\": true\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"companyIdentifier": {
"countryCode": "BE",
"companyId": "1778186251",
"name": "Bizzy"
},
"contactIdentifier": {
"contactId": "1234567890",
"firstName": "John",
"lastName": "Doe"
},
"enrichmentId": "8817263",
"status": "PENDING",
"message": null
},
{
"companyIdentifier": {
"countryCode": "BE",
"companyId": "1778186251",
"name": "Bizzy"
},
"contactIdentifier": {
"contactId": "123",
"firstName": null,
"lastName": ""
},
"enrichmentId": null,
"status": null,
"message": "Contact not found"
}
]
}
Company API
Bulk Enrich Contacts
POST
/
v2
/
companies
/
contacts
/
details
/
enrich
Bulk Enrich Contacts
curl --request POST \
--url https://api.bizzy.ai/v2/companies/contacts/details/enrich \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enrichEmail": true,
"enrichMobilePhone": true
}
'import requests
url = "https://api.bizzy.ai/v2/companies/contacts/details/enrich"
payload = {
"enrichEmail": True,
"enrichMobilePhone": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({enrichEmail: true, enrichMobilePhone: true})
};
fetch('https://api.bizzy.ai/v2/companies/contacts/details/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bizzy.ai/v2/companies/contacts/details/enrich",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'enrichEmail' => true,
'enrichMobilePhone' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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"
)
func main() {
url := "https://api.bizzy.ai/v2/companies/contacts/details/enrich"
payload := strings.NewReader("{\n \"enrichEmail\": true,\n \"enrichMobilePhone\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bizzy.ai/v2/companies/contacts/details/enrich")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"enrichEmail\": true,\n \"enrichMobilePhone\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bizzy.ai/v2/companies/contacts/details/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enrichEmail\": true,\n \"enrichMobilePhone\": true\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"companyIdentifier": {
"countryCode": "BE",
"companyId": "1778186251",
"name": "Bizzy"
},
"contactIdentifier": {
"contactId": "1234567890",
"firstName": "John",
"lastName": "Doe"
},
"enrichmentId": "8817263",
"status": "PENDING",
"message": null
},
{
"companyIdentifier": {
"countryCode": "BE",
"companyId": "1778186251",
"name": "Bizzy"
},
"contactIdentifier": {
"contactId": "123",
"firstName": null,
"lastName": ""
},
"enrichmentId": null,
"status": null,
"message": "Contact not found"
}
]
}
Queues email and/or mobile phone enrichment for many (company, contact) pairs at once. Returns one result per requested pair, in request order — poll each result’s
enrichmentId via Enrichment Status. A bad or unaffordable pair degrades to a per-item message instead of failing the whole batch.
Enriching costs credits - see the Credit usage section
Request
Header
string
default:"EN"
- NL: Dutch - FR: French - EN: English
Body
array
Show companyContact properties
Show companyContact properties
object
required
Show companyIdentifier properties
Show companyIdentifier properties
string
required
Obfuscated companyId returned by the search endpoint.
string
required
Any supported country code — see Supported countries.
You can request up to 100 companies at once.
boolean
default:"false"
Enrich contacts with an email address, if available.
boolean
default:"false"
Enrich contacts with a mobile phone number, if available.
At least one of
enrichEmail or enrichMobilePhone must be true.Response
Returns202 Accepted. Unlike the single endpoint, no Location header is set (there’s no single created resource to point at).
When any pair in the batch is charged, the response includes
X-Bizzy-Credits-Balance and X-Bizzy-Credits-Charged headers — the balance reflects the post-charge total, and the charged amount is summed across all charged pairs in the batch. See Credit usage.array
One entry per requested (company, contact) pair, in request order.
string | null
Obfuscated id used to poll the Enrichment Status endpoint.
null when message is set.string | null
Always
PENDING on creation, or null when message is set.string | null
Set when this pair could not be queued (e.g. contact not found), leaving
enrichmentId/status null. Other pairs in the batch are unaffected.{
"results": [
{
"companyIdentifier": {
"countryCode": "BE",
"companyId": "1778186251",
"name": "Bizzy"
},
"contactIdentifier": {
"contactId": "1234567890",
"firstName": "John",
"lastName": "Doe"
},
"enrichmentId": "8817263",
"status": "PENDING",
"message": null
},
{
"companyIdentifier": {
"countryCode": "BE",
"companyId": "1778186251",
"name": "Bizzy"
},
"contactIdentifier": {
"contactId": "123",
"firstName": null,
"lastName": ""
},
"enrichmentId": null,
"status": null,
"message": "Contact not found"
}
]
}
Was this page helpful?