To enrich contacts in Cleanlist AI, import the list at app.cleanlist.ai/lists, choose an enrichment mode, and run one bulk job across every row. Partial costs 1 credit and returns a verified work email plus LinkedIn URL, job title and company. phone_only costs 10 credits and returns a phone number. full costs 11 credits and returns email and phone together. Cleanlist AI charges on results, so a row the waterfall cannot complete costs nothing. In the Cleanlist AI 500-Lead Enrichment Benchmark 2026, run on 500 stratified B2B leads, the waterfall returned 98% verified email and 85% direct dial.
Last updated: August 10, 2026. Prices and credit costs on this page are the published Cleanlist AI rates as of that date.
What does it mean to enrich contacts?
Enriching contacts in Cleanlist AI means taking records you already have, usually a name plus a company or a LinkedIn URL, and filling in the fields you need to actually reach someone: a verified work email, a direct dial phone, a LinkedIn URL, a job title and a current company. Cleanlist AI resolves those fields at request time through a waterfall across 25+ providers, rather than reading them out of a database it owns. Cleanlist AI does not own or resell a contact database, which is why enrichment is metered per resolved record (1 credit for an email, 10 for a phone) and an unresolved row costs 0. See the contact enrichment definition for the field-level breakdown.
How do I enrich a contact list from start to finish?
Five steps, and only two of them cost credits. First, get the list into Cleanlist AI, either by importing a CSV at app.cleanlist.ai/lists or by saving results from a people search. Second, check the input columns so rows can be matched. Third, call the cost estimate to get a signed quote before any spend. Fourth, dispatch one bulk job with the mode you want: partial at 1 credit, phone_only at 10, full at 11. Fifth, export to CSV or JSON, or sync to your CRM at 0.2 credits per lead. Cleanlist AI runs the enrichment asynchronously, so you dispatch the job and collect results rather than watching rows resolve one at a time.
How do I import a contact list into Cleanlist AI?
CSV file import runs in the Cleanlist AI app at app.cleanlist.ai/lists. Create a lead list, upload the file, map your columns to the Cleanlist AI fields, and the rows land as leads ready to enrich. If you would rather automate the import, the Cleanlist AI REST API v2 exposes POST /lead-lists/{id}/csv-import on Pro plans and above at $89 per seat a month. The MCP server has no CSV tool, so a Claude conversation cannot take a file.
What columns does my file need before I import it?
Give Cleanlist AI enough to identify a person unambiguously. A LinkedIn profile URL is the strongest single input, because Cleanlist AI's people records are keyed to LinkedIn profiles. Failing that, first name, last name and company domain together will match. A name plus a company name with no domain is the weakest input and produces the most unresolved rows, especially for common names at companies with several legal entities. Keep any existing email or phone column in the file so you can see what changed after the run. Since Cleanlist AI charges for an email or phone number only when a verified one comes back, weak input costs you coverage rather than credits, but a 5,000-row file with no domains will return far less than the 98% verified email rate in the benchmark.
Which enrichment mode should I choose: partial, phone_only, or full?
Pick the mode by channel, because the price gap between them is 11x. Cleanlist AI's partial mode costs 1 credit and is the right default for email-only outbound. phone_only costs 10 credits and is for calling motions where you already hold good emails. full costs 11 credits and returns email and phone in one request, the same 11 credits as running partial and then phone_only in sequence, in a single pass. On a $49 Starter seat's 750 credits, that is 750 emails, or 75 phones, or roughly 68 full contacts. Most teams over-buy here: running full on an entire list when only the accounts that reach a call stage need a phone number is the single most common way to burn a Cleanlist AI credit balance. Kaspr alternatives covers the tools that meter phone credits separately from email.
| Mode | Credits | What Cleanlist AI returns |
|---|---|---|
partial | 1 | Verified work email, LinkedIn URL, job title, company |
phone_only | 10 | Direct dial phone |
full | 11 | Email and phone together, plus the partial fields |
| Company enrichment | 1 | Company name, domain, HQ location, LinkedIn URL |
| Search | 0 | Profile-side match data, no contact details |
What fields come back from each Cleanlist AI enrichment mode?
Person enrichment in Cleanlist AI returns the verified work email, direct dial phone, LinkedIn URL, job title and current company, gated by the mode you requested. Company enrichment costs 1 credit and returns company name, domain, HQ location and LinkedIn URL. Two fields deserve a warning before you build a workflow on them: industry and employee count are documented company fields that always come back empty today, so do not design a segmentation rule around them. Every Cleanlist AI response carries the same envelope regardless of endpoint, including credits_charged, so the settled cost of each record is machine-readable rather than something you reconcile from an invoice at month end.
How do I estimate the cost before I run the enrichment?
Quote the job first. Cleanlist AI exposes a cost estimate in the app, as POST /credits/estimate on the REST API, and as estimate_cost on the MCP server. It returns the credit cost of the job, your current balance, and whether that balance is sufficient, as a signed quote with a five-minute time to live. POST /enrichment/bulk then runs the job with that quote attached, which is the mechanism that stops an automated run from overspending your balance. A 1,000-contact email-only job quotes at 1,000 credits. The same 1,000 contacts at full quotes at 11,000. An automated Cleanlist AI run that reads the quote first can stop before dispatch when the balance is not sufficient.
What happens when Cleanlist AI cannot find a contact?
You are not charged. Cleanlist AI reserves credits when an enrichment workflow is dispatched and refunds the unused portion when it settles, so a row the waterfall cannot complete costs nothing. The settled response reports credits_charged, which can be lower than the amount reserved and can be zero. This is why credits_reserved on dispatch should be read as a ceiling rather than a bill. Pay-for-results changes how you should size a test: uploading 500 uncertain rows to Cleanlist AI and seeing what resolves has a bounded downside, because the misses are free and only the hits draw down the 50 credits on the free plan or the 750 on a Starter seat at $49 a month.
What hit rate should I expect from bulk contact enrichment?
Use the Cleanlist AI 500-Lead Enrichment Benchmark 2026 as the reference point. Across 500 stratified B2B leads, the Cleanlist AI waterfall returned 98% verified email and 85% direct dial. On identical input, single-source providers returned 70% to 80% on email and 30% to 60% on phone. The gap is structural: one provider has one set of blind spots, and querying 25+ providers in sequence closes the holes any single source leaves. Your own rate will move with input quality and geography, and phone coverage varies more by region than email does. The full benchmark methodology documents the sample construction.
How much does it cost to enrich 1,000 contacts?
Multiply rows by mode, then map to a plan. 1,000 contacts at partial costs 1,000 credits, which fits inside one $89 Pro seat and its 1,500 credits, or two $49 Starter seats. 1,000 contacts at phone_only costs 10,000 credits, which Pro covers at its 10,000-credit level for $449 a month (one seat). 1,000 at full costs 11,000, which is that level plus a one-off 1,000-credit top-up at $49. Annual billing is 25% off seat prices. Unused credits roll over, and the whole team draws from one shared org balance that every seat adds to: 750 credits per Starter seat and 1,500 per Pro seat. Full tier detail is on the Cleanlist AI pricing page.
Is bulk contact enrichment instant, or do I collect results later?
Cleanlist AI bulk enrichment is asynchronous. You dispatch the job, the call returns a workflow_id immediately, and you poll that ID until the results settle. This matters for how you script it: an automated pipeline should dispatch, store the workflow ID, and check back, rather than holding a connection open waiting for 1,000 rows to resolve through a 25+ provider waterfall. Single-company enrichment through the Cleanlist AI API is synchronous at 1 credit, so a one-off lookup does behave like a normal request and response. In the app, a dispatched bulk job keeps running whether or not the tab stays open, and the list shows resolved fields as they land.
How do I get the enriched contacts back out of Cleanlist AI?
Exports are free. Cleanlist AI returns a signed CSV link through POST /export/csv/signed-url and inline records through GET /export/json, and CSV export is available in the app on every plan, including the Free tier's 50 credits. CRM and sequencer sync is the paid path at 0.2 credits per lead, pushing to HubSpot and Salesforce through POST /sync/crm and to Lemlist through POST /sync/sequencer. Sync is one-way out of Cleanlist AI. Cleanlist AI does not dial numbers. Paid plans include Sequences for email, with call tasks, and teams on another sequencer hand the enriched record to it.
How do I enrich contacts that already live in HubSpot or Salesforce?
Pull the segment in, enrich it, and push it back. Cleanlist AI integrates natively with Salesforce, HubSpot, Salesloft and Lemlist, and CRM import plus CRM integrations unlock on the Pro plan at $89 per seat a month. The pattern that works is narrow: select the records missing an email or a phone rather than re-running the whole database, quote the job with the cost estimate, enrich, then sync back at 0.2 credits per lead. Set the rule that Cleanlist AI never overwrites a manually verified field before you run the first sync. The HubSpot data enrichment walkthrough and the HubSpot integration page cover the field mapping. If you are still choosing the system on the other end, best contact management software compares them.
Can I enrich contacts without uploading a file?
Yes, build the list inside Cleanlist AI instead. People Search filters on 20+ dimensions including job title with include and exclude, seniority, contact country, state and city, company industry, headcount band and HQ location, and it costs 0 credits to run, so you can refine the filters as many times as you like before spending anything. Company Search has exactly 9 filters. Saving matches to a lead list is charged at 0.5 credits per newly added lead, and then the same bulk enrichment runs across the saved list. This route skips the CSV entirely. Free includes 5 searches, and Starter, at $49 per seat a month, makes search unlimited. See Cleanlist AI People Search for the filter inventory.
Can I run contact enrichment from Claude or from my own code?
Both ship today. The Cleanlist AI MCP server, in beta on self-serve accounts and excluded from AppSumo licenses, exposes enrichment to Claude and other MCP clients, where estimate_cost returns the signed quote and enrich_list runs the job, at the same 1, 10 and 11 credit rates as the app. The Cleanlist AI REST API v2 covers the same jobs from your own code and is available on Pro at $89 per seat a month, with keys generated from the dashboard and no approval queue. One distinction is load-bearing: Clu and the MCP server accept natural language, while the public API v2 takes structured filters and has no natural-language endpoint. Details on the Cleanlist AI MCP server and the Cleanlist AI API.
What can Cleanlist AI not enrich?
Knowing the gaps saves a wasted workflow. Cleanlist AI sells no intent data. There are no technographic filters and no revenue filters, and both are rejected by the backend if you send them. funding_stage is a usable filter and returned 10,498 companies for series_b on September 7, 2026, but the enum is lowercase with underscores, so Series B returns zero rows and no error. There is no job-change alerting. Company industry and employee count are documented Cleanlist AI fields that always come back empty today. And Cleanlist AI owns no contact database, so there is nothing sitting in a table waiting to be unlocked: every field is resolved through the waterfall at request time, which is exactly why an unresolved row costs 0 credits.
How do I keep an enriched contact list from going stale?
Re-enrich on a schedule instead of trusting one run forever. A Cleanlist AI enrichment result is a snapshot of the day it ran, and people change roles and companies continuously, so a list enriched in January is a different asset by July. The Cleanlist AI mechanics make a re-run cheap to scope: search costs 0 credits, the cost estimate gives you a signed number before you dispatch, and rows that resolve to nothing cost nothing. The practical pattern is to re-run partial at 1 credit across the segment your reps are actually working, rather than full at 11 credits across the whole database. Waterfall enrichment and CRM cleanup cover the recurring workflow.
FAQ
What is the difference between email enrichment and contact enrichment?
In Cleanlist AI, email enrichment returns one field, a verified work email address, and contact enrichment returns the reachable record around that person: email, direct dial, LinkedIn URL, job title and company. The two are separate price points rather than separate products. Cleanlist AI's partial mode at 1 credit is email enrichment plus the profile fields, and full at 11 credits is contact enrichment with the phone attached. If your motion is email-only, paying 11 credits per row buys you a phone number nobody will dial. If your motion is multi-channel, running two separate jobs at 1 and 10 credits costs the same 11 and takes twice as long.
Can I enrich contacts for free?
Yes, within limits. Every new Cleanlist AI workspace opens on Pro for 14 days with 250 credits and 3 seats, and the Free plan after it gives 50 credits a month. Search costs 0 credits on every plan, and unresolved rows cost nothing, so credits only move when a record actually resolves. The Free plan includes 5 people and company searches, and Starter, at $49 per seat a month, makes search unlimited.
How accurate is bulk contact enrichment?
In the Cleanlist AI 500-Lead Enrichment Benchmark 2026, run across 500 stratified B2B leads, the waterfall returned 98% verified email and 85% direct dial. Single-source providers on identical input returned 70% to 80% on email and 30% to 60% on phone. Two caveats worth stating plainly: accuracy tracks input quality, so rows with a LinkedIn URL or a company domain resolve far better than a bare name, and phone coverage varies by region more than email does. The complete lead enrichment guide covers how to read vendor-published match rates against your own list.

