Skip to content
14 days of Pro, free.Sign up with your work email for 100 extra credits.Start free trial

Enrich HubSpot contacts via API

Enrich HubSpot contacts in place, no CSV export needed.

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 fromZoomInfo
  • Case study
  • HackerOneSwitched fromApollo
  • Switched fromClay
  • Case study
  • Sumo LogicSwitched fromClay
  • Switched fromApollo
  • Case study
  • Switched fromZoomInfo
  • Switched fromZoomInfo

What one call returns. Up to 5 fields.

A sample response for one hubspot contact lookup, beside every field the record can carry.

Response200 OK · hubspot_contact
{
  "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
  }
}
Field reference5 fields
  • hubspot_contact_idstring
  • emailstring
  • enriched_titlestring
  • enriched_companystring
  • enriched_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.

RequestPOST · hubspot_contact

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())
What a call costsper hubspot_contact
  • 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.