Verify Google Sheets lead emails with Apify Email Verifier
Quick overview Automatically verify email addresses in your Google Sheets lead list before launching campaigns. This workflow identifies unverified contacts, validates them in batches via SMTP handshake, catch-all and disposable checks, and writes detailed verdicts back to your spreadsheet.
How it works Reads unverified rows: Fetches leads from Google Sheets where the status column is empty, ensuring scheduled runs only process new contacts. Deduplicates and batches: Cleans whitespace, drops duplicate addresses to avoid duplicate charges, and groups emails into batches of 100. Live verification: Sends batches to the Apify Email Verifier API to perform syntax, MX, disposable, and SMTP catch-all checks without sending any emails. Maps verdicts back: Matches verification responses by email address (handling case-insensitivity and email tags) to maintain sheet integrity even when results return reordered. Updates sheet: Writes the final status, sub-status, quality score, catch-all flag, and disposable flag back to the matching row.
Setup Google Sheet preparation: Add the following column headers to your sheet: email, status, sub_status, score, catch_all, disposable, verified_at. Only the email column needs lead data. Apify credential: In n8n, navigate to Credentials > New > Header Auth. Name it Apify API, set Header Name to Authorization, and set Header Value to Bearer YOUR_APIFY_TOKEN (obtain from console.apify.com). Connect Google Sheets: Open both Google Sheets nodes ("Read Unverified Rows in Sheets" and "Update Sheets with Verdicts"), authenticate your Google account, and select your target document and sheet. Execute: Click "Test workflow" to verify your unverified leads and view live results populated in your spreadsheet.
Requirements Google Sheets account and credentials connected in n8n. Apify account with an API token (free tier available with monthly credits). An n8n Header Auth credential named "Apify API".
Customization Change batch size: In the "Filter and Batch Rows" node, adjust BATCH_SIZE (default: 100) based on your list size and Apify plan. Custom column names: If your spreadsheet uses different header names, update EMAIL_COLUMN and STATUS_COLUMN constants in the Code nodes. Schedule trigger: Replace the "Manual Execution Trigger" node with a Schedule Trigger to run automated lead list cleaning on a recurring basis.
Additional info • Cost: Uses the pay-per-event Apify Actor (sumitr_mardy/email-verifier). Free tier available. • Open-source repository, documentation, and additional templates (CSV cleaner, Signup webhook, AI agent tool): https://github.com/sumitrmardy/email-verifier-api
Related Templates
Transform Gmail Newsletters into Insightful LinkedIn Posts Using OpenAI
Who Is This For? This workflow is perfect for content creators, marketers, and business professionals who receive regu...
Subscribe to new releases of a Github repository via Gmail
This is a very simple workflow that lets you subscribe to any github repository for the latest release (using n8n as ex...
AI Email Classifier & Auto-Delete for Gmail (SPAM/OFFER Cleaner)
This workflow is designed for freelancers, solopreneurs, and business owners who receive a high volume of irrelevant mes...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments