Linkedin Jobs Scraper avatar

Linkedin Jobs Scraper

Pricing

from $2.00 / 1,000 jobs

Go to Apify Store
Linkedin Jobs Scraper

Linkedin Jobs Scraper

Scrape LinkedIn Jobs effortlessly with this extremely fast and intuitive Scraper. Retrieve structured data as job titles, companies, locations, employment type, and detailed descriptions.

Pricing

from $2.00 / 1,000 jobs

Rating

5.0

(1)

Developer

Jose Fernando Álvarez Romero

Jose Fernando Álvarez Romero

Maintained by Community

Actor stats

2

Bookmarked

4

Total users

1

Monthly active users

an hour ago

Last modified

Share

Apify TypeScript Bun Cheerio

Scrape job listings from LinkedIn, the world's largest professional network. Extract job titles, companies, salaries, technologies, and more with structured JSON output.

Two Scraping Modes

This actor offers two modes to balance speed vs. data richness:

Basic Mode (fetchFullDetails: false)

  • Speed: 200 jobs per minute
  • Data: Job title, company, location, posted date, work model (from card)
  • Best for: Quick job counts, large-scale listings, fast prototyping

Full Details Mode (fetchFullDetails: true)

  • Speed: 25 jobs per minute
  • Data: Everything in basic mode + full description (3,000-6,000+ chars), salary, experience level, employment type, applicants count
  • Best for: Deep analysis, salary research, skill demand analysis

Recommendation: Start with full details mode for comprehensive data. Use basic mode only when you need very large datasets quickly.

Quick Start

  1. Open on Apify Console
  2. Enter your search parameters
  3. Click Run
  4. Download results from the Dataset tab
{
"keywords": "python developer",
"location": "Spain",
"jobsNumber": 50,
"fetchFullDetails": true
}

Input Parameters

ParameterTypeRequiredDefaultDescription
keywordsstringYes-Search term
locationstringNoSpainCity or country
workModelstringNo-remote, hybrid, or onsite
jobsNumberintegerNo200Target count (min: 20)
fetchFullDetailsbooleanNofalseFetch full job details from each job page

Output

Each scraped job includes:

{
"id": "3847265819",
"title": "Senior Python Developer",
"company": "TechCorp",
"companyUrl": "https://www.linkedin.com/company/techcorp",
"location": "Madrid, Spain",
"description": "We are looking for an experienced Python developer to join our backend team...",
"url": "https://www.linkedin.com/jobs/view/3847265819",
"workModel": "hybrid",
"postedDate": "2026-03-20T12:00:00.000Z",
"technologies": ["python", "fastapi", "aws", "docker", "postgresql"],
"salary": "30k - 50k EUR per year",
"experienceLevel": "Senior",
"employmentType": "Full-time",
"applicants": 42
}

Output Fields

FieldTypeDescriptionFull Details Only
idstringUnique LinkedIn job IDNo
titlestringJob titleNo
companystringCompany nameNo
companyUrlstringCompany LinkedIn profile URLNo
locationstringJob locationNo
descriptionstringFull job description (3,000-6,000+ chars with full details)Yes
urlstringDirect LinkedIn job posting URLNo
workModelstringremote, hybrid, or onsiteNo
postedDatestringISO 8601 date when job was postedNo
technologiesstring[]Detected technologies from description (better with full details)No
salarystring/nullSalary as shown on LinkedIn (e.g., "30k - 50k EUR per year")Yes
experienceLevelstring/nullSenior, Mid-Senior, Junior, etc.Yes
employmentTypestring/nullFull-time, Part-time, Contract, etc.Yes
applicantsnumber/nullNumber of applicantsYes

Features

FeatureDescription
Keyword SearchSearch any job title, skill, or industry
Location FilterTarget cities and countries worldwide
Work ModelFilter remote, hybrid, or onsite positions
Tech DetectionAuto-extracts 400+ technologies from descriptions
Salary DataWhen available on LinkedIn
Experience LevelFrom job page when displayed
Employment TypeFrom job page when displayed

Important Notes

  • Full Details Only fields: The following fields are only populated when using fetchFullDetails: true: description, salary, experienceLevel, employmentType, applicants. In basic mode, these fields will be empty or null.
  • Salary data: LinkedIn does not always display salary publicly. The salary field will be null unless the employer chose to show it.
  • Work Model: Extracted from job page when displayed by employer.
  • Technologies: Detection is significantly better with full details mode because it analyzes the complete job description.

Use Cases

Salary Analysis

{
"keywords": "python developer",
"location": "Spain",
"jobsNumber": 100,
"fetchFullDetails": true
}

Extract salary data across roles to build compensation reports.

Skills Demand

{
"keywords": "data scientist",
"location": "Remote",
"jobsNumber": 200,
"fetchFullDetails": true
}

Collect technologies from hundreds of postings to identify in-demand skills.

{
"keywords": "software engineer",
"location": "Spain",
"jobsNumber": 100,
"workModel": "remote",
"fetchFullDetails": true
}

Filter by work model to analyze hiring patterns.

Tech Stack

  • Apify SDK - Actor platform
  • Bun - JavaScript runtime
  • Cheerio - Fast HTML parsing
  • Crawlee - Web scraping framework
  • TypeScript - Type safety
  • Zod - Data validation

License

ISC

This tool is for legitimate data collection. Ensure compliance with LinkedIn's Terms of Service and GDPR regulations.