Linkedin Jobs Scraper avatar

Linkedin Jobs Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Linkedin Jobs Scraper

Linkedin Jobs Scraper

Scrape LinkedIn job listings with ease πŸ’ΌπŸ“Š Extract job titles, companies, locations, salaries, descriptions, posted dates, and direct links. Perfect for job tracking, recruitment insights, market research, and lead generation. Automate LinkedIn job data collection at scale πŸš€

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperForge

ScraperForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

A powerful Apify Actor for scraping LinkedIn job postings with comprehensive data extraction and intelligent proxy management.

Why Choose Us?

  • Comprehensive Data Extraction: Captures all job details including salary, benefits, company information, and application URLs
  • Intelligent Proxy Management: Automatic fallback from no proxy β†’ datacenter β†’ residential with retry logic
  • Bulk Processing: Supports multiple companies, keywords, and advanced filtering options
  • Robust Error Handling: Built-in retry mechanisms and graceful error recovery
  • Real-time Logging: Detailed progress logs to keep you informed throughout the scraping process

Key Features

  • βœ… Scrape jobs by company name, URL, or ID
  • βœ… Keyword-based job searches
  • βœ… Advanced filtering (location, work type, contract type, experience level)
  • βœ… Automatic proxy fallback with detailed logging
  • βœ… Pagination support with duplicate detection
  • βœ… Comprehensive job data extraction
  • βœ… Live data saving to Apify dataset

Input

Example Input JSON

{
"companyInput": ["Google", "Microsoft"],
"keywords": "Software Engineer",
"location": "United States",
"maxJobs": 200,
"sortOrder": "date",
"publishedAt": "r604800",
"workType": "2",
"contractType": "F",
"experienceLevel": "4",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input Fields

  • companyInput (array): Company names, LinkedIn URLs, or company IDs. Supports bulk input.
    • Examples: ["Google"], ["https://www.linkedin.com/company/google/"], ["1441"]
  • keywords (string): Job title or keywords to search for
  • location (string): Job location filter (default: "United States")
  • maxJobs (integer): Maximum number of jobs to scrape (1-10000, default: 200)
  • sortOrder (string): Sort order - "", "relevance", or "date"
  • maxComments (integer): Maximum comments (for future use, default: 0)
  • publishedAt (string): Filter by date - "", "r86400" (24h), "r604800" (week), "r2592000" (month)
  • workType (string): "1" (on-site), "2" (remote), "3" (hybrid)
  • contractType (string): "F" (full-time), "P" (part-time), "C" (contract), "T" (temporary), "I" (internship), "V" (volunteer)
  • experienceLevel (string): "1" (internship), "2" (entry), "3" (associate), "4" (mid-senior), "5" (director)
  • geoId (string): Geographic ID for specific location filtering
  • proxyConfiguration (object): Proxy settings. By default, uses no proxy. Falls back to datacenter, then residential with 3 retries if blocked.

Output

Example Output JSON

[
{
"id": "4304041530",
"publishedAt": "2025-09-23",
"salary": "$141,000.00/yr - $202,000.00/yr",
"title": "Software Engineer, Full Stack, Google Workspace",
"jobUrl": "https://www.linkedin.com/jobs/view/software-engineer-full-stack-google-workspace-at-google-4304041530",
"companyName": "Google",
"companyUrl": "https://www.linkedin.com/company/google",
"location": "Seattle, WA",
"postedTime": "1 day ago",
"applicationsCount": "68 applicants",
"description": "Full job description text...",
"contractType": "Full-time",
"experienceLevel": "Not Applicable",
"workType": "Information Technology and Engineering",
"sector": "Information Services and Technology, Information and Internet",
"applyUrl": "https://careers.google.com/jobs/results/...",
"applyType": "EXTERNAL",
"descriptionHtml": "<div>HTML description...</div>",
"companyId": "1441",
"benefits": "health insurance, medical, dental, vision",
"posterProfileUrl": "",
"posterFullName": ""
}
]

Output Fields

  • id: LinkedIn job posting ID
  • publishedAt: Publication date (YYYY-MM-DD format)
  • salary: Salary range if available
  • title: Job title
  • jobUrl: Direct URL to the job posting
  • companyName: Company name
  • companyUrl: Company LinkedIn page URL
  • location: Job location
  • postedTime: Human-readable posted time (e.g., "1 day ago")
  • applicationsCount: Number of applicants
  • description: Full job description (plain text)
  • contractType: Employment type (Full-time, Part-time, etc.)
  • experienceLevel: Required experience level
  • workType: Job function/category
  • sector: Industry sector
  • applyUrl: Direct application URL
  • applyType: "EXTERNAL" or "LINKEDIN"
  • descriptionHtml: HTML version of description
  • companyId: LinkedIn company ID
  • benefits: Extracted benefits information
  • posterProfileUrl: Job poster's profile URL (if available)
  • posterFullName: Job poster's full name (if available)

πŸš€ How to Use the Actor (via Apify Console)

  1. Log in at https://console.apify.com and go to Actors.
  2. Find your actor (linkedin-jobs-scraper) and click it.
  3. Configure inputs:
    • Enter company names, URLs, or IDs in companyInput
    • Set keywords for job title searches
    • Configure location and other filters
    • Set maxJobs to limit results
    • Configure proxyConfiguration if needed
  4. Click Start to run the actor.
  5. Monitor logs in real time to see progress.
  6. Access results in the OUTPUT tab once complete.
  7. Export results to JSON or CSV format.

Best Use Cases

  • Job Market Research: Analyze job postings across multiple companies
  • Competitive Intelligence: Track competitor hiring patterns
  • Salary Benchmarking: Collect salary data for specific roles
  • Talent Acquisition: Monitor new job postings in your industry
  • Market Analysis: Study job trends and requirements

Frequently Asked Questions

Q: Can I scrape jobs without providing a company?
A: Yes! You can use the keywords field to search for jobs by title or keywords.

Q: How does the proxy fallback work?
A: The actor starts with no proxy. If LinkedIn blocks the request, it automatically falls back to datacenter proxy, then residential proxy with 3 retries. All proxy events are logged clearly.

Q: What's the maximum number of jobs I can scrape?
A: The maxJobs field accepts values from 1 to 10,000. Default is 200.

Q: Can I filter by multiple criteria?
A: Yes! You can combine location, work type, contract type, experience level, and publication date filters.

Q: How long does scraping take?
A: It depends on the number of jobs. The actor processes jobs in batches with delays to avoid rate limiting. Typically, 100 jobs take 5-10 minutes.

Support and Feedback

For issues, questions, or feedback, please contact support through the Apify platform.

Cautions

  • Data is collected only from publicly available sources on LinkedIn.
  • No data is taken from private accounts or password-protected content.
  • The end user is responsible for ensuring legal compliance (spam laws, privacy, data protection, etc.).
  • Respect LinkedIn's Terms of Service and rate limits.