⚠️ 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 sheetnode.
Note: SerpAPI node is part of the Community package and may require self-hosted n8n.
[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.