New: API Reference docs are live — integrate Cleanlist enrichment into your apps. View API docs →
Legacy API (v1)
Enrichment Types
🔌

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

TypeWhat it doesCredit cost
partialVerified email plus profile (LinkedIn, title, company, firmographics)1 per email found
phone_onlyFind personal phone numbers only10 per phone found
fullFind both email and phoneup 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_email
  • primary_email_status — one of verified, likely_valid, risky, invalid, unknown
  • other_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 possiblepartial (default)
Pull personal phone numbers for cold callingphone_only
Maximize coverage on every contactfull

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