LinkedIn Jobs Scraper avatar

LinkedIn Jobs Scraper

Pricing

from $0.95 / 1,000 results

Go to Apify Store
LinkedIn Jobs Scraper

LinkedIn Jobs Scraper

[๐Ÿ’ฐ $0.95 / 1K] Extract LinkedIn job postings at scale โ€” title, company, location, salary, description, seniority, employment type, applicant count, and recruiter details. Search by keyword and location with date, job-type, experience-level, and remote filters, or paste LinkedIn search URLs.

Pricing

from $0.95 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Pull public LinkedIn job postings at scale โ€” titles, hiring companies, locations, salaries, full descriptions, seniority, employment type, applicant counts, the recruiter who posted each role, and optional company profiles. Search with plain keyword + location fields (no hand-built URLs) and get one clean row per job. Built for recruiters, sourcers, talent-market analysts, and job-board builders who need fresh LinkedIn job data without manual copy-paste or maintaining a LinkedIn login.

Why This Scraper?

  • No LinkedIn login or cookies required โ€” runs entirely against LinkedIn's public guest job listings, so there's no account to connect, no session to babysit, and a much lower compliance footprint.
  • Plain keyword + location search, not URL hacking โ€” type "data engineer" and "United States" instead of hand-crafting a filtered LinkedIn URL; power users can still paste raw LinkedIn job-search URLs and every filter in them is respected.
  • Seven employment-type filters and six seniority levels โ€” narrow by Full-time, Part-time, Contract, Temporary, Internship, Volunteer, or Other, and by Internship, Entry level, Associate, Mid-Senior level, Director, or Executive.
  • On-site / Remote / Hybrid workplace filter plus a "Past 24 hours" recency window โ€” combine with Most-recent sort to build a daily feed of brand-new postings.
  • Recruiter and job-poster contacts when public โ€” name, title, photo, and LinkedIn profile URL of the person who posted the role, ideal for warm outreach.
  • Salary, benefits, and applicant count per job โ€” pulls the listed pay range, parsed salary parts, listed benefits, and how many people have already applied.
  • Optional one-toggle company enrichment โ€” flip on scrapeCompanyDetails to append each company's description, website, employee count, and industry to the job row.
  • Full job description in both plain text and HTML โ€” descriptionText for analysis and descriptionHtml to preserve formatting, plus job function and industry classification.
  • Up to ~1,000 jobs per search with smooth pagination โ€” pages straight through LinkedIn's guest ceiling, and de-duplicates jobs that appear across overlapping searches.

Use Cases

Recruiting & Sourcing

  • Build daily feeds of newly posted roles in your niche and territory
  • Capture the recruiter or job poster behind each role for warm outreach
  • Track which companies are actively hiring for a given title
  • Pull Easy Apply vs. external-apply roles to prioritize candidate funnels

Market & Salary Research

  • Benchmark listed salary ranges by title, seniority, and location
  • Measure hiring demand by employment type and workplace arrangement
  • Analyze applicant counts to gauge how competitive roles are
  • Map remote vs. hybrid vs. on-site distribution across a market

Lead Generation

  • Identify companies scaling specific functions (sales, engineering, ops)
  • Build outbound lists of firms hiring for roles your product serves
  • Enrich target accounts with company description, size, and industry
  • Spot fast-growing startups by tracking sustained job-posting volume

Job-Board & Aggregator Content

  • Backfill a niche job board with structured, deduplicated postings
  • Refresh listings on a schedule with the Past-24-hours window
  • Power "jobs near you" or "remote jobs" feeds with workplace filters
  • Normalize titles, functions, and industries across thousands of roles

Competitive Hiring Intelligence

  • Monitor a competitor's open roles to infer roadmap and team growth
  • Track which locations a rival is expanding into
  • Compare seniority mix and employment types across peer companies
  • Watch for leadership hires by filtering Director and Executive levels

Getting Started

The fastest way to start โ€” a keyword and a location:

{
"keywords": "data engineer",
"location": "United States",
"maxResults": 100
}

Filtered Daily Monitor

Brand-new remote contract roles, most-recent first:

{
"keywords": "product manager",
"location": "Remote",
"datePosted": "day",
"jobType": ["C"],
"workplaceType": ["2"],
"sortBy": "recent",
"maxResults": 200
}

Advanced โ€” Full Enrichment

Senior full-time roles posted in the past week, with company profiles attached:

{
"keywords": "machine learning engineer",
"location": "London, United Kingdom",
"datePosted": "week",
"jobType": ["F"],
"experienceLevel": ["4", "5"],
"workplaceType": ["1", "3"],
"sortBy": "relevant",
"scrapeCompanyDetails": true,
"maxResults": 500
}

You can also paste raw LinkedIn job-search URLs and mix them with a keyword search:

{
"startUrls": [
"https://www.linkedin.com/jobs/search/?keywords=nurse&location=Berlin"
],
"maxResults": 100
}

Input Reference

ParameterTypeDefaultDescription
keywordsstring"data engineer"Job title, skill, or keyword to search for. Leave empty if you are only using URLs.
locationstring"United States"City, region, or country โ€” matches what you'd type in LinkedIn's location box.
startUrlsstring[][]Full LinkedIn job-search URLs. Any filters already in the URL are respected. Mixable with the keyword search above.

Filters

ParameterTypeDefaultDescription
datePostedselectAny timeRecency window: Any time, Past month, Past week, or Past 24 hours.
jobTypemulti-select[]Employment types: Full-time, Part-time, Contract, Temporary, Internship, Volunteer, Other. Empty = all.
experienceLevelmulti-select[]Seniority levels: Internship, Entry level, Associate, Mid-Senior level, Director, Executive. Empty = all.
workplaceTypemulti-select[]Workplace arrangement: On-site, Remote, Hybrid. Empty = all.
sortByselectMost relevantOrder results by Most relevant or Most recent.

Output Options & Limits

ParameterTypeDefaultDescription
scrapeCompanyDetailsbooleantrueAlso fetch each job's company profile (description, website, employee count, industry). Turn off for faster runs.
maxResultsinteger100Total jobs to return across all searches and URLs. Use 0 for unlimited; each individual search caps near 1,000 jobs.

Filters apply to the keyword search. Jobs reached via a pasted URL keep the filters already encoded in that URL.

Output

Each job posting is one flat row. Here's a representative result with company details enabled:

{
"id": "3801234567",
"link": "https://www.linkedin.com/jobs/view/3801234567",
"title": "Senior Data Engineer",
"companyName": "Acme Analytics",
"companyLinkedinUrl": "https://www.linkedin.com/company/acme-analytics",
"companyLogo": "https://media.licdn.com/dms/image/acme-logo.png",
"location": "New York, NY",
"workplaceType": "Remote",
"salary": "$140,000 - $180,000",
"salaryInfo": ["$140,000", "$180,000"],
"benefits": ["Medical", "Dental", "401k"],
"postedAt": "2026-05-28",
"applicantsCount": 47,
"descriptionText": "We are looking for a Senior Data Engineer to build and scale our data platform...",
"descriptionHtml": "<p>We are looking for a <strong>Senior Data Engineer</strong>...</p>",
"seniorityLevel": "Mid-Senior level",
"employmentType": "Full-time",
"jobFunction": "Engineering and Information Technology",
"industries": ["Software Development", "Data Infrastructure"],
"applyUrl": "https://careers.acme.com/jobs/senior-data-engineer",
"jobPosterName": "Jane Doe",
"jobPosterTitle": "Technical Recruiter at Acme Analytics",
"jobPosterPhoto": "https://media.licdn.com/dms/image/jane-doe.jpg",
"jobPosterProfileUrl": "https://www.linkedin.com/in/jane-doe",
"companyDescription": "Acme Analytics builds data infrastructure for enterprise teams...",
"companyWebsite": "https://www.acme-analytics.com",
"companyEmployeesCount": 850,
"companyIndustry": "Software Development"
}

Core Job Fields

FieldTypeDescription
idstringLinkedIn job posting ID
linkstringCanonical job posting URL
titlestringJob title
locationstringJob location text
workplaceTypestringOn-site, Remote, or Hybrid (when a single workplace filter is selected)
postedAtstringPosted date or relative time
applicantsCountintegerNumber of applicants so far
applyUrlstringExternal apply URL (may be empty for Easy Apply roles)

Company

FieldTypeDescription
companyNamestringHiring company name
companyLinkedinUrlstringCompany LinkedIn page URL
companyLogostringCompany logo image URL
companyDescriptionstringCompany about text (when scrapeCompanyDetails is on)
companyWebsitestringCompany website (when scrapeCompanyDetails is on)
companyEmployeesCountintegerCompany employee count (when scrapeCompanyDetails is on)
companyIndustrystringCompany industry (when scrapeCompanyDetails is on)

Compensation

FieldTypeDescription
salarystringListed salary text
salaryInfostring[]Structured salary parts (e.g. min and max)
benefitsstring[]Listed benefits when present

Description & Classification

FieldTypeDescription
descriptionTextstringPlain-text job description
descriptionHtmlstringHTML job description (preserves formatting)
seniorityLevelstringSeniority (Entry level, Mid-Senior level, etc.)
employmentTypestringFull-time, Part-time, Contract, etc.
jobFunctionstringLinkedIn job function
industriesstring[]Associated industries

Job Poster

FieldTypeDescription
jobPosterNamestringRecruiter / job poster name (when public)
jobPosterTitlestringRecruiter title
jobPosterPhotostringRecruiter photo URL
jobPosterProfileUrlstringRecruiter LinkedIn profile URL

Tips for Best Results

  • Beat the per-search cap by splitting searches โ€” each LinkedIn search returns at most ~1,000 jobs. To go deeper, run several narrower searches by location, seniority, or date and the actor will deduplicate overlapping results for you.
  • Build a daily monitor โ€” pair sortBy: Most recent with datePosted: Past 24 hours to capture only brand-new postings on a scheduled run.
  • Turn off company details for speed โ€” set scrapeCompanyDetails to false when you only need the job posting itself; company enrichment adds an extra request per unique company.
  • Start small to validate โ€” set maxResults to 25โ€“50 on your first run to confirm the data matches your needs, then scale up.
  • Combine structured filters with URLs โ€” use the clean keyword/location/filter fields for everyday searches and reserve pasted URLs for filter combinations the fields don't cover.
  • Watch applicantsCount for competitiveness โ€” low applicant counts on recent postings are your best window for candidate outreach or fast applications.
  • Use the workplace filter for remote sourcing โ€” selecting only Remote produces a clean remote-jobs feed without manual filtering downstream.

Pricing

$0.95 per 1,000 results โ€” flat pay-per-result, slightly below comparable LinkedIn job actors.

ResultsEstimated Cost
100$0.10
1,000$0.95
10,000$9.50
100,000$95.00

A "result" is any job posting row in the output dataset. No compute charges โ€” you only pay per result returned.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new postings
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor collects only public, logged-out LinkedIn job listing data for legitimate recruiting, market research, and analytics. Users are responsible for complying with applicable laws and LinkedIn's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data (such as recruiter contact details) in accordance with applicable privacy regulations.