LinkedIn Jobs Scraper - Fast, Cheap & No Login Required avatar

LinkedIn Jobs Scraper - Fast, Cheap & No Login Required

Pricing

from $0.50 / 1,000 results

Go to Apify Store
LinkedIn Jobs Scraper - Fast, Cheap & No Login Required

LinkedIn Jobs Scraper - Fast, Cheap & No Login Required

Scrape LinkedIn job postings at the lowest cost on the market, pay only per result. Extract thousands of jobs with full details, filters, deduplication, and optional company enrichment. No login required.

Pricing

from $0.50 / 1,000 results

Rating

5.0

(1)

Developer

Bhargava Sharabha Pagidimarri

Bhargava Sharabha Pagidimarri

Maintained by Community

Actor stats

3

Bookmarked

16

Total users

7

Monthly active users

14 days ago

Last modified

Categories

Share

Scrape LinkedIn job postings at scale with pay-per-result pricing -- only pay for the jobs you actually get. Extract hundreds of jobs with full details, advanced filters, built-in deduplication, and optional company enrichment. No login or cookies required.

Why choose this LinkedIn Jobs Scraper?

  • Lowest cost on Apify -- pay-per-result pricing means zero wasted compute
  • Fast & efficient -- scrapes 1,000+ jobs in minutes using LinkedIn's public API with high-concurrency pagination
  • No login needed -- scrapes LinkedIn's public job pages, no accounts, cookies, or tokens required
  • Rich data quality -- extracts 25+ fields per job including full descriptions, salary, recruiter info, and more
  • Advanced filters -- location, distance, job type, experience level, work type, salary, and recency
  • Built-in deduplication -- automatically removes duplicate listings across multiple keyword searches
  • Company enrichment -- optionally fetch company description, website, employee count, and address
  • Flexible output -- HTML or plain text descriptions, JSON export, dataset API access
  • Two search modes -- keyword-driven search, direct LinkedIn URL crawling, or both combined

What data does it extract?

FieldExample
Job titleSenior Software Engineer
Job descriptionFull HTML or plain text description
Company name & logoGoogle, logo URL
Company LinkedIn URLhttps://www.linkedin.com/company/google
LocationSan Francisco, CA
Salary info$120,000 - $180,000/yr
Employment typeFull-time, Contract, Internship
Experience levelEntry level, Mid-Senior, Director
Work typeRemote, Hybrid, On-site
Apply URLDirect application link
Apply typeEasy Apply or External
Posted time2 days ago
Applicants countOver 200 applicants
Recruiter name & profileJane Smith, LinkedIn URL
Industry/sectorInformation Technology
Company details (optional)Description, website, employee count, address

Use cases

  • Job seekers -- aggregate and monitor job openings across multiple searches and locations
  • Recruiters & HR -- build talent pipelines, track competitor job postings, and analyze hiring trends
  • Market research -- analyze employment trends, skill demand, salary ranges, and remote work adoption
  • Business intelligence -- monitor competitor hiring activity and workforce expansion signals
  • Data analysis -- extract structured job market data for dashboards, reports, and visualizations
  • Lead generation -- identify hiring companies and decision-makers for B2B outreach

Input

FieldTypeDescription
startUrlsarrayLinkedIn job search URLs to crawl
keywordarrayKeywords to search (e.g., "Software Engineer")
locationstringLocation to search in (e.g., "New York, NY")
distancestringSearch radius: 5, 10, 15, 25, or 50 miles
publishedAtstringr86400 (24h), r604800 (1 week), r2592000 (1 month)
jobTypearrayfull-time, part-time, contract, temporary, internship
experienceLevelarrayinternship, entry-level, associate, mid-senior, director
workTypearrayon-site, remote, hybrid
salaryBasestringMinimum salary: 40000, 60000, 80000, 100000, 120000
maxItemsintegerMaximum results (default: 500)
saveOnlyUniqueItemsbooleanRemove duplicate jobs (default: false)
cleanDescriptionbooleanPlain text descriptions instead of HTML (default: false)
enrichCompanyDatabooleanFetch extra company details (default: false)

Example Input

{
"keyword": ["Software Engineer", "Data Scientist"],
"location": "New York, NY",
"publishedAt": "r604800",
"jobType": ["full-time"],
"experienceLevel": ["mid-senior"],
"workType": ["remote", "hybrid"],
"maxItems": 200,
"saveOnlyUniqueItems": true
}

Output

Each scraped job is stored as a structured JSON object:

{
"jobId": "3856789012",
"jobTitle": "Senior Software Engineer",
"jobUrl": "https://www.linkedin.com/jobs/view/3856789012",
"jobDescription": "<p>We are looking for a Senior Software Engineer...</p>",
"companyName": "Google",
"companyId": "google",
"companyUrl": "https://www.linkedin.com/company/google",
"companyLogo": "https://media.licdn.com/dms/image/...",
"location": "San Francisco, CA",
"postedTime": "2 days ago",
"publishedAt": "2 days ago",
"applicationsCount": "Over 200 applicants",
"contractType": "Full-time",
"experienceLevel": "Mid-Senior level",
"workType": "Remote",
"sector": "Information Technology",
"salaryInfo": ["$120,000 - $180,000/yr"],
"applyType": "Easy Apply",
"applyUrl": "https://www.linkedin.com/jobs/view/3856789012/apply",
"posterFullName": "Jane Smith",
"posterProfileUrl": "https://www.linkedin.com/in/janesmith",
"searchString": "Software Engineer",
"companyDescription": "A multinational technology company...",
"companyWebsite": "https://about.google",
"companyEmployeeCount": 150000,
"companyAddress": {
"street": "1600 Amphitheatre Parkway",
"city": "Mountain View",
"region": "CA",
"postalCode": "94043",
"country": "United States"
}
}

Usage examples

Search by keyword with filters

Search for remote Data Scientist jobs posted in the last week:

{
"keyword": ["Data Scientist"],
"location": "United States",
"publishedAt": "r604800",
"workType": ["remote"],
"maxItems": 100
}

Using start URLs

Provide LinkedIn search URLs directly:

{
"startUrls": [
{ "url": "https://www.linkedin.com/jobs/search/?keywords=python+developer&location=London" },
{ "url": "https://www.linkedin.com/jobs/search/?keywords=java+developer&location=Berlin" }
],
"maxItems": 500
}

Combine keywords with start URLs

Use both methods together for maximum coverage:

{
"keyword": ["Product Manager", "Program Manager"],
"startUrls": [
{ "url": "https://www.linkedin.com/jobs/search/?keywords=scrum+master&location=Austin" }
],
"location": "United States",
"publishedAt": "r2592000",
"saveOnlyUniqueItems": true,
"maxItems": 1000
}

With company enrichment

Get full company details along with job postings:

{
"keyword": ["Product Manager"],
"location": "San Francisco, CA",
"experienceLevel": ["mid-senior", "director"],
"enrichCompanyData": true,
"maxItems": 50
}

Plain text descriptions

Get clean, plain text job descriptions instead of HTML:

{
"keyword": ["Full Stack Developer"],
"location": "United States",
"cleanDescription": true,
"maxItems": 100
}

How much does it cost?

This Actor uses pay-per-result pricing. You only pay for the job listings you actually receive -- no charges for failed requests or empty pages.

ResultsEstimated Cost
100 jobs~$0.07
500 jobs~$0.35
1,000 jobs~$0.70

Set a max charge limit when starting a run to control your budget. The Actor automatically stops when your limit is reached.

Tips for getting more results

  • Use multiple specific keywords instead of one broad term (e.g., "React Developer", "Frontend Engineer", "JavaScript Developer" instead of just "Developer")
  • Set publishedAt to r2592000 (past month) for larger result sets
  • Combine startUrls with keyword searches for maximum coverage
  • Enable saveOnlyUniqueItems to avoid paying for duplicate listings across searches
  • Use multiple locations or leave location empty for global results

How it works

  1. Search pagination -- The Actor uses LinkedIn's public search API to paginate through all available results (up to 1,000 per keyword/URL)
  2. Job detail extraction -- Each job listing is visited to extract the full set of 25+ data fields
  3. Deduplication -- Job IDs are tracked across all searches to eliminate duplicates
  4. Company enrichment (optional) -- Company pages are scraped with built-in caching to avoid redundant requests
  5. Billing control -- Pay-per-event limits are checked after each result to respect your budget

Limitations

  • LinkedIn caps search results at 1,000 per query. Use multiple keywords to get more results.
  • Public pages only -- some data fields may have limited availability compared to logged-in scraping.
  • Residential proxies recommended -- LinkedIn blocks datacenter IP ranges. The Actor automatically selects the best available proxy.

FAQ

Do I need a LinkedIn account? No. This Actor scrapes LinkedIn's public job pages, which are accessible without login.

Why am I getting fewer results than expected? LinkedIn limits public search results to 1,000 per query. If your search is very specific or recent (past 24 hours), fewer jobs may be available. Try broadening your filters or using multiple keywords.

What's the difference between HTML and plain text descriptions? By default, job descriptions include HTML formatting (bold, lists, links). Enable cleanDescription to get plain text, which is easier to process programmatically but loses formatting.

How does company enrichment work? When enabled, the Actor visits each company's LinkedIn page to fetch additional details. Results are cached per company, so if multiple jobs are from the same company, the page is only fetched once.