See llms.txt for all machine-readable content.

Back to Templates

Verify scraped lead emails with Apify and Google Sheets

Quick overview

This workflow runs manually or on a weekly schedule to verify scraped lead emails using Apify’s Bulk Email Verifier, sourcing leads from either a Google Sheet or an Apify dataset, and then writes verification results back to Google Sheets or splits them into new Apify datasets by verdict.

How it works

  1. Runs manually or every Monday at 08:00.
  2. Checks the Settings to decide whether to process an Apify dataset ID or read leads from a Google Sheets spreadsheet.
  3. When using Google Sheets, reads rows where the email status is empty or set to “unknown”, extracts email addresses from the email column, and batches them up to the configured limits.
  4. Runs the Apify “Bulk Email Verifier: syntax, MX, disposable, role and typo” Actor to verify the emails and retrieve the results dataset.
  5. If the input came from Google Sheets, matches verification results back to each sheet row and updates the sheet with “Email status”, “Best email”, and “Email notes”.
  6. If the input came from an Apify dataset, groups results by verdict (valid/risky/invalid/unknown), creates a new Apify dataset per verdict, and uploads the corresponding rows.

Setup

  1. Install the community node package @apify/n8n-nodes-apify in your n8n instance.
  2. Create an Apify API credential in n8n and select it for the Apify Actor node and the Apify HTTP Request nodes.
  3. If using Google Sheets as the source, add a Google Sheets OAuth credential, set the document ID and sheet name in both Google Sheets nodes, and ensure your sheet has columns matching the configured email and status headers (for example “Email” and “Email status”).
  4. If using an Apify dataset as the source, paste the dataset ID (or dataset URL) into apifyDatasetId in Settings and confirm the correct emailField name for items in that dataset.
  5. Review the Settings values (for example maxEmails, batchSize, timeoutSeconds, and optional checkSmtp) to fit your volume and verification strictness before activating the schedule.

Requirements

Customization

  • Raise maxEmails or batchSize in Settings to check more addresses per execution
  • Turn on checkSmtp to also probe the mailbox (slower, and many mail servers block the probe)
  • Change resultDatasetPrefix to name the new result datasets your way

Additional info

Cost: the Bulk Email Verifier Actor is pay per event on Apify: $0.0006 per address with a verdict (valid, risky or invalid), free for status unknown, plus $0.00005 per run start (prices read 6 Nov 2026). Valid means the domain accepts mail; the mailbox itself is probed only with checkSmtp on. Actor page: https://apify.com/edgef-4/bulk-email-verifier