LinkedIn Jobs Scraper
Pricing
from $0.95 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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
scrapeCompanyDetailsto append each company's description, website, employee count, and industry to the job row. - Full job description in both plain text and HTML โ
descriptionTextfor analysis anddescriptionHtmlto 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
Simple Keyword Search
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
Search
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string | "data engineer" | Job title, skill, or keyword to search for. Leave empty if you are only using URLs. |
location | string | "United States" | City, region, or country โ matches what you'd type in LinkedIn's location box. |
startUrls | string[] | [] | Full LinkedIn job-search URLs. Any filters already in the URL are respected. Mixable with the keyword search above. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
datePosted | select | Any time | Recency window: Any time, Past month, Past week, or Past 24 hours. |
jobType | multi-select | [] | Employment types: Full-time, Part-time, Contract, Temporary, Internship, Volunteer, Other. Empty = all. |
experienceLevel | multi-select | [] | Seniority levels: Internship, Entry level, Associate, Mid-Senior level, Director, Executive. Empty = all. |
workplaceType | multi-select | [] | Workplace arrangement: On-site, Remote, Hybrid. Empty = all. |
sortBy | select | Most relevant | Order results by Most relevant or Most recent. |
Output Options & Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
scrapeCompanyDetails | boolean | true | Also fetch each job's company profile (description, website, employee count, industry). Turn off for faster runs. |
maxResults | integer | 100 | Total 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
| Field | Type | Description |
|---|---|---|
id | string | LinkedIn job posting ID |
link | string | Canonical job posting URL |
title | string | Job title |
location | string | Job location text |
workplaceType | string | On-site, Remote, or Hybrid (when a single workplace filter is selected) |
postedAt | string | Posted date or relative time |
applicantsCount | integer | Number of applicants so far |
applyUrl | string | External apply URL (may be empty for Easy Apply roles) |
Company
| Field | Type | Description |
|---|---|---|
companyName | string | Hiring company name |
companyLinkedinUrl | string | Company LinkedIn page URL |
companyLogo | string | Company logo image URL |
companyDescription | string | Company about text (when scrapeCompanyDetails is on) |
companyWebsite | string | Company website (when scrapeCompanyDetails is on) |
companyEmployeesCount | integer | Company employee count (when scrapeCompanyDetails is on) |
companyIndustry | string | Company industry (when scrapeCompanyDetails is on) |
Compensation
| Field | Type | Description |
|---|---|---|
salary | string | Listed salary text |
salaryInfo | string[] | Structured salary parts (e.g. min and max) |
benefits | string[] | Listed benefits when present |
Description & Classification
| Field | Type | Description |
|---|---|---|
descriptionText | string | Plain-text job description |
descriptionHtml | string | HTML job description (preserves formatting) |
seniorityLevel | string | Seniority (Entry level, Mid-Senior level, etc.) |
employmentType | string | Full-time, Part-time, Contract, etc. |
jobFunction | string | LinkedIn job function |
industries | string[] | Associated industries |
Job Poster
| Field | Type | Description |
|---|---|---|
jobPosterName | string | Recruiter / job poster name (when public) |
jobPosterTitle | string | Recruiter title |
jobPosterPhoto | string | Recruiter photo URL |
jobPosterProfileUrl | string | Recruiter 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 recentwithdatePosted: Past 24 hoursto capture only brand-new postings on a scheduled run. - Turn off company details for speed โ set
scrapeCompanyDetailsto false when you only need the job posting itself; company enrichment adds an extra request per unique company. - Start small to validate โ set
maxResultsto 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
applicantsCountfor 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.
| Results | Estimated 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
Legal & Ethical Use
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.