
LinkedIn Job Listings Scraper with Human Login
Brief
Workflow Name: LinkedIn Job Listings Scraper with Human Login
Purpose: Automatically extract comprehensive job information from LinkedIn job search results, with manual login verification for account security.
Key Feature: Uses human interaction for LinkedIn login instead of automated credentials to avoid account lockdown and security issues.
Workflow Description
This workflow automates the process of extracting job listings from LinkedIn's job search results page. It's designed to help recruiters, job analysts, and researchers collect structured job data at scale while maintaining account security through manual login.
Target Use Cases
Talent Research: Collect competitive intelligence on job market trends
Salary Analysis: Gather salary range data across different roles and companies
Market Monitoring: Track hiring patterns and job availability by location
Data Analysis: Extract job descriptions and requirements for analysis
Content Creation: Generate job market reports and insights
Node Configuration Details
1. START Node
Parameters:
TargetURL: https://www.linkedin.com/jobs/
keywords: Search job keywords (e.g., "Product Manager", "AI Marketing")
City: Target location (e.g., "New York", "San Francisco")
2. VISIT PAGE Node
URL: TargetURL parameter
Access Mode: Current Tab Access
Purpose: Navigate to LinkedIn jobs search page
Error Handling: Stop Task on failure
3. CONDITION Node (Detect Login)
Question: "Is there a login page?"
True Branch: → Human Interaction (Manual Login)
False Branch: → Input Text (Already logged in, skip login)
Error Handling: Stop Task
4. HUMAN INTERACTION Node
Instruction: "Please log in username and password"
Time Limit: 15 Minutes
Purpose: Manual LinkedIn login with security verification
5. INPUT TEXT Nodes
Input Text_1 (Keywords)
Field Position: first-of-type "title, skill or company" box
Text to Input: ${keywords}
Press Enter: No
Error Handling: Stop Task
Wait_1
Duration: 5 seconds
Purpose: Allow search page to load
Input Text_2 (Location)
Field Position: second-of-type "City, state, or zip code" box
Text to Input: ${City}
Press Enter: No
Error Handling: Stop Task
6. CLICK ELEMENT Node (Search Button)
Description: "Click the first option in the dropdown menu."
Purpose: Trigger job search or confirm location selection
Error Handling: Stop Task
7. LOOP LIST Node
Description:
"Job listings in the left section of the LinkedIn search results page. Each job card represents one job posting to be processed."
Configuration:
Auto-click "Load More" button when present to load more items: ✓ enabled
Max items to focus: Up to 10 (auto-stops if no more new items)
Error Handling: Stop Task
Scope:
Target: All job cards in left panel
Selector: .base-card or equivalent
Auto-stops when: 10 jobs processed OR no more jobs available
8. CLICK ELEMENT ITEM Node
Description: "Click on the job card title or link"
Purpose: Open job detail panel on right side
Scope: Current job from Loop List
Error Handling: Stop Task
9. EXTRACT DATA Node
Capture Range: Full Page
Data Fields:
Extract only from the job detail part of the page, not from job post list.
Extract the following fields:
job_title;
company_name;
location;
salary_range: look for the tag list under job title, you should extract all text from the salary tag, if found;
employment_type: look for the tag list under job title, extract related tags, separated by comma, e.g. Full-time, Part-time, Contract, remote, etc;
posted_date;
number_of_applicants;
about_job_detail: extract all text from the job detail part of the page.
Important Notes:
Extract ONLY from right-side detail panel (after clicking job card)
Do NOT extract from left-side job list panel
If a field is not available, leave it empty
For salary and employment type, extract exact text shown on tags
For job description, capture complete text including all sections
10. FINISH: OUTPUT DATA Node
Output Format: CSV
Output as File: ✓ enabled
Workflow Arrangement & Flow Logic
Phase 1: Initialization (Nodes 1-2)
START
↓
Set Parameters (TargetURL, keywords, City)
↓
VISIT LinkedIn Jobs Page
↓
Check login status
Phase 2: Authentication (Node 3-4)
CONDITION: Is login page shown?
├─ YES → HUMAN INTERACTION (manual login, 15 min timeout)
└─ NO → Skip, already logged in
↓
Continue to search
Phase 3: Search Setup (Nodes 5-6)
INPUT keywords into search box
↓
WAIT 5 seconds for page response
↓
INPUT location into location box
↓
CLICK search button
Phase 4: Job Extraction Loop (Nodes 7-9)
FOR each job in LOOP LIST (max 10):
├─ CLICK job card in left panel
├─ WAIT for detail panel to load (implicit)
└─ EXTRACT all job information from right panel
Phase 5: Output (Node 10)
COMPILE extracted data
↓
FORMAT as CSV
↓
SAVE as file
↓
END
Security & Compliance
✅ Best Practices:
Use human login to avoid account lockdown
Add delays between requests (5-second waits included)
Extract only displayed information (no hidden data)
Respect LinkedIn's Terms of Service
Use data for legitimate purposes only
⚠️ LinkedIn ToS Compliance:
This workflow extracts publicly visible job posting data
Intended for business intelligence and research purposes
Not for commercial scraping or data reselling
User must have active LinkedIn account
Recommended: Extract during non-peak hours
