Fast LinkedIn Job Scraper avatar
Fast LinkedIn Job Scraper

Pricing

Pay per usage

Go to Apify Store
Fast LinkedIn Job Scraper

Fast LinkedIn Job Scraper

Developed by

Shahid Irfan

Shahid Irfan

Maintained by Community

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.

0.0 (0)

Pricing

Pay per usage

0

1

1

Last modified

2 days ago

Fast LinkedIn Jobs Scraper

This Apify Actor scrapes job listings from LinkedIn based on your search criteria.

Features

  • Fetches comprehensive job details including title, company, location, salary, and full description
  • Supports both direct LinkedIn URLs and keyword-based searches
  • Uses a robust, multi-step process to retrieve job descriptions with high success rates
  • Implements respectful scraping practices with appropriate delays and rate limiting
  • For best performance and to avoid blocks, using residential proxies is highly recommended

Input Parameters

URL Mode

  • urls (array): Array of LinkedIn job/search URLs to scrape from
  • maxJobs (number): Maximum number of jobs to scrape (default: 150, max: 1000)
  • collectOnly (boolean): If true, only collect job URLs without fetching details (default: false)

Keyword Mode

  • keywords (array): Array of search keywords to use for job searches
  • location (string): Location to search in (optional)
  • timeRange (string): Time filter - "24h", "7d", "30d", or "anytime" (default: "anytime")
  • maxJobs (number): Maximum number of jobs to scrape (default: 150, max: 1000)
  • collectOnly (boolean): If true, only collect job URLs without fetching details (default: false)

Legacy Support

  • query (string): Single keyword for backward compatibility (use keywords array instead)
  • maxConcurrency (number): Number of concurrent requests (default: 8, max: 12)

Proxy Configuration

  • proxyConfiguration (object): Proxy settings for the actor

Usage Examples

{
"keywords": ["Software Engineer", "Data Scientist"],
"location": "San Francisco, CA",
"timeRange": "7d",
"maxJobs": 100
}

URL Mode

{
"urls": [
"https://www.linkedin.com/jobs/search/?keywords=developer&location=New%20York",
"https://www.linkedin.com/jobs/view/1234567890"
],
"maxJobs": 50
}

Legacy Query Mode

{
"query": "Product Manager",
"location": "Remote",
"maxJobs": 25
}

Output Format

The actor outputs job data in the following JSON format:

{
"jobUrl": "https://www.linkedin.com/jobs/view/1234567890",
"jobId": "1234567890",
"title": "Senior Software Engineer",
"company": "Tech Company Inc.",
"companyUrl": "https://www.linkedin.com/company/tech-company",
"location": "San Francisco, CA",
"postedAt": "1 week ago",
"workType": "Full-time",
"seniority": "Mid-Senior level",
"descriptionText": "We are looking for a Senior Software Engineer...",
"descriptionHtml": "<p>We are looking for a Senior Software Engineer...</p>",
"collectedAt": "2025-10-09T12:00:00.000Z",
"searchQuery": "Software Engineer",
"searchLocation": "San Francisco, CA",
"searchTimeRange": "7d"
}

Important Notes

  • This actor respects LinkedIn's Terms of Service and implements appropriate rate limiting
  • For large-scale scraping, consider using residential proxies to improve success rates
  • The actor automatically handles pagination and deduplication
  • Job descriptions are extracted using multiple fallback methods for reliability
  • Failed requests are automatically retried with exponential backoff

Cost Considerations

  • Each job detail page fetched counts as one request
  • List pages are also counted in the total request count
  • Use collectOnly: true to minimize costs if you only need job URLs