Fast LinkedIn Job Scraper
Pricing
Pay per usage
Fast LinkedIn Job Scraper
A fast, lightweight actor for scraping LinkedIn job listings. It efficiently extracts titles, company names, locations, and descriptions. For the most reliable and consistent results, using residential proxies is strongly recommended to prevent blocks and ensure successful data collection.
Pricing
Pay per usage
Rating
4.9
(16)
Developer
Shahid Irfan
Maintained by CommunityActor stats
7
Bookmarked
230
Total users
47
Monthly active users
5 days ago
Last modified
Categories
Share
Fast LinkedIn Jobs Scraper
Extract LinkedIn job listings for hiring research, labor market analysis, lead generation, and career tracking. Collect job titles, companies, locations, posting age, employment details, and job descriptions from LinkedIn search pages or direct job URLs with automated pagination and clean dataset output.
Features
- LinkedIn job search collection - Collect jobs by keyword, location, time range, or a LinkedIn jobs search URL.
- Detailed job records - Gather title, company, location, posting details, description, work type, seniority, industry, and applicants text when available.
- Large result support - Collect hundreds of listings from one search when enough matching jobs are available.
- Fast dataset output - Saves records during the run so you can inspect data before the actor finishes.
- Flexible run modes - Use keyword and location inputs for simple searches or paste an existing LinkedIn URL for exact filters.
- Proxy ready - Works with Apify Proxy settings for more reliable cloud runs.
Use Cases
Recruitment Research
Recruiters can collect job postings for target roles and compare employer demand across locations. Use the dataset to monitor hiring activity, discover companies recruiting for specific skills, and build market snapshots for sourcing teams.
Job Market Analysis
Analysts can track openings by keyword, region, seniority, work type, and industry. The exported data helps identify role demand, common job titles, location trends, and hiring patterns over time.
Competitive Hiring Intelligence
Companies can monitor which competitors are hiring, what roles they advertise, and how job descriptions change. This is useful for workforce planning, compensation research, and role benchmarking.
Career Opportunity Tracking
Job seekers can gather relevant openings from specific LinkedIn searches and review them in a spreadsheet. Filter by title, company, location, and posting time to prioritize applications.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | Empty | LinkedIn jobs search URL or direct LinkedIn job URL. When provided, it is used instead of keyword and location. |
keyword | String | No | software engineer | Job keyword used when startUrl is not provided. |
location | String | No | Worldwide | Geographic location used with keyword search. |
posted_date | String | No | anytime | Posting age filter. Supported values: anytime, 24h, 7d, 30d. |
collectDetails | Boolean | No | true | Enables collection of full job detail fields when available. |
results_wanted | Integer | No | 20 | Maximum number of jobs to save. |
max_pages | Integer | No | 100 | Safety cap for search result pagination. |
maxConcurrency | Integer | No | 5 | Maximum parallel detail collection requests. |
proxyConfiguration | Object | No | Apify Proxy enabled | Proxy settings for more reliable cloud runs. |
Output Data
Each dataset item can contain:
| Field | Type | Description |
|---|---|---|
jobUrl | String | Link for the job record. |
jobId | String | Unique LinkedIn job identifier. |
title | String | Job title. |
company | String | Company name. |
companyUrl | String | Company profile URL when available. |
companyLogo | String | Company logo URL when available. |
location | String | Job location text. |
postedAt | String | Human-readable posting age or date. |
listedAtIso | String | Listing date in ISO format when available from the source page. |
salary | String | Salary text when shown. |
seniority | String | Seniority or experience level. |
workType | String | Employment type such as Full-time or Part-time. |
jobFunction | String | Job function category. |
companyIndustry | String | Employer industry category. |
applicantsCount | String | Applicants count text when shown. |
descriptionText | String | Plain text job description. |
descriptionHtml | String | Formatted job description when available. |
collectedAt | String | Timestamp when the record was collected. |
searchQuery | String | Keyword used for the search. |
searchLocation | String | Location filter used for the search. |
searchTimeRange | String | Posting age filter used for the search. |
detailStatus | String | Indicates when a record was saved from search result data only. |
Usage Examples
Basic Keyword Search
Collect 20 software engineer jobs worldwide:
{"keyword": "software engineer","location": "Worldwide","posted_date": "anytime","results_wanted": 20}
Recent Admin Jobs Worldwide
Collect recently posted admin jobs from a LinkedIn search URL:
{"startUrl": "https://www.linkedin.com/jobs/search?keywords=Admin&location=Worldwide&geoId=92000000&f_TPR=r86400","results_wanted": 450,"collectDetails": true}
Remote Data Roles
Search by keyword and location with a one-week posting filter:
{"keyword": "data analyst","location": "Remote","posted_date": "7d","results_wanted": 100,"proxyConfiguration": {"useApifyProxy": true}}
Sample Output
{"jobUrl": "https://www.linkedin.com/jobs/view/4442653880","jobId": "4442653880","title": "Admin Customer Service","company": "Example Academy","companyUrl": "https://www.linkedin.com/company/example-academy","companyLogo": "https://media.licdn.com/example-logo.jpg","location": "Kediri, East Java, Indonesia","postedAt": "13 hours ago","salary": null,"seniority": "Not Applicable","workType": "Full-time","jobFunction": "Administrative","companyIndustry": "Professional Training and Coaching","applicantsCount": "Be among the first 25 applicants","descriptionText": "We are looking for an Admin Customer Service specialist...","descriptionHtml": "Formatted job description content","collectedAt": "2026-07-22T05:42:20.039Z","searchQuery": "Admin","searchLocation": "Worldwide","searchTimeRange": "24h"}
Tips for Best Results
Use Specific Searches
- Use precise titles such as
frontend developer,sales manager, oradmin assistant. - Add skills or seniority terms when you need narrower results.
- Use a LinkedIn search URL when you already configured filters on LinkedIn.
Choose Practical Result Counts
- Start with
20to test a new search. - Increase to hundreds when the search has enough matching jobs.
- If fewer jobs are saved than requested, the search may not expose enough unique listings.
Use Proxies For Cloud Runs
- Keep Apify Proxy enabled for more reliable collection.
- Datacenter proxies can work well for many searches.
- Residential proxies may help if a search is sensitive or frequently rate limited.
Integrations
Connect your job dataset with:
- Google Sheets - Review and filter listings with your team.
- Airtable - Build searchable recruiting databases.
- Slack - Send run notifications or saved job alerts.
- Webhooks - Deliver results to your own systems.
- Make - Create automated workflows from new job data.
- Zapier - Trigger actions from completed runs.
Export Formats
- JSON - Use structured data in applications and APIs.
- CSV - Analyze jobs in spreadsheets.
- Excel - Share reports with business teams.
- XML - Integrate with compatible systems.
Frequently Asked Questions
Can I collect 450 jobs from one LinkedIn search?
Yes, you can collect 450 jobs when the search exposes enough unique listings. If the source returns fewer matching jobs, the actor saves all available records and reports the final count.
Why should I use a LinkedIn search URL?
A LinkedIn search URL preserves filters you selected on LinkedIn. Use it when you need specific geography, posting age, or keyword combinations.
Does the actor collect full job descriptions?
Yes, full job descriptions are collected when collectDetails is enabled and the source provides the detail content.
Why are some fields empty?
Some fields are empty because LinkedIn does not show every field for every job. Salary, applicants count, logo, and seniority may be missing on some records.
Can I run this actor on a schedule?
Yes, you can schedule daily, weekly, or custom runs in Apify Console to monitor new job postings.
What proxy setting should I use?
Use Apify Proxy for cloud runs. Datacenter proxies are often fast, while residential proxies can improve reliability for harder searches.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
This actor is designed for legitimate data collection purposes. Users are responsible for ensuring compliance with website terms of service, privacy rules, and applicable laws. Use collected data responsibly.