Linkedin Jobs Scraper
Pricing
from $2.00 / 1,000 jobs
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
(2)
Developer
Jose Fernando Álvarez Romero
Actor stats
3
Bookmarked
21
Total users
8
Monthly active users
20 days ago
Last modified
Categories
Share
Last updated: 25 March 2026 | Apify Platform | Documentation
What is LinkedIn Jobs Scraper?
LinkedIn Jobs Scraper is an Apify Actor that extracts job listings from LinkedIn's public job search API. It retrieves job titles, company names, locations, descriptions, posting dates, and automatically detects 400+ technologies from job descriptions. The scraper outputs structured JSON data suitable for analysis, recruitment research, or building job databases.
This tool is designed for HR professionals, recruiters, data analysts, and developers who need to collect LinkedIn job data programmatically. It uses Cheerio for fast HTML parsing and Zod for data validation, achieving approximately 200-300 jobs per minute with rate limiting to avoid blocking.
Quick Start
- Open on Apify Console
- Enter your search parameters
- Click Run
- Download results from the Dataset tab
{"keywords": "python developer","location": "Spain","jobsNumber": 200}
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | string | Yes | - | Job title, skills, or keywords |
location | string | No | Spain | City or country |
workModel | string | No | - | remote, hybrid, or onsite |
jobType | string | No | - | full-time, part-time, contract, temporary, volunteer, internship |
experienceLevel | string | No | - | internship, entry, associate, mid-senior, director, executive |
timePosted | string | No | - | past_24_hours, past_week, past_month |
salary | string | No | - | 40k to 200k (USD only, see note below) |
companyId | string | No | - | LinkedIn company ID |
jobsNumber | integer | No | 200 | Target count (min: 20) |
Note: The
salaryfilter only works for locations with salary data (mainly United States). For other locations (e.g., Spain), LinkedIn ignores this filter and returns all jobs.
Output Example
{"id": "3847265819","title": "Senior Python Developer","company": "TechCorp","companyUrl": "https://www.linkedin.com/company/techcorp","location": "Madrid, Spain","description": "Senior Python Developer at TechCorp - Looking for an experienced Python developer...","url": "https://www.linkedin.com/jobs/view/3847265819","postedDate": "2026-03-20T12:00:00.000Z","technologies": ["python", "fastapi", "aws", "docker"]}
Output Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique LinkedIn job ID |
title | string | Job title |
company | string | Company name |
companyUrl | string | Company LinkedIn profile URL |
location | string | Job location |
description | string | Job description from listing |
url | string | Direct LinkedIn job posting URL |
postedDate | string | ISO 8601 date when job was posted |
technologies | string[] | Detected technologies from title and description |
Features
| Feature | Description |
|---|---|
| Keyword Search | Search any job title, skill, or industry |
| Location Filter | Target cities and countries worldwide |
| API Filters | Work model, job type, experience, salary, date |
| Tech Detection | Auto-extracts 400+ technologies from descriptions |
| Rate Limiting | Configurable delays to avoid blocking |
| Data Validation | Zod schemas ensure structured output |
Supported Filters
The scraper supports LinkedIn's native API filters:
| Filter | API Parameter | Values |
|---|---|---|
| Work Model | f_WT | 1=On-site, 2=Remote, 3=Hybrid |
| Job Type | f_JT | F=Full-time, P=Part-time, C=Contract, T=Temporary |
| Experience | f_E | 1-6 (Internship to Executive) |
| Time Posted | f_TPR | r86400, r604800, r2592000 |
| Salary | f_SB | 40000-200000 (USD, some locations only) |
| Company | f_C | LinkedIn company ID |
Use Cases
Skills Demand Analysis
{"keywords": "data scientist","location": "Spain","jobsNumber": 800}
Collect technologies from hundreds of postings to identify in-demand skills. This helps HR teams understand which programming languages and frameworks are most sought after in their target market.
Remote Work Trends
{"keywords": "software engineer","location": "Spain","workModel": "remote","jobsNumber": 500}
Filter by work model to analyze hiring patterns. Compare remote vs. onsite job availability across different regions.
Salary Research (US Only)
{"keywords": "software engineer","location": "United States","salary": "100k","jobsNumber": 200}
Filter by minimum salary using LinkedIn's salary data. This filter only works for the United States and a few other countries where LinkedIn provides salary information.
Comparison: LinkedIn Jobs Scraper vs. Other Methods
| Feature | This Actor | Manual Search | Third-Party APIs |
|---|---|---|---|
| Cost | $0.25 per 100 job | Free (labor cost) | $0.50-2.00 per 100 jobs |
| Speed | 200-300 jobs/min | 1-2 jobs/min | 5-30 jobs/min |
| Filters | 6 native API filters | Manual apply | Varies |
| Tech detection | 400+ technologies | Manual | Rarely |
| Data format | Clean JSON | Copy-paste | Varies |
| Rate limiting | Built-in | N/A | May vary |
Tech Stack
- Apify SDK — Actor platform for cloud execution
- Bun — JavaScript runtime for fast performance
- Cheerio — Lightweight HTML parsing (10x faster than browsers)
- TypeScript — Type safety and better developer experience
- Zod — Schema validation for data integrity
Frequently Asked Questions
How does this scraper work?
The actor uses LinkedIn's public job search API endpoint to fetch job listings. It parses the HTML response to extract job data, applies technology detection using pattern matching against 400+ technology keywords, and validates output using Zod schemas before pushing to the dataset.
Is this legal?
This tool scrapes publicly available job listings from LinkedIn's public API. It should be used for legitimate data collection purposes only. Ensure compliance with LinkedIn's Terms of Service and GDPR regulations when processing personal data. This is not affiliated with LinkedIn.
How fast is the scraper?
The actor processes approximately 200-300 jobs per minute with default rate limiting (1500ms delay between requests). Faster processing may risk IP blocking.
Why do some filters not work for certain locations?
LinkedIn's salary filter (f_SB) only works for countries where LinkedIn displays salary data (primarily United States). For other locations, the filter is silently ignored by LinkedIn's API.
Related Tools
- LinkedIn API Documentation — LinkedIn's developer docs
- Apify Platform — Actor hosting platform
- Apify SDK Documentation — Actor development
Related Actors
These Apify actors complement InfoJobs Scraper for comprehensive job market research:
| Actor | Description |
|---|---|
| Infojobs Scraper | Scrape job listings from LinkedIn's public API with tech detection |
Coming Soon
More job board scrapers are in development:
- LinkedIn URL Search - Detailed jobs extracted using Job URL as input.
- LinkedIn Company Search - Detailed company data extracted using its profile URL.
- LinkedIn Profile Search - Detailed profile data extracted using its URL.
Stay tuned for releases!
License
ISC
Legal Notice
This tool is for legitimate data collection purposes only. Ensure compliance with LinkedIn's Terms of Service and GDPR regulations when processing personal data. This tool is not affiliated with, endorsed by, or connected to LinkedIn or Microsoft Corporation.