Articles · August 22, 2026 · SaaSTracker Editorial

Build a Clay-style enrichment waterfall for about $75 a month

A six-tool pipeline that turns a raw domain list into verified decision-maker emails: Google Sheets as the database, n8n as the engine, and four APIs doing the enrichment Clay would normally charge you for.


Clay earned its reputation by chaining enrichment providers into waterfalls: try one data source, fall back to the next, verify at the end. It is genuinely good at that job, and at meaningful volume its Pro tier runs roughly $350 a month.

But the core loop, take a domain, find the decision maker, get a verified email, is not $350 worth of magic. It is five API calls in a row. This playbook rebuilds that loop with six tools, two of which are free, for about $75 a month in fixed cost. It comes from a working pipeline, not a thought experiment: the original list that seeded it was a BuiltWith export bought on Fiverr for $44.

The stack at a glance

Step Tool Job Cost
1 Google Sheets The database. Raw domains in, enriched leads out Free
2 n8n The engine. Triggers, logic, and every API call About $24 a month hosted
3 Serper Google Search API that finds the LinkedIn profile First 2,500 queries free
4 OpenAI Reads the search result and answers: right person, or not? Cents per thousand leads
5 Findymail Turns name plus domain into a verified email From about $49 a month
6 NeverBounce Second verification pass before anything sends Under a cent per address

Each lead flows through the row order above. A domain that fails at any step gets marked and skipped, so bad inputs cost you one API call, not a bounce.

Step 1: Google Sheets is the database

Everything starts and ends in one Google Sheets spreadsheet. One row per domain, with columns the workflow fills in as it runs: domain, profile URL, name, title, qualification verdict, email, verification result, status.

Pasting a raw domain list into the sheet is what kicks off the workflow. That is the entire ingestion story, and it is the point: any list source works. A BuiltWith technology export, a scraped directory, a conference attendee list, a CSV someone on Fiverr sells for $44. If it has a domain column, it is fuel.

Two habits keep the sheet healthy:

  • Never overwrite the input columns. The workflow only writes to its own output columns, so a re-run can always start from the original data.
  • Use a status column as the queue. New rows start as pending; the workflow claims them, then writes qualified, no match, or bounced. That makes the sheet restartable and makes progress visible at a glance.

Step 2: n8n is the engine

n8n is an open source automation tool, and it does everything Clay's table engine does for this use case: watch the sheet for new rows, run each row through a chain of HTTP calls, branch on the results, and write back.

The hosted starter plan is about $24 a month. Self-hosting is free if you are comfortable running it, but at $24 the hosted version is cheap enough that the time saved usually wins. If your team already runs Zapier or Make, either can host the same loop; n8n wins here on economics, because it charges per workflow run while they meter every step, and this workflow has a lot of steps.

The workflow shape is simple:

  1. Trigger: poll the sheet for rows with status pending.
  2. Search: one Serper call per row.
  3. Qualify: one OpenAI call on the top result.
  4. Enrich: one Findymail call if qualified.
  5. Verify: one NeverBounce call if an email came back.
  6. Write back: update the row and set the final status.

Add a small wait node between rows. None of these APIs need aggressive throttling at normal volume, but pacing keeps you clear of rate limits and makes failures easier to read in the execution log.

Step 3: Serper finds the person

Serper is a Google Search API. Instead of scraping LinkedIn, which is fragile and against its terms, you search Google's index of public LinkedIn profiles:

site:linkedin.com/in "CEO" "acme.com"

Swap the title keyword for whoever your buyer is: founder, head of sales, VP marketing. The response comes back as clean JSON, and the useful part is that the title and snippet of a LinkedIn result usually carry the person's name, role, and company. That preview is enough to qualify the lead without ever clicking through to the profile.

The first 2,500 queries are free, which covers your first 2,500 domains. After that, pricing is credit based and stays in the tens of dollars per month at small-business volume.

One practical note: take the top two or three results, not just the first. Companies with common names or multiple executives produce noisy first results, and the next step is very good at sorting that out.

Step 4: OpenAI is the qualification gate

This is the step most DIY pipelines skip, and it is why they fill sheets with junk. Before spending an enrichment credit, send the search results to OpenAI with a narrow question:

Company domain: acme.com. Search results: [title, snippet, URL for the top results]. Is one of these the right person to contact if we sell to CEOs and founders? Answer yes or no, name the person if yes, and give one line of reasoning.

The model returns a yes or no, the matched name, and a one-liner on why. That one-liner goes straight into the sheet, so when you review the list before sending, every row explains itself.

A small, cheap model tier is fine here. The task is reading three search snippets, not writing prose, so the cost rounds to cents per thousand leads. The verdict gates the rest of the pipeline: a no writes no match to the row and stops, which is exactly how a waterfall should spend money.

Step 5: Findymail pulls the email

With a confirmed name and domain, Findymail does the actual enrichment: it returns a verified work email, and can pull phone numbers as well. It is fast, the data is clean, and on a raw list it will resolve 80 to 90 percent of the leads that made it through qualification.

Plans start at about $49 a month for a small credit pool, and credits are only consumed on successful finds, which matters for the economics: the GPT gate in step 4 means you rarely spend a credit on the wrong person.

Step 6: NeverBounce is the second check

Findymail verifies what it returns, but deliverability punishes overconfidence. Always run a second verification pass with a dedicated checker before anything sends. NeverBounce, now part of ZoomInfo, catches the addresses the first pass missed: catch-alls that quietly died, mailboxes that filled, domains that changed hands.

At pay-as-you-go rates the check costs well under a cent per address, which is the cheapest insurance in outbound. A single bounce spike costs more sender reputation than a year of verification fees.

Two tools deep is enough for most teams. You do not need Clay's full multi-provider verification waterfall, but the architecture here supports one: at serious volume, add ZeroBounce or MillionVerifier as a third opinion and only send addresses that pass two of three.

What a real run costs

For a 1,000-domain list, assuming typical pass-through rates:

  • Serper: 1,000 queries, free inside the 2,500-query allowance.
  • OpenAI: 1,000 short qualification calls, well under $1.
  • Findymail: roughly 500 to 700 qualified leads hitting the finder, covered by the $49 starter credits.
  • NeverBounce: about $5 in checks.
  • n8n: $24 flat.

Call it $75 to $80 a month of fixed cost, plus whatever your list source charges, against roughly $350 for the managed equivalent. The output is the same artifact: a sheet of named decision makers with twice-verified emails and a written reason each one qualified.

Where this stack breaks

This is not a Clay teardown, and the original builder's own conclusion was blunt: this is not about canceling Clay. It is about knowing what you are paying for. Clay is still the right call when:

  • You need many data providers. Clay's waterfall spans dozens of sources with one bill and one interface. Rebuilding five-provider fallbacks in n8n is possible and genuinely tedious.
  • Non-technical teammates run the table. n8n is approachable, but debugging a failed HTTP node is still an engineer's errand. Clay's failure states are friendlier.
  • Enrichment is your bottleneck, not your budget. At the point where an SDR team burns thousands of credits a week, the $350 buys real time back.

For a founder or a small team doing their own outbound, though, the equation flips. The parts are cheap, the wiring is a weekend, and every step of the pipeline is yours to inspect, which is worth something the day a list comes back wrong.

The short version

Sheet in, n8n loops the rows, Serper finds the profile, a model confirms the person, Findymail gets the email, NeverBounce proves it is real, and the verdict lands back in the sheet. Six tools, one afternoon of setup, about $75 a month.