Bulk enrichment is how you process a list of contacts in one go — typically a CSV from a CRM export, a conference attendee list, a target-account list. You upload the file, we work through it, you export verified results. This page walks through every step.
When to use bulk upload
Bulk is the right tool when you have:
- A list of 10+ contacts to enrich
- A target-account list where you want to find specific named people at each account
- A CSV from a CRM or sales tool that needs verification before you reach out
- An old prospecting list you want to refresh before a campaign
If you have just a few contacts, single search is faster. If you want to find decision-makers at companies (without knowing specific names), company search is the better tool.
Step 1 — Open Bulk enrich
Click Bulk enrich in the left sidebar. You land on the upload screen with a drop zone in the middle and two helper cards below — a sample CSV you can download, and tips for best results.
Step 2 — Prepare your CSV
Your CSV needs three columns at minimum:
- First name
- Last name
- Company
The column names don't have to match exactly — you'll map them in the next step. But the data needs to be present.
Some practical tips for best results:
- Include first name, last name, and company columns — split first and last name, don't combine into a "full name" field
- Skip middle names — use first name only. "John" works better than "John P." or "John Paul"
- Remove titles like Mr, Mrs, Dr — these confuse name matching. Strip them from the first-name column before upload
- Use the person's current company — not where they used to work. If your CSV is old, results will be worse on people who've changed jobs
The sample CSV downloadable from the upload screen shows the expected format. Use it as a template if you're not sure.
Step 3 — Upload the CSV
Drag your file into the drop zone, or click the zone to browse for it. The file needs to be:
- A .csv file (not .xlsx — export to CSV first if you have a spreadsheet)
- Under 10 MB
The upload happens instantly. There's no waiting for the file to transfer.
Step 4 — Map your columns
After upload, you see the Map your columns screen. Three dropdowns appear:
- First Name — pick the column in your CSV that has first names
- Last Name — pick the column with last names
- Company — pick the column with company names
Below the dropdowns, you'll see a preview of the first 5 rows of your file, so you can confirm you've mapped the columns correctly. Check the preview — getting the mapping wrong means the entire job will fail.
If your CSV had clear column headers (first_name, last_name, company), the mapping is auto-detected and you can just click forward.
Click Analyze Contacts to continue.
Step 5 — Pre-flight check
Before processing starts, you see a summary of what you're about to do:
- Total contacts — total rows in your CSV
- Previously found — contacts you've already enriched in past searches (these will use cached data, no new credits)
- Duplicates removed — duplicate rows that we'll only count once
- New lookups — actual fresh lookups that will happen, with the maximum credit cost
Below that, the same I'm looking for toggle you've seen on single search:
- Email — 1 credit per result
- Phone — 10 credits per result
- Both — up to 11 credits per result
If you don't have enough credits for the job, you'll see a warning here instead of the green confirmation. If you do, you'll see "✓ You have enough credits" with the math spelled out.
When you're ready, click Start Enrichment.
Step 6 — Watch it process
The processing screen shows:
- A progress bar filling left to right as rows are processed
- A counter showing N processed out of total (e.g. "12 / 100")
- Live found/not-found/failed counts beneath the bar
- Live credits used / credits remaining on the right
- The contact table below, with each row's status — Pending, Found, Not Found, or Failed
The table updates row by row as we work through your file. You can scroll through it while the job runs.
You can leave this screen and come back. The job continues in the background. To return, go to Bulk enrich → Past uploads.
Pausing a job
If you spot something wrong mid-job — wrong column mapping, wrong mode, wrong file — click Pause. The job stops where it is. You can resume it later, cancel it entirely, or export what's been processed so far.
Exporting partial results
While a job is running, you can click Export N results so far to download a CSV of what's processed so far. Useful if you need to start working with the early results before the whole job finishes.
Step 7 — Review the results
When the job finishes, you see:
- A green "Enrichment complete" banner with the summary ("Found data for X contacts from Y total. Z credits used.")
- Four result tiles: Found, Not Found, Failed, Credits Used
- A primary Export Results as CSV button
- A New upload button to start another job
- The full table of contacts with their verified data and status
The table has tabs to filter the view:
- All — every row
- Found — only successful lookups
Each row shows the contact, their verified email (or phone), the status badge, and a + button on the right — click it to save that contact to one of your saved lists.
Step 8 — Export
Click Export Results as CSV to download the enriched file. The CSV includes:
- Your original CSV columns
- A new column with the verified email
- A new column with the verified phone (if you ran Phone or Both mode)
- A status column showing Found / Not Found / Failed for each row
- Credits used per row
You can import the CSV into your CRM or sales engagement tool from here. See Exporting your results for tool-specific tips.
Status meanings
- Found — we returned a verified result for this contact
- Not Found — we ran the lookup, no verified result was available, no credit charged
- Failed — we attempted the lookup but couldn't find or verify a result for reasons specific to this row (a temporary system issue, an input we couldn't parse cleanly). The end result is the same as Not Found from your perspective: no data returned and no credit charged. Failed rows can often be retried in a follow-up job
- Pending — the row hasn't been processed yet (only visible during an active job)
Credit math on bulk
Bulk uses the same rules as single search:
- Every successful row costs credits (1 for email, 10 for phone, up to 11 for both)
- Every unsuccessful row costs nothing
- Cached rows (previously enriched) cost nothing
So a 1,000-row file with a 60% hit rate on Email mode costs 600 credits, not 1,000.
Past uploads
Every bulk job is saved in your account. Click Past uploads to see your history of bulk jobs. You can:
- Open any past job to see its results
- Re-export the CSV from any past job
- Re-run a past job (useful if data has changed since)
Past uploads aren't deleted unless you delete them manually. They're useful as a record of what you've enriched and when.