Extract Business Email Addresses Using SerpApi and ScrapingBee from Google Sheets
# Lead Enrichment & Email Discovery from Google Sheets ## What this workflow does This template automates the enrichment of business leads from a Google Sheet by: * Triggering when a row is activated * Searching for company information with Serper.dev * Generating and validating potential contact pages * Scraping company pages with ScrapingBee * Extracting emails and updating the sheet * Marking rows as finished --- ## Prerequisites * Google Sheet with columns: `business type`, `city`, `state`, `activate` * **Copy the ready-to-use template:** [Sheet Template](https://docs.google.com/spreadsheets/d/1222vBxE2UBb1MK2xDMoQSd5WHQ7mA5Ew-W6vBgfCJs/edit?usp=sharing) * Google Sheets API credentials (from Google Cloud) * Serper.dev API key (free tier available) * ScrapingBee API key (free tier available) --- ## Inputs * **Google Sheet row:** Must include `business type`, `city`, `state`, `activate` * **Set Information Node:** `country`, `country_code`, `language`, `result_count` (can also be provided via columns in the sheet) --- ## Outputs * **Google Sheet update:** Company names, URLs, found email addresses (comma-separated if multiple), and status updates (`Running`, `Missing information`, `Finished`) --- ## Configuration Required * Connect Google Sheets node with your Google Cloud credentials * Add your Serper.dev API key to the HTTP Request node * Add your ScrapingBee API key to the scraping node * Adjust search and filtering options as needed --- ## How to customize the workflow * **Send `country`, `country_code`, and `result_count` from the sheet:** Add these as columns in your sheet and update the workflow to read their values dynamically, making your search fully configurable per row. * **Add more blacklist terms:** Update the code node with additional company names or keywords you want to exclude from the search results. * **Extract more contact details:** Modify the email extraction code to find other contact info (like phone numbers or social profiles) if needed.
- Platform
- n8n
- Category
- Data & Analytics
- Price
- $14.99
- Creator
- Jorge MartÃÂnez
- if
- set
- code
- wait
- stickyNote
- httpRequest
- googleSheets
- splitInBatches
- googleSheetsTrigger
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Data & Analytics workflows
- Generate AI viral videos with VEO 3 and upload to TikTok$14.99
- Generate a daily multi-asset market report with TwelveData, Groq and Google Sheets$14.99
- Build an OpenAI RAG system with document upload, semantic search and caching$24.99
- Automate Website Content Scraping and SEO Keyword Extraction with GPT-4o-mini and Airtable$14.99
- Process Contact Form Submissions with Validation and MongoDB Storage$14.99
- Add webhook data to a Google Sheet$2.99
More from Jorge MartÃÂnez
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.