Skip to main content

Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets

Workflow preview

Workflow preview
100%
Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets preview
Open on n8n.io

1. Workflow Overview

See real sample data this workflow collects: View Sample Google Sheet → Stop man...

Best for

  • Lead Generation automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.filter, n8n-nodes-base.set, n8n-nodes-base.code, n8n-nodes-base.googlesheets, n8n-nodes-base.removeduplicates, n8n-nodes-base.datatable, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Salman Mehboob.

Original n8n.io source

1.1 Workflow description

Title
Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets
Workflow name
Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets

> 📊 See real sample data this workflow collects: > View Sample Google Sheet →

Stop manually searching LinkedIn every day. This workflow runs every 6 hours, scrapes LinkedIn posts, filters out all the noise, confirms real hiring intent, and saves only clean, qualified leads to your Google Sheet — automatically.

Pre-configured for n8n automation roles, but fully customizable for any job title, skill, or tool.


What it does

  • Scrapes LinkedIn post search results using Apify for your target keywords
  • Removes noise posts (tips, self-promo, events, tutorials, engagement bait)
  • Filters out job seekers posting "hire me" or "open to work"
  • Detects genuine hiring intent using 35+ hiring phrases
  • Handles LinkedIn bold/italic Unicode text — so formatted posts like We're Hiring are correctly detected
  • Matches your target job titles and tool name (fully customizable)
  • Extracts emails, phone numbers, WhatsApp links, and apply links from each post
  • Prevents duplicates across all runs using a two-layer system (fingerprint + DataTable)
  • Saves every clean lead to Google Sheets with author name, LinkedIn profile, post URL, job type, and contact info

Who it's for

Freelancers — find clients posting for your exact skill before anyone else responds

Automation agencies — build a steady pipeline of inbound hiring signals

Job seekers — catch real job posts the moment they go live on LinkedIn

Anyone — swap keywords and job titles to track any role in any industry


How it works (Step by Step)

  1. Schedule Trigger — runs automatically every 6 hours
  2. Get Posts — Apify scrapes LinkedIn posts from your custom search URLs
  3. Generate Fingerprint — catches duplicate posts within the same run
  4. Database Check — skips posts already seen in any previous run using LinkedIn post URN
  5. Removing Noise — filters out thought leadership, tutorials, events, and self-promo
  6. Remove Job Seekers — removes "hire me" and "open to work" style posts
  7. Check Hiring Intent — confirms post has real hiring language (35+ phrases checked)
  8. Match Job Title — keeps only posts matching your tool name AND target job titles
  9. Enrich Data — extracts all contact info and detects job type (Remote / Hybrid / On-Site)
  10. Google Sheets — logs every qualified lead automatically

What you get in Google Sheets

Field Description
Post Content Full LinkedIn post text
Post URL Direct link to the post
Job Type Remote / Hybrid / On-Site
Published Date When the post was published
Author Name Who posted it
Author LinkedIn Direct profile link
Email Extracted from post
Phone Number Extracted from post
Apply Link lnkd.in short links
WhatsApp wa.me links if present

Customization

This workflow is built to be adapted. You are not locked into n8n roles.

To use it for your own niche:

  • Go to Get Posts → replace the LinkedIn search URLs with your own keywords
  • Go to Match Job Title → replace n8n with your tool (e.g. Zapier, Make, Python)
  • Add or remove job titles in Match Job Title to match what you are targeting
  • Add more noise phrases in Removing Noise if needed

Other ideas:

  • Add a Telegram or Slack notification node after Google Sheets for instant alerts
  • Use the sheet as a mini-CRM — add outreach status, reply date, and notes columns
  • Run multiple copies for different niches or platforms

Setup Requirements

  • Apify account — for LinkedIn post scraping (paid plan recommended)
  • n8n DataTable — built-in n8n feature, used to track seen posts across runs
  • Google Sheets — to store and manage your leads
  • Google Sheets OAuth2 credentials connected in n8n

Setup Checklist

  • Add your Apify API credentials to the Get Posts node
  • Build your LinkedIn search URL and paste it into the urls array in Get Posts
  • Create a DataTable in your n8n project named Post Job Scraper with one column: post_ID (string)
  • Link the DataTable in both If Job Not in Database and Insert row nodes
  • Create your Google Sheet with headers in row 2 and connect it in Append row in sheet
  • Customize job titles and tool name inside Match Job Title

Support & Questions

Have questions, need help setting it up, or want to suggest improvements?

📧 Email: [email protected] 🔗 LinkedIn: https://www.linkedin.com/in/salman-mehboob-pro/

1.2 Logical Blocks

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.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.3

Block 2 - Remove Intern

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 3 - Removing Noise

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 4 - Remove Job Seakers

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 5 - Generate Fingerprint

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 6 - If Intent true

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 7 - Match Job Title

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 8 - Enrich Data

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - FInal Output

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Append row in sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 11 - Remove Duplicates Posts

Type / Role
n8n-nodes-base.removeDuplicates - removeDuplicates
Config choices
Version 2

Block 12 - If Job Not in Databse

Type / Role
n8n-nodes-base.dataTable - dataTable
Config choices
Version 1.1

Block 13 - Insert row

Type / Role
n8n-nodes-base.dataTable - dataTable
Config choices
Version 1.1

Block 14 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Check Hiring Intent

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 21 - Get Posts

Type / Role
@apify/n8n-nodes-apify.apify - apify
Config choices
Version 1

3. Summary Table

Workflow Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets
Complexity advanced
Nodes 21
Categories Lead Generation, AI Summarization
Author Salman Mehboob
Published 29 Apr 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15378/15378.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

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.

Frequently asked questions

What does Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets do?

See real sample data this workflow collects: View Sample Google Sheet → Stop man...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

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, AI Summarization use case.