Fast LinkedIn Job Scraper
Pricing
Pay per usage
Fast LinkedIn Job Scraper
Extract LinkedIn job listings fast with structured, ready-to-use data. Scrape job titles, companies, locations, descriptions, employment details, and job URLs for recruitment, job market research, lead generation, hiring analytics, and career data workflows.
Pricing
Pay per usage
Rating
4.9
(17)
Developer
Shahid Irfan
Maintained by CommunityActor stats
7
Bookmarked
252
Total users
46
Monthly active users
7 days ago
Last modified
Categories
Share
What does Fast LinkedIn Jobs Scraper do?
Fast LinkedIn Jobs Scraper collects public job listings from LinkedIn.com for hiring research, job market analysis, lead generation, and career tracking. Enter a keyword and location, choose a posting-age filter, or provide a LinkedIn jobs search URL. The Actor returns structured records with job titles, companies, locations, posting dates, employment details, descriptions, and direct job URLs.
Use the dataset to compare hiring demand, monitor new opportunities, identify companies recruiting for specific skills, or build recurring reports. Results can be downloaded in common formats or connected to spreadsheets, databases, alerts, and other business workflows through Apify.
Why use Fast LinkedIn Jobs Scraper?
- Targeted job discovery - Search by role, skill, geography, and posting age to create focused hiring datasets.
- Search URL support - Reuse a LinkedIn jobs search URL when you already have filters configured.
- Detailed job records - Collect company information, salary text, seniority, employment type, job function, industry, applicants text, and descriptions when published.
- Large result collection - Set a result limit and page cap for anything from a quick sample to a broader market snapshot.
- Automation-ready output - Export JSON, CSV, Excel, or XML data, schedule recurring runs, and send results through webhooks or integrations.
- Flexible detail collection - Keep
collectDetailsenabled for richer records, or disable it when search-result fields are enough.
What data can you extract from LinkedIn jobs?
Each dataset item represents one public LinkedIn job listing. The available fields depend on what LinkedIn publishes for that listing.
| Field | Type | Description |
|---|---|---|
jobUrl | String | Direct URL for the LinkedIn job listing. |
jobId | String | Unique LinkedIn job identifier. |
title | String or null | Published job title. |
company | String or null | Employer name. |
companyUrl | String or null | LinkedIn company profile URL when available. |
companyLogo | String or null | Company logo URL when available. |
location | String or null | Job location text. |
postedAt | String or null | Human-readable posting age or date. |
listedAtIso | String or null | Listing date in ISO format when available. |
salary | String or null | Salary or compensation text when shown. |
seniority | String or null | Seniority or experience level. |
workType | String or null | Employment type, such as Full-time or Part-time. |
jobFunction | String or null | Job function category. |
companyIndustry | String or null | Employer industry category. |
applicantsCount | String or null | Applicants text when shown. |
descriptionText | String or null | Plain-text job description when details are collected. |
descriptionHtml | String or null | Formatted job description when available. |
collectedAt | String | ISO timestamp for when the record was collected. |
searchQuery | String | Keyword associated with the search. |
searchLocation | String | Location associated with the search. |
searchTimeRange | String | Posting-age filter used for the search. |
detailStatus | String or null | Indicates that search-result data was saved when full detail data was unavailable. |
How to use Fast LinkedIn Jobs Scraper
- Open the Actor on Apify Store.
- Enter a keyword and location, or paste a public LinkedIn jobs search URL into
startUrl. - Choose a posting-age filter and set the maximum number of jobs.
- Keep
collectDetailsenabled when you need descriptions and richer job metadata. - Run the Actor and review the dataset preview.
- Download the results or connect the dataset to your recruiting, research, or reporting workflow.
When startUrl is provided, it is used instead of the keyword and location inputs. The Actor accepts public LinkedIn jobs search URLs and direct LinkedIn job URLs.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | Empty | Public LinkedIn jobs search URL or direct job URL. When provided, it takes priority over keyword and location. |
keyword | String | No | software engineer | Job title, skill, or search phrase used when startUrl is not provided. |
location | String | No | Worldwide | Geographic filter, such as United States, London, or Remote. |
posted_date | String | No | anytime | Posting-age filter. Supported values are anytime, 24h, 7d, and 30d. |
collectDetails | Boolean | No | true | Collect full job detail fields and descriptions when available. Set to false for listing-focused output. |
results_wanted | Integer | No | 20 | Maximum number of job records to save. The Actor supports values from 1 to 1,000. |
max_pages | Integer | No | 100 | Safety cap for the number of search result pages visited. |
maxConcurrency | Integer | No | 5 | Maximum number of detail records processed in parallel. Lower values can be useful for more conservative collection. |
proxyConfiguration | Object | No | {"useApifyProxy": true} | Apify Proxy settings for cloud runs and larger collections. |
Usage Examples
Basic Keyword Search
Collect up to 20 software engineering jobs from worldwide results:
{"keyword": "software engineer","location": "Worldwide","posted_date": "anytime","results_wanted": 20}
Recent Jobs from a Search URL
Reuse a LinkedIn search URL with its prepared filters and collect recent listings:
{"startUrl": "https://www.linkedin.com/jobs/search?keywords=admin&location=Worldwide&geoId=92000000&f_TPR=r86400","collectDetails": true,"results_wanted": 100,"max_pages": 20}
Focused Remote Search
Collect data analyst jobs marked as remote and posted during the last week:
{"keyword": "data analyst","location": "Remote","posted_date": "7d","collectDetails": true,"results_wanted": 50,"maxConcurrency": 5,"proxyConfiguration": {"useApifyProxy": true}}
Sample Output
The following example shows a detailed dataset item. Some values may be null when the listing does not publish them.
{"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 to support daily operations and customer communication.","descriptionHtml": "We are looking for an Admin Customer Service specialist...","collectedAt": "2026-07-22T05:42:20.039Z","searchQuery": "Admin","searchLocation": "Worldwide","searchTimeRange": "24h"}
Tips for Best Results
- Use specific keywords - Search for terms such as
frontend developer,sales manager,data analyst, oradmin assistantto reduce unrelated results. - Add a location - Combine the role with a city, country, region, or
Remotewhen geography matters. - Start with a small limit - Test with
results_wantedset to20, then increase it after checking the dataset quality. - Use a prepared URL - LinkedIn search URLs are useful when you need filters that are already configured on the site.
- Increase the page cap for larger runs - A larger
max_pagesvalue helps the Actor continue searching when the requested result limit is high. - Keep proxy settings enabled for cloud runs - Apify Proxy can improve reliability for larger or recurring collections.
- Expect source-dependent fields - Salary, applicant counts, company logos, seniority, and descriptions are not published for every job.
- Schedule comparable searches - Use the same keyword, location, posting-age filter, and result limit when building recurring hiring reports.
Integrations
Connect the dataset to the tools used by your recruiting or research team:
- Google Sheets - Review, filter, and share job records.
- Airtable - Build a searchable hiring database.
- Webhooks - Send completed run results to your own application.
- Make or Zapier - Trigger notifications, enrichment, and follow-up workflows.
- API - Access datasets programmatically from your applications.
- Schedules - Run the Actor hourly, daily, weekly, or on a custom interval.
Export Formats
- JSON - Use structured records in applications and data pipelines.
- CSV - Analyze listings in spreadsheet tools.
- Excel - Share hiring reports with business teams.
- XML - Support compatible data exchange workflows.
Frequently Asked Questions
Can I collect jobs by keyword and location?
Yes. Set keyword and location when you want the Actor to create the LinkedIn search. You can also use startUrl when your filters are already configured in a LinkedIn jobs URL.
Can I collect jobs posted in the last 24 hours?
Yes. Set posted_date to 24h. The other supported values are 7d, 30d, and anytime.
Does the Actor collect full job descriptions?
Yes. With collectDetails set to true, the Actor collects full description text and formatted description content when LinkedIn publishes them. If detail data is unavailable, the record can still contain search-result fields.
Why are some fields empty?
Some LinkedIn listings do not publish salary, applicant counts, seniority, company logos, or other optional fields. Empty values usually reflect the source listing rather than a failed run.
Can I collect more than 20 jobs?
Yes. Increase results_wanted up to 1,000 and use max_pages as a safety cap for broader searches. The final count depends on how many matching public listings LinkedIn makes available for the exact search.
Can I run this Actor on a schedule?
Yes. Create a schedule in Apify Console to refresh a search hourly, daily, weekly, or at a custom interval. Scheduled runs are useful for tracking new roles and changes in hiring demand.
Is it legal to collect LinkedIn job data?
Public job data may be collected for legitimate purposes, but you are responsible for complying with LinkedIn's terms, applicable privacy rules, and all other laws that apply to your use case. Do not use the output for unlawful discrimination, harassment, or unauthorized bulk communication.
Related Actors
- APEC Jobs Scraper - Collect French executive and professional job listings from APEC.fr.
- USA Jobs Scraper - Collect federal job listings from USAJobs.gov with agency, salary, eligibility, and application data.
- Xing Jobs Scraper - Collect professional job listings from Xing, with a focus on the DACH region.
Support
For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is designed for legitimate collection of publicly available job information. Users are responsible for using the data responsibly and complying with LinkedIn's terms, applicable privacy requirements, and other relevant laws.