Block 1 - On form submission
- Type / Role
- n8n-nodes-base.formTrigger - formTrigger
- Config choices
- Version 2.3
This workflow is provided as-is. Please review and test before using in production.
[LI] – Search Profiles ️ Self hosted disclaimer: This workflow uses the SerpAPI community node , which is available only on self hosted n8n instances . For n8n Cloud , you may need ...
n8n-nodes-base.formtrigger, n8n-nodes-base.set, n8n-nodes-base.code, n8n-nodes-serpapi.serpapi, n8n-nodes-base.switch, n8n-nodes-base.form, n8n-nodes-base.splitout, n8n-nodes-base.googlesheets
This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Piotr Sikora.
Original n8n.io source> ⚠️ Self-hosted disclaimer:
> This workflow uses the SerpAPI community node, which is available only on self-hosted n8n instances.
> For n8n Cloud, you may need to use an HTTP Request node with the SerpAPI REST API instead.
Recruiters, talent sourcers, SDRs, and anyone who wants to automatically gather public LinkedIn profiles from Google search results based on keywords — across multiple pages — and log them to a Google Sheet for further analysis.
This workflow extends the standard LinkedIn profile search to include pagination, allowing you to fetch results from multiple Google result pages in one go.
Here’s the step-by-step process:
Form Trigger – “LinkedIn Search”
python, fintech, warsawFormat Keywords (Set)
("python") ("fintech") ("warsaw")
Build Page List (Code)
start offsets (0, 10, 20).keywordsGrouped)Loop Over Items (Split In Batches)
SerpAPI Search
site:pl.linkedin.com/in/ ("keyword1") ("keyword2") ("keyword3")
start parameter controls pagination.Check how many results are returned (Switch)
Split Out
organic_results array.Get Full Name to property of object (Code)
Append profile in sheet (Google Sheets)
| Column | Description |
|---|---|
| Date | Submission timestamp |
| Profile | Public LinkedIn profile URL |
| Full name | Extracted candidate name |
| Keywords | Original keywords from the form |
Loop Over Items (continue)
Form Response (final step)
Check linked file
Before using the workflow, prepare your Google Sheet with these columns in row 1:
| Column Name | Description |
|---|---|
| Date | Automatically filled with the form submission time |
| Profile | LinkedIn profile link |
| Full name | Extracted name from search results |
| Keywords | Original search input |
> You can expand the sheet to include optional fields like Snippet, Job Title, or Notes if you modify the mapping in the Append profile in sheet node.
[LI] - Search profiles workflow into n8n. location field in SerpAPI Search for different regions.location in the SerpAPI node or change the domain to site:linkedin.com/in/ for global searches. title, snippet, or position into your Sheet.| Area | Recommendation | Benefit |
|---|---|---|
| Dynamic location | Add a “Location” field to the form and feed it to SerpAPI dynamically. | Broader and location-specific searches |
| Rate limiting | Add a short Wait node (e.g., 1–2s) between page fetches. | Prevents API throttling |
| De-duplication | Check for existing URLs before appending. | Prevents duplicates |
| Logging | Add a second sheet or log file with timestamps per run. | Easier debugging and tracking |
| Data enrichment | Add a LinkedIn or People Data API enrichment step. | Collect richer candidate data |
✅ Summary:
This workflow automates the process of searching public LinkedIn profiles from Google across multiple pages. It formats user-entered keywords into advanced Google queries, iterates through paginated SerpAPI results, extracts profile data, and stores it neatly in a Google Sheet — all through a single, user-friendly form.
This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.
| Workflow | Collect LinkedIn profiles with SerpAPI Google Search and Sheets |
|---|---|
| Complexity | intermediate |
| Nodes | 14 |
| Categories | Lead Generation |
| Author | Piotr Sikora |
| Published | 01 Oct 2025 |
Use the JSON export at /data/workflows/9153/9153.json as the source template for this automation.
Open n8n, import the downloaded JSON, and review each node before activating the workflow.
Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.
Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.
Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.
Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.
Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.
[LI] – Search Profiles ️ Self hosted disclaimer: This workflow uses the SerpAPI community node , which is available only on self hosted n8n instances . For n8n Cloud , you may need ...
Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.
Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Generation use case.