LinkedIn Job Scraper: Export Job Listings & Salary Data avatar

LinkedIn Job Scraper: Export Job Listings & Salary Data

Pricing

Pay per usage

Go to Apify Store
LinkedIn Job Scraper: Export Job Listings & Salary Data

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

Vhub Systems

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

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:

FieldTypeDescription
titleStringJob title or position name
companyStringHiring company name
locationStringJob location (city, state, country, or "Remote")
descriptionStringFull job description (truncated to 2000 characters)
salaryStringSalary range if specified, otherwise "Not specified"
jobTypeStringEmployment type (Full-time, Part-time, Contract, Temporary, Internship)
seniorityStringSeniority level (Entry level, Mid-Senior level, Executive, etc.)
industryStringIndustry classification (Technology, Finance, Healthcare, etc.)
postedDateStringRelative posting time (e.g., "2 days ago", "1 week ago")
jobUrlStringDirect LinkedIn URL to the job posting
scrapedAtStringISO 8601 timestamp when the data was scraped

How to Scrape LinkedIn Jobs: Step-by-Step Tutorial

  1. Create a free Apify account at apify.com/pricing to access the actor platform.

  2. Open the LinkedIn Job Scraper actor page and click "Try for free" to add it to your account.

  3. 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)
  4. Review your input configuration to ensure your search criteria match your research needs.

  5. Click "Start" to launch the scraping job. The actor will process your search and extract job listings.

  6. Monitor progress in the run console. You'll see logs showing search results being processed and job details being extracted.

  7. Download your data once complete. Export as JSON, CSV, Excel, HTML, or XML, or access via API for automated workflows.

Input Parameters

ParameterTypeRequiredDescription
keywordsArray of StringsYesJob titles or keywords to search for (e.g., ["Software Engineer", "Backend Developer"])
locationStringNoGeographic location for job search (e.g., "San Francisco", "United States", "London, UK"). Leave empty for worldwide search.
maxResultsIntegerNoMaximum number of job listings to scrape. Default: 50. Minimum: 1. Higher values increase run time and costs.
workTypeStringNoFilter by work arrangement. Options: all (default), remote, onsite, hybrid.
experienceLevelStringNoFilter 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"
}

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.

Expand your job market intelligence with these complementary scrapers: