Linkdin Job Scraper πŸ’Ό avatar
Linkdin Job Scraper πŸ’Ό

Pricing

$3.00 / 1,000 results

Go to Apify Store
Linkdin Job Scraper πŸ’Ό

Linkdin Job Scraper πŸ’Ό

Collect LinkedIn job listings effortlessly πŸ” Extract structured job data for recruitment, market research, and career analysis β€” fast, reliable, and scalable ⚑

Pricing

$3.00 / 1,000 results

Rating

0.0

(0)

Developer

WebScrap

WebScrap

Maintained by Community

Actor stats

1

Bookmarked

25

Total users

9

Monthly active users

2 days ago

Last modified

Share

LinkedIn Job Scraper

A comprehensive job scraping actor for Apify that collects job listings from LinkedIn.

Description

This Apify actor allows you to search and collect job listings from LinkedIn. It provides detailed job information with intelligent data processing, making it ideal for job market research, recruitment efforts, and career exploration.

The actor implements robust error handling and retry mechanisms to ensure reliable results even when dealing with anti-scraping measures. Data is automatically processed, enriched, and categorized to provide actionable insights into the job market.

Features

  • Scrape job listings from LinkedIn
  • Customize search parameters (location, job type, remote, etc.)
  • Retrieve detailed job information including salary data when available
  • Convert salaries to annual format for easier comparison
  • Proxy support for avoiding rate limits
  • Resilient scraping with automatic retries
  • Detailed error reporting and suggestions
  • Automatic job categorization and data enrichment
  • Clean data output by removing null/empty fields
  • Job statistics and summary included in results
  • Optional fetching of detailed job descriptions

Input Parameters

ParameterTypeDescriptionDefault
search_termStringJob search keywords (e.g., "software engineer", "data scientist")Required
locationStringJob location (e.g., "San Francisco, CA", "New York, NY")Required
results_wantedIntegerNumber of job listings to retrieve20
hours_oldIntegerOnly show jobs posted within this many hours72
distanceIntegerMaximum distance from the location in miles50
job_typeStringType of job to search for ("fulltime", "parttime", "internship", "contract")null
is_remoteBooleanOnly show remote jobsfalse
offsetIntegerNumber of results to skip (useful for pagination)0
proxiesArrayList of proxies to use for scraping (format: "user:pass@host:port" or "host:port")[]

Output

The actor outputs a dataset of job listings with the following information:

  • Job title
  • Company name
  • Location (city, state, country)
  • Remote status
  • Job type (full-time, part-time, etc.)
  • Salary information (when available)
  • Job URL
  • Job description
  • Date posted
  • Job category (automatically derived from title)
  • Date scraped
  • Search query used
  • And more depending on the job board

Output Format Example

{
"jobs": [
{
"company": "Cartesia",
"company_url": "https://www.linkedin.com/company/cartesia-ai",
"title": "Software Engineer, India",
"date_posted": "2025-07-27",
"job_url": "https://www.linkedin.com/jobs/view/4227402416",
"skills": ["Python", "React", "AWS", "Docker", "PostgreSQL"],
"job_type": "Full-time",
"experience_range": "2-4 years",
"location": "Bengaluru, Karnataka, India",
"id": "li-4227402416",
"site": "linkedin",
"interval": "yearly",
"min_amount": 1200000,
"max_amount": 1800000,
"currency": "INR",
"is_remote": false,
"job_level": "Mid-level",
"job_function": "Engineering",
"company_industry": "Artificial Intelligence",
"company_rating": 4.4,
"work_from_home_type": "Hybrid",
"category": "Software Engineering"
}
],
}

Advanced Features

Data Enrichment

The actor provides additional data enrichment:

  • Automatic job categorization based on title keywords
  • Derivation of job type from title if not explicitly provided
  • Detection of remote jobs based on title and description
  • Default values for missing fields

Retry Mechanism

The actor includes an automatic retry system:

  • Configurable number of retries
  • Increasing delays between retries
  • Proxy rotation between retries (if multiple proxies provided)

Error Handling

Improved error handling with:

  • Detailed error messages
  • Specific suggestions for different error types
  • Comprehensive logging for troubleshooting

Usage Tips

  1. Handling Site Blocking

    • LinkedIn implements anti-scraping measures
    • Using proxies is highly recommended to avoid IP blocking
    • Consider waiting between multiple runs to avoid rate limiting
  2. Improving Results

    • Use specific search terms and locations for better results
    • Setting linkedin_fetch_description to true provides more detailed job descriptions but is slower
    • Adjust the distance parameter to expand or narrow your search area
    • Use the offset parameter for pagination to get more results

Example Usage

{
"search_term": "software engineer",
"location": "San Francisco, CA",
"results_wanted": 50,
"hours_old": 72,
"distance": 50,
"is_remote": false,
"easy_apply": true,
"linkedin_fetch_description": true,
"description_format": "markdown",
"offset": 0
}

Troubleshooting

If you encounter a 429 error (rate limiting) or 403 error (forbidden), try:

  1. Using proxies
  2. Reducing the number of results_wanted
  3. Waiting some time between runs
  4. Increasing the max_retries value
  5. Adjusting search parameters to be less aggressive

Limitations

  • LinkedIn has limitations on which parameters can be used together
  • Rate limiting may occur when scraping a large number of jobs without proxies
  • LinkedIn may block scraping attempts even with proxies
  • Search results may vary compared to manual searches due to personalization
  • Job descriptions may be truncated unless linkedin_fetch_description is enabled (which is slower)