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

Enrich Salesforce contacts via API

Refresh emails, phones, and titles on every Salesforce contact.

An example call: POST to the salesforce_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 salesforce contact lookup, beside every field the record can carry.

Response200 OK · salesforce_contact
{
  "id": "ev_abc123",
  "salesforce_contact": {
    "sf_contact_id": "<sf_contact_id>",
    "email": "<email>",
    "title": "<title>",
    "phone": "<phone>",
    "last_verified": "<last_verified>"
  },
  "meta": {
    "credits_used": 11,
    "providers_queried": 25
  }
}
Field reference5 fields
  • sf_contact_idstring
  • emailstring
  • titlestring
  • phonestring
  • last_verifiedstring

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 · salesforce_contact

curl

curl -X POST https://api.cleanlist.ai/v1/enrich/salesforce_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/salesforce_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/salesforce_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 salesforce_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 Salesforce contacts in production.

The public API starts on Pro, and a call that returns nothing is never charged.

14 days of Pro, free.