Audience: developers. The public API requires a Pro plan or above (self-serve) or an AppSumo Tier 5+ license. Support agent: confirm the user's plan grants API access before giving API advice.
TL;DR: Pick partial for a verified email plus profile data (1 credit/find), full for that plus a phone number (up to 11 credits/find), or phone_only to skip email lookup (10 credits/find). Failed lookups cost 0 credits across every type.
Enrichment Types
The enrichment_type field on POST /api/v1/public/enrich/bulk controls which providers Cleanlist runs and what data ends up on each contact.
This page documents the legacy v1 API (/api/v1/public). The v1 API accepts partial, phone_only, and full. The none and prospecting_only modes are available on the v2 API only.
Quick comparison
| Type | What it does | Credit cost |
|---|---|---|
partial | Verified email plus profile (LinkedIn, title, company, firmographics) | 1 per email found |
phone_only | Find personal phone numbers only | 10 per phone found |
full | Find both email and phone | up to 11 per enrichment |
Failed lookups cost zero credits across every type.
partial (default)
Email-plus-profile enrichment. This is the default if you omit enrichment_type. Cleanlist runs the waterfall across email providers and returns the first verified email it finds — along with the profile data (LinkedIn URL, job title, company and firmographics) gathered along the way. It skips the phone lookup; that's the only thing full adds.
{
"enrichment_type": "partial",
"contacts": [
{ "linkedin_url": "https://www.linkedin.com/in/janedoe" }
]
}Cost: 1 credit per email found. 0 credits if no email is found.
The result includes:
primary_emailprimary_email_status— one ofverified,likely_valid,risky,invalid,unknownother_emails— additional candidates the providers found- Prospect / company metadata (name, job title, LinkedIn URL, headline, location, company domain, industry, headcount)
phone_only
Skip email enrichment and only look up personal phone numbers. Useful when you already have email coverage and just need phone for cold-call campaigns.
{
"enrichment_type": "phone_only",
"contacts": [
{ "linkedin_url": "https://www.linkedin.com/in/janedoe" }
]
}Cost: 10 credits per phone found. 0 credits if none found.
The result includes:
personal_phone_numbers(array of E.164 strings)- Prospect / company metadata
full
Run both email and phone enrichment. The most complete (and most expensive) mode.
{
"enrichment_type": "full",
"contacts": [
{ "linkedin_url": "https://www.linkedin.com/in/janedoe" }
]
}Cost: up to 11 credits when both email and phone are found. If only one is found, you're billed only for that one (1 for email, 10 for phone).
Choosing a type
| If you want to… | Use |
|---|---|
| Get verified emails as cheaply as possible | partial (default) |
| Pull personal phone numbers for cold calling | phone_only |
| Maximize coverage on every contact | full |
v2-only modes
The none (attach contacts without enrichment) and prospecting_only (discover new contacts at target companies) modes are only available on the v2 API. New integrations should use v2.
Combining with smart columns
After an enrichment finishes, you can layer Smart Columns on top of the resulting contacts inside the portal — run the Research agent for a company/contact brief, Qualification to score against your ICP, or a Custom agent for a bespoke draft. Smart Columns are run from the portal but consume from the same credit pool.
Related
- Enrichment endpoint — submit a bulk request
- Credits — credit costs
- Waterfall enrichment — how Cleanlist combines providers
- Smart Columns — AI-driven post-enrichment processing
- v2 API — current API surface with additional enrichment modes