Enrich Contact
curl --request POST \
--url https://api.example.com/api/public/tools/enrich_contact \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"linkedInUrl": null,
"email": null,
"firstName": null,
"lastName": null,
"companyDomain": null,
"note": null
}
'import requests
url = "https://api.example.com/api/public/tools/enrich_contact"
payload = {
"linkedInUrl": None,
"email": None,
"firstName": None,
"lastName": None,
"companyDomain": None,
"note": None
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
linkedInUrl: null,
email: null,
firstName: null,
lastName: null,
companyDomain: null,
note: null
})
};
fetch('https://api.example.com/api/public/tools/enrich_contact', 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.example.com/api/public/tools/enrich_contact",
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([
'linkedInUrl' => null,
'email' => null,
'firstName' => null,
'lastName' => null,
'companyDomain' => null,
'note' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.example.com/api/public/tools/enrich_contact"
payload := strings.NewReader("{\n \"linkedInUrl\": null,\n \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n \"companyDomain\": null,\n \"note\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.example.com/api/public/tools/enrich_contact")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"linkedInUrl\": null,\n \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n \"companyDomain\": null,\n \"note\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/public/tools/enrich_contact")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"linkedInUrl\": null,\n \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n \"companyDomain\": null,\n \"note\": null\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}FirstTouch tools
Enrich Contact
CHARGED TOOL.
Detailed usage guidance
- Find an enriched contact profile.
- Provide linkedInUrl, email, or firstName, lastName, and companyDomain.
- This consumes FirstTouch contact credits.
- The enrichment result is not automatically applied or synchronized to any existing enrollment, Awaiting candidate, audience, HubSpot record, or saved prospect record.
- Tell the customer that nothing was injected automatically; a separate customer-requested write action is required to use the data elsewhere.
POST
/
api
/
public
/
tools
/
enrich_contact
Enrich Contact
curl --request POST \
--url https://api.example.com/api/public/tools/enrich_contact \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"linkedInUrl": null,
"email": null,
"firstName": null,
"lastName": null,
"companyDomain": null,
"note": null
}
'import requests
url = "https://api.example.com/api/public/tools/enrich_contact"
payload = {
"linkedInUrl": None,
"email": None,
"firstName": None,
"lastName": None,
"companyDomain": None,
"note": None
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
linkedInUrl: null,
email: null,
firstName: null,
lastName: null,
companyDomain: null,
note: null
})
};
fetch('https://api.example.com/api/public/tools/enrich_contact', 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.example.com/api/public/tools/enrich_contact",
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([
'linkedInUrl' => null,
'email' => null,
'firstName' => null,
'lastName' => null,
'companyDomain' => null,
'note' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.example.com/api/public/tools/enrich_contact"
payload := strings.NewReader("{\n \"linkedInUrl\": null,\n \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n \"companyDomain\": null,\n \"note\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.example.com/api/public/tools/enrich_contact")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"linkedInUrl\": null,\n \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n \"companyDomain\": null,\n \"note\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/public/tools/enrich_contact")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"linkedInUrl\": null,\n \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n \"companyDomain\": null,\n \"note\": null\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}Authorizations
Body
application/json
Prospect LinkedIn profile URL. Preferred when available.
Prospect work email address.
Prospect first name. Use with lastName and companyDomain when no email or LinkedIn URL is available.
Prospect last name.
Company domain, for example example.com.
Optional correlation label echoed into billing metadata.
Response
Tool result.

