LinkedIn Job Scraper: Export Job Listings & Salary Data
Pricing
Pay per usage
LinkedIn Job Scraper: Export Job Listings & Salary Data
Extract LinkedIn job posts using Google Search to bypass limits. Get job titles, companies, salaries, and descriptions. Perfect for recruitment and lead research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Vhub Systems
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
LinkedIn Job Scraper - Extract Job Listings from LinkedIn Jobs
Automate your job search and market research by extracting detailed job listings from LinkedIn with filters for keywords, location, work type, and experience level.
What is LinkedIn Job Scraper?
LinkedIn Job Scraper is a professional web scraping tool designed to extract comprehensive job listings from LinkedIn's public job board. Whether you're a recruiter building talent pipelines, a data analyst researching labor market trends, or a job seeker tracking opportunities across multiple searches, this actor delivers structured, actionable data without manual copy-pasting.
The scraper navigates LinkedIn's job search interface, applies your specified filters (remote/hybrid/onsite, experience levels, locations), and extracts complete job details including titles, companies, descriptions, salary ranges when available, posting dates, and direct URLs. Built on Crawlee and Playwright, it handles pagination automatically and uses residential proxies to ensure reliable access.
Perfect for competitive intelligence, salary benchmarking, job aggregation platforms, automated job alerts, and recruitment analytics. The actor outputs clean JSON data ready for integration with databases, spreadsheets, business intelligence tools, or notification systems like Slack and email.
Data Fields
The scraper extracts the following fields for each job listing:
| Field | Type | Description |
|---|---|---|
title | String | Job title or position name |
company | String | Hiring company name |
location | String | Job location (city, state, country, or "Remote") |
description | String | Full job description (truncated to 2000 characters) |
salary | String | Salary range if specified, otherwise "Not specified" |
jobType | String | Employment type (Full-time, Part-time, Contract, Temporary, Internship) |
seniority | String | Seniority level (Entry level, Mid-Senior level, Executive, etc.) |
industry | String | Industry classification (Technology, Finance, Healthcare, etc.) |
postedDate | String | Relative posting time (e.g., "2 days ago", "1 week ago") |
jobUrl | String | Direct LinkedIn URL to the job posting |
scrapedAt | String | ISO 8601 timestamp when the data was scraped |
How to Scrape LinkedIn Jobs: Step-by-Step Tutorial
-
Create a free Apify account at apify.com/pricing to access the actor platform.
-
Open the LinkedIn Job Scraper actor page and click "Try for free" to add it to your account.
-
Configure your search parameters in the input form:
- Enter job keywords (e.g., "Data Scientist", "Product Manager")
- Specify location (optional, e.g., "Berlin, Germany" or "United States")
- Set maximum results to control scraping volume
- Apply work type filter (all, remote, onsite, hybrid)
- Select experience level filter (all, entry, mid, senior)
-
Review your input configuration to ensure your search criteria match your research needs.
-
Click "Start" to launch the scraping job. The actor will process your search and extract job listings.
-
Monitor progress in the run console. You'll see logs showing search results being processed and job details being extracted.
-
Download your data once complete. Export as JSON, CSV, Excel, HTML, or XML, or access via API for automated workflows.
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
keywords | Array of Strings | Yes | Job titles or keywords to search for (e.g., ["Software Engineer", "Backend Developer"]) |
location | String | No | Geographic location for job search (e.g., "San Francisco", "United States", "London, UK"). Leave empty for worldwide search. |
maxResults | Integer | No | Maximum number of job listings to scrape. Default: 50. Minimum: 1. Higher values increase run time and costs. |
workType | String | No | Filter by work arrangement. Options: all (default), remote, onsite, hybrid. |
experienceLevel | String | No | Filter by required experience level. Options: all (default), entry, mid, senior. |
Example Input Configuration
{"keywords": ["Machine Learning Engineer", "AI Researcher"],"location": "San Francisco Bay Area","maxResults": 100,"workType": "remote","experienceLevel": "mid"}
Example Output Data
{"title": "Senior Machine Learning Engineer","company": "TechVision AI","location": "San Francisco, CA (Remote)","description": "We are seeking an experienced Machine Learning Engineer to join our AI research team. You will design and implement scalable ML systems, work with large datasets, and collaborate with cross-functional teams to deploy models in production. Requirements: 5+ years of experience with Python, TensorFlow/PyTorch, cloud platforms (AWS/GCP), strong understanding of deep learning architectures, experience with MLOps best practices. Responsibilities include building recommendation systems, optimizing model performance, and mentoring junior engineers...","salary": "$160,000 - $220,000 per year","jobType": "Full-time","seniority": "Mid-Senior level","industry": "Technology, Information and Internet","postedDate": "3 days ago","jobUrl": "https://www.linkedin.com/jobs/view/3847562019","scrapedAt": "2026-02-15T14:32:18.472Z"}
Legal and Compliance
This actor scrapes publicly available job listings from LinkedIn's job board without requiring authentication. It accesses the same data visible to any internet user visiting LinkedIn job search pages. The tool is designed for legitimate business purposes including market research, competitive analysis, recruitment intelligence, and job aggregation services.
Users are responsible for ensuring their use complies with applicable laws, LinkedIn's Terms of Service, and local data protection regulations including GDPR and CCPA where applicable. We recommend consulting with legal counsel for commercial applications, implementing appropriate data retention policies, respecting robots.txt directives, and using scraped data responsibly. Do not use this tool for spam, unauthorized commercial solicitation, or any activities that violate platform policies.
Pricing
The actor runs on the Apify platform with pay-as-you-go pricing based on compute usage. A typical run scraping 50 job listings costs approximately $0.05-0.15 depending on proxy usage and page load times. Residential proxies (recommended for reliability) incur additional costs of approximately $0.01-0.02 per request.
New Apify users receive $5 in free platform credits, sufficient to scrape 500-1000 job listings. For high-volume scraping, consider Apify's subscription plans starting at $49/month which include significant compute and proxy credits. Monitor your usage in the Apify console to optimize costs. Runs without proxies cost less but may face rate limiting on high volumes.
Frequently Asked Questions
How many jobs can I scrape with this actor?
The maxResults parameter controls the maximum number of jobs extracted per run. You can scrape anywhere from 1 to thousands of jobs, though LinkedIn's search interface typically shows up to several hundred results per search query. For large-scale scraping, we recommend splitting searches by location, experience level, or keywords to maximize coverage. The actor handles pagination automatically.
Does this scraper require LinkedIn login credentials?
No, this actor scrapes publicly accessible job listings visible to any internet user without authentication. You do not need a LinkedIn account or credentials. The scraper accesses the same public job board data available through search engines.
How current is the job data?
The actor extracts real-time data directly from LinkedIn's live job board during each run. Job postings include a "postedDate" field showing when the position was listed (e.g., "2 hours ago", "1 week ago"). For time-sensitive applications, schedule regular runs using Apify's scheduling feature to maintain fresh data.
Can I filter jobs by salary range or company size?
The current version filters by keywords, location, work type (remote/hybrid/onsite), and experience level as these are the filters exposed in LinkedIn's public job search interface. Salary information is extracted when displayed in job postings, but not all listings include this data. You can post-process the output to filter by extracted salary ranges or company names.
What happens if LinkedIn changes their website structure?
Web scraping actors may require updates when target websites modify their HTML structure or anti-bot measures. We monitor LinkedIn for significant changes and update the actor accordingly. If you encounter errors or missing data, please report issues through the Apify platform. For critical business applications, consider implementing error notifications and periodic validation of output data quality.
Related Actors
Expand your job market intelligence with these complementary scrapers:
- Google Jobs Scraper - Aggregate job listings from multiple sources via Google for Jobs
- Indeed Job Scraper - Extract job postings from Indeed's extensive job board
- LinkedIn Contact Info Scraper - Enrich job data with hiring manager contact information
- Company Review Scraper - Combine job listings with company culture insights from Glassdoor
- Remote Jobs Scraper - Specialized scraper for remote-first job boards like We Work Remotely and Remote.co