How do you clean scraped lead lists before outreach?

How are people cleaning messy scraped business CSVs before outreach?

I keep running into exports from Google Maps / Outscraper / Apify where half the rows need cleanup before they can go into Instantly, Smartlead, or a CRM.

Stuff like bad URLs, duplicate domains/phones, directory links, missing emails, weird source URLs, and rows that should clearly be skipped.

I made a small cleanup tool for my own workflow and I’m trying it on real messy files now.

If anyone has an old/anonymized export with 50–100 rows, I’ll clean it and send back the output. Mostly looking to see where it breaks.

reddit.com
u/klacium — 1 day ago
▲ 6 r/directorymakers+1 crossposts

I built a tool that cleans messy Google Maps lead CSVs before cold outreach

I built a small tool for cleaning messy Google Maps / Outscraper / Apify lead CSVs before outreach.

It takes a scraped local business CSV and returns:

  • cleaned domains
  • emails/phones found where possible
  • duplicate phones/domains flagged
  • directory/social/bad URLs marked
  • basic MX email verification
  • sendable / review / skip
  • reasons for every row

Looking for old or anonymized exports to test against.

If you have 50–100 messy rows from an old local lead list, I’ll run them free and send back the cleaned output.

Messy is better than perfect.

Demo: https://youtu.be/5S1vT6cZV1c

u/klacium — 17 hours ago

We built a lightweight Clay alternative for messy local business CSVs

We built a lightweight Clay alternative that only does one thing: turns messy local business CSVs into outreach-ready rows.

Clay is great if you need a full GTM workflow builder.

We didn’t.

We just needed a simple way to take Google Maps / Outscraper / Apify exports and clean them before outreach.

So SiteEnrich takes a scraped local business CSV and returns:

cleaned domains

emails found from websites

phone if available

basic MX email verification

duplicates / junk rows flagged

sendable / review / skip

reasons for every row

No CRM. No sequences. No giant workflow builder.

Just messy CSV in → clean outreach file out.

Still testing the workflow. If you have an old local lead CSV with 50–100 rows, I’ll run it free and send back the output.

reddit.com
u/klacium — 13 days ago
▲ 7 r/Coldemailing+1 crossposts

How are you cleaning Google Maps/Outscraper CSVs before cold outreach?

For people doing local lead gen / cold outreach:

When you export leads from Google Maps, Outscraper, Apify, etc., what do you usually do before uploading the CSV into your sender/CRM?

I’m interested about the cleanup step:

  • dead or wrong websites
  • missing emails/phones
  • duplicate rows
  • directory/profile URLs instead of real sites
  • junk rows that should not be contacted
  • deciding what is sendable vs needs review

Are you doing this in Sheets, Clay, custom scripts, VAs, or just manually cleaning the CSV?

I’m testing a small workflow around this and can run 50–100 rows from an old CSV free if anyone wants to compare output, but mostly trying to understand how people handle this today.

reddit.com
u/klacium — 14 days ago

Looking for 5 people running Apollo/Clay enrichment workflows to test a pre-enrichment idea

I’m trying to pressure test a small GTM workflow idea and would rather get real operator feedback than keep guessing.

The idea:

Before spending credits on Apollo, Clay, PDL, Crustdata, etc., run a cheap website-signal pass on company domains to see whether it can flag:

  • obvious junk / dead domains
  • companies worth enriching further
  • uncertain records that should still go through the normal flow
  • misleading signals that should not be trusted

I don’t need anyone to change their stack.

What I’m looking for:

5 people who already run enrichment workflows and have 10 messy company domains from a real workflow.

I want to compare the output against how you would normally qualify those companies.

Main questions I’m trying to answer:

  • Is this useful before enrichment, or just noise?
  • Which website signals actually help?
  • Which signals create false negatives?
  • Is this more useful as a junk filter or as an account prioritization layer?

Not looking for testimonials. I’m trying to find where this breaks.

If you’re running Apollo/Clay/enrichment workflows and have a small messy domain sample, happy to compare notes.

reddit.com
u/klacium — 1 month ago

Built a website enrichment API for lead qualification and automation. looking for feedback

recently launched SiteEnrich (https://siteenrich.io) and would love some feedback.

SiteEnrich is a website enrichment API that turns any company website into structured business data.

Give it a URL and it returns information such as:

  • Company name
  • Contact emails
  • Social profiles
  • Careers page detection
  • Pricing page detection
  • Website signals useful for sales and lead qualification

I originally built it because I was spending too much time manually researching companies before running outreach and enrichment workflows.

Current use cases include:

  • Lead generation
  • CRM enrichment
  • Sales qualification
  • AI agents
  • n8n workflows
  • Prospect research

The product has been live for about two weeks and I'm actively looking for feedback from founders, agencies, and automation builders.

I'd especially love to hear:

  • What data points would be most useful?
  • What would stop you from using a tool like this?
  • Any obvious improvements to the positioning or onboarding?

Happy to answer any questions.

u/klacium — 1 month ago
▲ 3 r/n8n

Pre-qualify leads before Apollo using website enrichment - save 70% on credits [Workflow included]

Been running this pattern for a while and finally turned it into a shareable workflow.

The problem: most teams waste Apollo credits on dead domains, parked sites, and companies with no real web presence.

The fix: run a cheap website enrichment check first. Only send companies to Apollo that pass a basic fit score.

The workflow:

  • Reads company URLs from Google Sheets
  • Enriches each URL via HTTP Request - returns company name, emails, socials, and signals like careers page and pricing page detection
  • IF node filters out failed results
  • Qualified companies written to a results sheet ready for Apollo

In practice this cuts Apollo credit usage by 60-70% depending on how dirty your input list is.

Workflow JSON on GitHub: https://github.com/AlextheGrace/siteenrich-n8n-workflow

Happy to answer questions on the setup.

u/klacium — 1 month ago
▲ 12 r/n8n

How I use website enrichment as a pre-Apollo qualifier in n8n to cut enrichment costs by 70%

Been running B2B lead gen workflows in n8n for a while and the biggest waste I kept seeing was burning Apollo credits on companies that were never going to convert.

The fix was adding a website enrichment step before hitting Apollo. Here's the pattern:

Step 1 - Website enrichment first

Pass each company URL through a lightweight enrichment API via HTTP Request node. Returns company name, emails found on the site, socials, and business signals like whether they have a careers page, pricing page, or demo CTA. Takes about 400ms per URL.

Step 2 - Score before enriching

Add an IF node after the enrichment step. If the company has a careers page and a pricing page they're probably a real business worth enriching. If the response has zero emails and no social links it's likely a dead or parked domain. Filter those out before spending Apollo credits.

Step 3 - Only hit Apollo on companies that pass

Now you're only enriching qualified companies. In practice this cuts Apollo credit usage by 60-70% depending on how dirty your input list is.

The API I use for Step 1 scrapes the live website and returns clean JSON directly into n8n HTTP Request node, no parsing needed, all failures return 200 with an error field so the workflow never breaks. Happy to share what I'm using if anyone's interested.

Anyone else using a similar pre-qualification pattern? Curious what signals others are using to filter before enrichment.

reddit.com
u/klacium — 1 month ago
▲ 5 r/n8n

How I handle flaky third party API responses in n8n without breaking my workflow

Been building lead gen workflows in n8n for a while and the biggest silent killer is third party APIs returning unexpected responses. Your workflow shows green but your Google Sheet is full of empty rows or broken data.

Here's the pattern that fixed it for me:

1. Never trust HTTP status codes alone

A 200 response doesn't mean success. Always check the response body too. Add an IF node after every HTTP Request that checks for an error field in the JSON before passing data downstream.

2. Build for the unhappy path first

Before you build the happy path, ask: what happens if this API returns null, times out, or changes its schema? Map those failure routes explicitly in your workflow.

3. Use APIs that return consistent schemas

The best third party APIs always return the same shape regardless of success or failure. For example SiteEnrich always returns 200 with an error field on failures — dns_failed, timeout, site_blocked — so your workflow never hits an unexpected response shape.

4. Cache normalized domain names

Before hitting any enrichment API normalize your input. Strip www, force lowercase, handle trailing slashes. Bad input is responsible for more failures than bad APIs.

5. Log everything

Add a Google Sheets append node on failure branches. Every failed enrichment gets logged with the input URL and error. You'll spot patterns fast.

What patterns have you found useful for handling unreliable APIs in n8n?

reddit.com
u/klacium — 2 months ago
▲ 5 r/zapier+1 crossposts

Best website enrichment APIs for n8n workflows in 2026. what are you using?

Been building lead gen workflows in n8n and tried a few different enrichment options. Here's what I found:

Clearbit/Breeze Intelligence - now part of HubSpot, great data but expensive and enterprise focused. Overkill for most n8n workflows.

Hunter.io - solid for email finding, $34/month, but returns emails only and needs extra parsing to work in n8n.

Apollo - all in one platform, $49/month, but built for humans not automation pipelines.

SiteEnrich - lightweight API I've been testing, $19/month, returns clean JSON directly into HTTP Request node with no parsing. All failures return 200 with error field so workflow never breaks. Still early but works well for first pass enrichment.

What are others using for company enrichment in their n8n workflows? Always looking for better options.

u/klacium — 2 months ago

Website Enrichment API — turn any company URL into clean JSON data

Selling access to SiteEnrich. A website enrichment API that returns structured company data from any URL.

What you get:

  • Company name and description
  • Contact emails
  • Social media links
  • Business signals (careers page, pricing, demo CTA)

Built for sales teams and lead gen workflows. Plugs directly into n8n, Zapier, and Make.

Pricing: $19/month (2,000 requests) or $49/month (10,000 requests)

siteenrich.io

reddit.com
u/klacium — 2 months ago