Waterfall Lead Enrichment — Clay Alternative, Emails & Phones
Pricing
from $3.20 / 1,000 person resolved (profile)s
Waterfall Lead Enrichment — Clay Alternative, Emails & Phones
Clay alternative for list enrichment: upload a CSV with whatever you have (emails, LinkedIn URLs, names with a company website, or just company domains) and get every row back enriched: profile, email, mobile number, headcount, industry, HQ and funding. Misses are free.
Pricing
from $3.20 / 1,000 person resolved (profile)s
Rating
0.0
(0)
Developer
B2B Enrich Search
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Enrich a list the way Clay does, without a seat or credits. Upload the CSV you already have: emails, LinkedIn URLs, names with a company website, or just company domains. Every row comes back enriched, and you pay only for the rows that were found.
What does Waterfall Lead Enrichment do?
It takes a spreadsheet with whatever columns you happen to have and fills in the rest. Each row is answered by the strongest key it carries, falling through to the next one when a cell is empty or malformed:
- email address
- LinkedIn profile URL
- social handle (GitHub, X/Twitter, Facebook)
- full name, plus the company website when the row has one
- company website alone: the row is a company, not a person
A person row comes back with the profile (current title, company,
location, career and education) and, with contacts on (the default here),
the email address and mobile number that reach them today.
A company row comes back with the company's LinkedIn page, headcount, industry, country, HQ, founding year and last funding round.
One file can mix both. A CRM export where some rows have a contact and some only an account domain works as it is.
Why "waterfall"
Table-enrichment tools chain several lookups and keep the first one that
answers. This Actor does the same over one database: email first, then the
profile URL, then the handle, then name + company website. You do not have
to clean the file or split it by column first. A cell that is not usable is
skipped and the next key is tried, and a row with nothing usable comes back
as a free invalid row that says why.
Input
{"csv": "email,full_name,company_website\nsatya.nadella@microsoft.com,,\n,Sundar Pichai,google.com\n,,stripe.com","contacts": true}
csv: upload a file, paste rows or link a CSV (up to 50,000 rows).
Recognized columns: email, profile_url / linkedin_url, github,
twitter, facebook, full_name (or first_name + last_name), and
domain / website / company_website. Other columns are ignored.
contacts: on by default. Adds the email address and phone that reach the
person today. Off, person rows ship as profiles at the lower price.
mustHave: deliver and pay only for people who have all of these
(email, personalEmail, workEmail, currentWorkEmail, phone,
github, twitter, facebook). A person who lacks one is a free
missing_required row that names nobody. Company rows are not affected.
compact: a short row for AI agents (about 2 KB per person instead of
10+ KB). Same price.
Output
One row per input row, tagged with its CSV record number in _input.row
(the header is record 1), so the result joins back onto your file. Values
below are made up.
A person row with contacts:
{"_status": "found","_input": { "row": 3, "full_name": "Jane Doe", "domain": "acme.example" },"_tier": "contacts","fullName": "Jane Doe","jobTitle": "VP Sales","companyName": "Acme","profileUrl": "https://www.linkedin.com/in/jane-doe-example","location": "Austin, Texas, United States","email": "jane.doe@acme.example","emailType": "work","phone": "+15550100123"}
A company row:
{"_status": "found","_input": { "row": 4, "domain": "acme.example" },"domain": "acme.example","companyName": "Acme","linkedinUrl": "https://www.linkedin.com/company/acme-example","employeeCount": 240,"employeeRange": "201-500","industry": "Software Development","country": "US","hqLocality": "Austin","founded": 2014,"hasFunding": true,"lastRoundType": "series_b","lastRoundDate": "2025-03-12"}
Every row that is not a result is free and says why in _note or _error:
not_found, ambiguous (a name several people share, or a website several
unrelated companies claim), invalid, profile_removed, duplicate (the
same person or website twice in your file, answered once) and
missing_required.
The Output tab has four views: Overview (people and companies in one table), Career & education, Contacts & signals and Company details.
Pricing
| Event | Price | When |
|---|---|---|
| Person resolved | $0.0032 | a row resolved to one person, profile delivered |
| Person resolved with an email or phone | $0.008 | contacts on and a contact that reaches the person today |
| Company resolved | $0.0055, $0.0044 on higher Apify plans | a company-only row resolved to one company |
Not found, ambiguous, invalid, duplicate, missing_required | $0 | always free, with a reason |
A person whose only addresses are at earlier employers ships at the profile price. A charge fires only after the row is in your dataset, and a long run that the platform moves to another server resumes where it stopped instead of billing a row twice.
How it compares with Clay
Clay is a workspace: tables, many data providers, credits per enrichment and a seat price. This Actor does one part of that job: it fills a list from a single database, on Apify, pay per found row, with no account to set up. When you need the rows in a workflow, run it from n8n, Make, Zapier or the API, or let an AI agent call it. This Actor is not affiliated with Clay.
Use it with AI agents and MCP
Add it to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server:
https://mcp.apify.com?tools=b2bsearch/waterfall-lead-enrichment
- The agent pays only for results. Every miss is a free row. Cap what
one call may spend with
maxTotalChargeUsd. - Rows explain themselves.
_statussays what happened, and_erroror_notesays why a row is not a result. - Compact rows for a context window.
"compact": truekeeps identity, current role, recent positions and contacts. Same price.
Which Actor in this family?
| Actor | Input → output |
|---|---|
| Waterfall Lead Enrichment (this one) | any CSV of people and companies → profiles, emails, phones, firmographics |
| Bulk People Enrichment | CSV of people only → profiles, at the same prices |
| Company Enrichment by Domain | list of domains → company records |
| LinkedIn to Phone | profile URLs, emails or names → mobile numbers |
| Decision Maker Email Finder | company domains → decision makers with emails |
| B2B Leads Finder | filters → new leads with emails |
Large volumes
Paid Apify plans lower the per-result price on their own. Pulling more than 100,000 rows a month, or missing a field or filter you need? Open an issue titled Volume with the monthly count and the fields you want (no names or emails needed) and we answer in the thread.
Free Apify plan
A run started from a free Apify plan delivers the first 100 results and stops; the run's status line says so. Any paid Apify plan lifts the cap. The rows are the same rows a paid run returns.
Feedback and reviews
How did it go? A rating in the Reviews tab of this Actor tells the next buyer what to expect; we read every word, good or bad. Got a wrong or stale row? Open the Issues tab with the run ID. Issues are public, so leave out emails, phones and names; the run ID is enough for us to find the row. We check every report, fix what is ours to fix and answer in the thread.
Disclaimer
This Actor is an independent product. It is not affiliated with, endorsed by or sponsored by Clay, LinkedIn, GitHub, X/Twitter or Facebook. It does not access, crawl or scrape any of them at run time: answers come from our own database of publicly available professional data, and the network names only describe the kind of data it covers. To have a person's data removed, open an issue on this Actor with only the profile link — nothing else is needed, and it is removed from every listing.