Enrich HubSpot contacts via API
Enrich HubSpot contacts in place, no CSV export needed.
REST · JSON in, JSON out5 fieldsPublic API from Pro
An example call: POST to the hubspot_contact endpoint with a work email, the waterfall tries providers in cost order, and the response returns 5 fields.
- 1 creditA verified work email, however many providers it took to find it.
- 11 creditsEmail and phone number together, on the same call.
- 25+ providersQueried in cost order. The waterfall stops at the first deliverable result.
- 98% / 85%Verified work emails and phone numbers found on our 500-lead benchmark.
10,000+ users, from founders to full sales teams
- Switched from
ZoomInfo - Case study
HackerOneSwitched from
Apollo- Switched from
Clay - Case study
Sumo LogicSwitched from
Clay- Switched from
Apollo - Case study
- Switched from
ZoomInfo - Switched from
ZoomInfo
What one call returns. Up to 5 fields.
A sample response for one hubspot contact lookup, beside every field the record can carry.
{
"id": "ev_abc123",
"hubspot_contact": {
"hubspot_contact_id": "<hubspot_contact_id>",
"email": "<email>",
"enriched_title": "<enriched_title>",
"enriched_company": "<enriched_company>",
"enriched_phone": "<enriched_phone>"
},
"meta": {
"credits_used": 11,
"providers_queried": 25
}
}
hubspot_contact_idstringemailstringenriched_titlestringenriched_companystringenriched_phonestring
Call it from curl, Node or Python. Pay for what comes back.
It's one POST request. Credits come out of one wallet the whole team shares, and a call that finds nothing costs nothing.
curl
curl -X POST https://api.cleanlist.ai/v1/enrich/hubspot_contact \
-H "Authorization: Bearer $CLEANLIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "jane@acme.com"}'Node.js
const response = await fetch("https://api.cleanlist.ai/v1/enrich/hubspot_contact", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CLEANLIST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ email: "jane@acme.com" }),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());Python
import os
import requests
response = requests.post(
"https://api.cleanlist.ai/v1/enrich/hubspot_contact",
headers={"Authorization": f"Bearer {os.environ['CLEANLIST_API_KEY']}"},
json={"email": "jane@acme.com"},
)
response.raise_for_status()
print(response.json())- SearchFree, unlimited
- Verified work email1 credit
- Phone number10 credits
- Email and phone number11 credits
- Validation0.5 credits
- AI qualification5 credits
- A call that finds nothing0
Enrich HubSpot contacts in production.
The public API starts on Pro, and a call that returns nothing is never charged.
14 days of Pro, free.
