LinkedIn Jobs Scraper Pro
Pricing
Pay per usage
LinkedIn Jobs Scraper Pro
Search LinkedIn jobs by title, location, seniority & work type. Multi-location, remote filter, Easy Apply detection. Export to XLSX, CSV, JSON.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sonal Sharma
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Search LinkedIn job listings by title, location, seniority, work type, and employment type — and export full results to XLSX, CSV, or JSON in minutes.
Whether you're a job seeker targeting senior roles, a recruiter building talent pipelines, or an HR tech team tracking the market — LinkedIn Jobs Scraper Pro gives you structured, actionable job data without manual searching.
What it does
LinkedIn Jobs Scraper Pro runs multi-location, multi-keyword searches against LinkedIn's job board and returns a clean, structured dataset for every matching role. For each job it captures:
- Job title, company, location
- Date posted
- Easy Apply flag (detected at card level and confirmed on detail page)
- Remote / hybrid flag (detected from title, location, and job description)
- Seniority level and employment type
- Applicant count
- Full job description (up to 5,000 characters)
- Direct job URL
- Which keyword and location found it
Key features
Multi-location, multi-keyword — run any combination of job titles × locations in a single run. Search "Delivery Director" in India and the United States simultaneously.
Remote & hybrid filter — use LinkedIn's native work type filter to restrict results to Remote only, Hybrid only, On-site only, or all types.
Easy Apply detection — two-layer check: card badge (with 5 selector fallbacks for resilience against LinkedIn HTML changes) plus confirmation on the job detail page.
Rich job details — optionally visits each job page to extract the full description, confirmed seniority, employment type, and applicant count.
Seniority filter — target Internship, Entry, Associate, Mid-Senior, Director, or Executive levels independently.
Employment type filter — filter for Full-time, Part-time, Contract, Temporary, or any combination.
Deduplication — jobs found by multiple keywords or across multiple locations are deduplicated before output.
Proxy support — routes through Apify's proxy network to reduce blocking risk on large runs.
Input
| Field | Type | Default | Description |
|---|---|---|---|
job_titles | string list | — | Job titles to search (required) |
locations | string list | India | LinkedIn location strings |
days_posted | integer | 30 | Only jobs posted within N days |
max_jobs_per_keyword | integer | 50 | Max results per keyword per location |
seniority_levels | multi-select | Director, Executive | Seniority filter |
work_type | select | All | On-site / Remote / Hybrid / All |
employment_types | multi-select | Full-time | Employment type filter |
easy_apply_only | boolean | false | Restrict to Easy Apply jobs |
fetch_job_details | boolean | true | Visit each job page for full details |
use_apify_proxy | boolean | true | Use Apify proxy network |
Example input
{"job_titles": ["Head of Engineering","VP of Technology","Delivery Director"],"locations": ["India","United States","United Kingdom"],"days_posted": 30,"max_jobs_per_keyword": 50,"seniority_levels": ["5", "6"],"work_type": "2","easy_apply_only": false,"fetch_job_details": true,"use_apify_proxy": true}
Example output
Each job in the dataset looks like this:
{"job_id": "3987654321","job_title": "Head of Engineering","company": "Acme Corp","location": "Mumbai, Maharashtra, India","date_posted": "2026-03-15","easy_apply": "Yes","remote_hybrid": "No","seniority_level": "Director","employment_type": "Full-time","applicant_count": "47 applicants","search_keyword": "Head of Engineering","search_location": "India","job_url": "https://in.linkedin.com/jobs/view/...","job_description": "We are looking for a Head of Engineering to..."}
Usage tips
For job seekers — run weekly with days_posted: 14 and max_jobs_per_keyword: 50 to catch everything new without re-scraping old posts.
For recruiters — search a broad list of titles across multiple locations. Use the job_description field to filter by skills or stack in your own tooling.
First-time run — use days_posted: 60 and max_jobs_per_keyword: 75 to get a full backlog. Switch to shorter windows for recurring runs.
Remote-only roles globally — set work_type to "Remote only" and add locations like "United States", "United Kingdom", "Europe" to surface roles you can work from anywhere.
Faster runs (no description) — disable fetch_job_details to cut run time by ~60%. You'll still get title, company, location, date, Easy Apply, and URL.
Performance
| Run type | Keywords × Locations | Est. jobs | Est. time |
|---|---|---|---|
| Quick scan (no details) | 10 × 2 | ~500 | ~10 min |
| Standard (with details) | 10 × 2 | ~500 | ~45 min |
| Deep run (with details) | 30 × 4 | ~2,000+ | ~3 hrs |
Limitations
- LinkedIn may require login for some job detail pages. Jobs behind an auth wall will have
job_description: "Login required"but all card-level fields are still captured. - LinkedIn's HTML structure changes periodically. The scraper uses multi-selector fallbacks and text-based detection to stay resilient, but occasional updates may be needed.
- This scraper is for personal and research use. Please review LinkedIn's Terms of Service before using at scale.
Output formats
Export your dataset from the Apify console as XLSX, CSV, JSON, or JSONL — or connect directly via the Apify API.