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

Enrich CSV leads via API

Bulk-enrich a lead CSV with verified emails, phones and ICP scoring.

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

Response200 OK · csv_lead
{
  "id": "ev_abc123",
  "csv_lead": {
    "input_email": "<input_email>",
    "input_company": "<input_company>",
    "enriched_title": "<enriched_title>",
    "icp_score": "<icp_score>",
    "verified_email": "<verified_email>"
  },
  "meta": {
    "credits_used": 11,
    "providers_queried": 25
  }
}
Field reference5 fields
  • input_emailstring
  • input_companystring
  • enriched_titlestring
  • icp_scorestring
  • verified_emailstring

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

curl

curl -X POST https://api.cleanlist.ai/v1/enrich/csv_lead \
  -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/csv_lead", {
  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/csv_lead",
    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 csv_lead
  • 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 CSV leads in production.

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

14 days of Pro, free.