Beginner Lead Finder Using SerpAPI Search

Nodes

24e3b914-15fa-444f-80e3-ca29bdacaf402e3e39e3-0e17-4fae-9ac5-9ee31f9711ed767a4dc9-a96d-4faf-8994-3ca756304676+2

Created by

rbRobert Breen

Last edited 58 days ago

This n8n workflow finds experts on any topic, scrapes their websites, and pulls out contact emails automatically.
Core services used: SerpAPI (google search) · Apify (website crawler) · OpenAI (GPT-4o email extraction).


🛠️ Step-by-Step Setup & Execution

1️⃣ Run Workflow (Manual Trigger)

Node

Type

Purpose

Run Workflow

Manual Trigger

Start the workflow on demand while you test.


2️⃣ Set Your Topic

Node

Type

How to configure

Set Topic

Set

Add a string field Topic – e.g. "n8n". This keyword drives every subsequent step.


3️⃣ Search Google (Results 1-10)

Node

Type

API Credential

Search Google (top 10)

SerpAPI

Create SerpAPI credential<br>1. Sign up → copy API key → n8n → Credentials → New → SerpAPI → paste.<br>2. Select the credential in this node.

Key Params

q

={{ $json.Topic }} Expert

location

Region code (ex 585069efee19ad271e9c9b36)

additionalFields.start

"10" (Google position 1-10)


4️⃣ Search Google (Results 11-20)

Node

Type

Notes

Search Google (11-20)

SerpAPI (same credential)

Remove start or set to 20+ to fetch next page.


5️⃣ Extract URL Lists

Node

Type

Script Purpose

Extract Url & Extract Url 2

Code

Loop data.organic_results → output { title, link, displayed_link } for each result.


6️⃣ Combine Both Result Sets

Node

Type

Details

Append Results

Merge (combineAll)

Merges arrays from steps 3 & 4 into a single list for processing.


7️⃣ Loop Over Every URL

Node

Type

Configuration

Loop Over Items1

Split In Batches

Default batch = 1 (process one page at a time).<br>onError = continueRegularOutput keeps loop alive on failures.


8️⃣ Scrape Webpage Content (Apify)

Node

Type

API Credential

Scrape URL with apify

HTTP Request

Create Apify credential<br>1. Sign up at https://console.apify.com<br>2. Account → API tokens → copy.<br>3. n8n → Credentials → New → HTTP Query Auth → set query param token=YOUR_TOKEN.

Request Details

Method

POST

URL

https://api.apify.com/v2/acts/6sigmag~fast-website-content-crawler/run-sync-get-dataset-items

JSON Body

json { "startUrls": ["{{ $json.link }}"] }


9️⃣ Extract Email with OpenAI

Node

Type

API Credential

Extract Email from webpage

LangChain Agent

Create OpenAI credential<br>1. Generate key at https://platform.openai.com/account/api-keys<br>2. n8n → Credentials → New → OpenAI API → paste key.

Prompt (system)

extract the email address from the text. if there is no email address, output null.

Output Parser

Structured Output Parser2 expects → { "email": "address OR null" }


🔟 Loop Continues & Final Data

  • The extracted result returns to Loop Over Items1 until every URL is processed.

  • Typical final item JSON:

    {
      "title": "How to Build n8n Workflows",
      "link": "https://example.com",
      "email": "[email protected]"
    }
    
    

💡 Optional Enhancements
Idea How
Save Leads Add a Google Sheets or Airtable node after the loop.
Validate Emails Chain a ZeroBounce / Hunter.io verification API before saving.
Parallel Crawling Increase SplitInBatches size (watch Apify rate limits).

🙋‍♂️ Need More Help?
Robert Breen – Automation Consultant & n8n Expert
📧 [email protected]
🔗 https://www.linkedin.com/in/robert-breen-29429625/
🌐 https://ynteractive.com

New to n8n?

Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!