Complete Guide: How I Built a Fully Automated Yelp Scraper Using n8n + Apify
Save $564/year by automating lead generation without writing code.
Automate Yelp
with n8n & Apify
Table of Contents
Scraping business data from Yelp can be a goldmine for lead generation, outreach, SEO research, and market analysis. But doing it manually takes hours — searching for businesses, copying details, visiting websites, extracting emails, filtering duplicates, verifying emails, and then saving data to a sheet.
That’s why I created a fully automated Yelp scraper, powered by:
- n8n – No-Code Automation
- Apify – Yelp Data Scraper
- Reoon Email Verifier – Email Validation API
- Google Sheets – Auto Data Storage
In this complete tutorial, you will learn exactly how to build the same workflow, understand how it works, and discover what you can use it for.
🔧 Tech Stack Used
| Tool | Purpose |
|---|---|
| n8n | Automation platform (The Brain) |
| Apify | Scrapes business details from Yelp |
| Reoon API | Validates scraped email IDs |
| Google Sheets | Stores clean and verified data |
| HTML Extractor | Scrapes emails & metadata from websites |
🚀 What This Automation Can Do
Once set up, my workflow can:
- Scrape thousands of businesses from Yelp
- Filter only real business websites (not directories)
- Crawl the website automatically
- Extract emails, phone numbers, title tags, meta descriptions & H1
- Verify emails automatically
- Save clean data directly to Google Sheets
All without writing a single line of code.
🧠 Workflow Architecture Overview
The scraping system follows these 7 steps:
- Trigger workflow & input city + niche
- Send query to Apify Yelp Actor
- Collect raw business data
- Filter duplicates + remove directory websites
- Visit each business website and scrape extra data
- Verify emails using Rioni
- Save verified data to Google Sheet (loop until complete)
🔨 Step-By-Step Tutorial
📌 Step 1: Prepare the n8n Workflow
Open n8n (Cloud or Self-Hosted) and click Create Workflow. Start with a Manual Trigger node for testing.
Input Parameters:
City → Example: "New York"
Niche → Example: "Dentist"
// These two will be passed to the Apify API.
🔗 Step 2: Call Apify Yelp Scraper
Add an HTTP Request Node and configure it as follows:
- Method: POST
- URL: Apify Yelp Actor Endpoint
Body (JSON):
{
"locations": [
"{{ $json.Location }}"
],
"maxImages": 0,
"searchLimit": 5000,
"searchTerms": [
"{{ $json.Category }}"
],
"directUrls": []
}
Endpoint:
https://api.apify.com/v2/acts/tri_angle~yelp-scraper/runs?token=APIFY_TOKEN
🧹 Step 3: Clean Data & Remove Useless Websites
We need to remove directory sites like Yelp itself, YellowPages, etc., to find real business websites.
Use an IF Node with this Regex filter:
{{ $json.website !== "" && ( $json.website.extractDomain().toLowerCase() ).match(/(^|\.)(ikea\.com|instagram\.com|facebook\.com|zillow\.com|realtor\.com|redfin\.com|trulia\.com|homes\.com|hotpads\.com|estately\.com|movoto\.com|homesnap\.com|homefinder\.com|apartments\.com|rent\.com|apartmentguide\.com|zumper\.com|rentcafe\.com|renthop\.com|rentometer\.com|craigslist\.org|forsalebyowner\.com|fsbo\.com|houzeo\.com|isoldmyhouse\.com|fizber\.com|beycome\.com|loopnet\.com|costar\.com|crexi\.com|landwatch\.com|land\.com|opendoor\.com|offerpad\.com|knock\.com|propertyshark\.com|attomdata\.com|corelogic\.com|compass\.com|kw\.com|coldwellbanker\.com|remax\.com|bit\.ly)$/) !== null }}
Then use a Remove Duplicates node based on the Website URL.
🌐 Step 4: Scrape the Website Automatically
Once filtered, n8n will loop through each website URL. Use the HTML Extractor node to get:
Selectors needed:
Website Title
H1 Tag of Website
Extract Meta Description Of Website
🔍 Step 5: Verify Emails via Reoon API
Add another HTTP Request Node to verify each email to ensure high deliverability.
https://emailverifier.reoon.com/api/v1/verify?email={{ $json.message?.content || $json.content }}&key=API_KEY&mode=power
If valid = true, proceed to save.
📤 Step 6: Save Data into Google Sheets
Map the clean data fields to your Google Sheet columns:
- Business Name
- Website
- Email (Verified)
- Phone
- Address
- Title
- H1
- Description
- Specification
- Founding Year
🎯 Use Cases of This Automation
Cold Email Lead Gen
Targeted & validated contacts directly in your CRM.
Outreach Automation
Exported sheet connects automatically with email marketing tools.
🧠 Final Thoughts
You now know how to automate Yelp scraping using n8n + Apify, filter business data, scrape website metadata, and verify email addresses automatically.
This automation can save hundreds of manual hours and improve lead quality by 10x.
Want this Workflow?
Join my community to get the JSON file for this workflow for free.
Download Workflow JSON