LinkedIn Jobs Scraper: Remote Filter, Salaries & Job Alerts
Pricing
from $0.40 / 1,000 jobs
LinkedIn Jobs Scraper: Remote Filter, Salaries & Job Alerts
Scrape LinkedIn jobs without login or cookies: full job pages, remote / hybrid / on-site, salaries found in job descriptions, job type, level, no reposts or staffing agencies, company jobs and new-job alerts. Export to Excel, CSV, JSON or n8n.
Pricing
from $0.40 / 1,000 jobs
Rating
0.0
(0)
Developer
Superior Actors
Maintained by CommunityActor stats
1
Bookmarked
7
Total users
5
Monthly active users
9 days ago
Last modified
Categories
Share
LinkedIn Jobs Scraper: Remote Filter, Salaries & Job Alerts
Scrape LinkedIn jobs to Excel, CSV or JSON without login or cookies: every job with its full job page, company, location, applicants, level, job type and description. On top of that, what other LinkedIn job scrapers stopped doing in 2026:
- Remote / hybrid / on-site filter that works. LinkedIn's new AI job search ignores the remote, job type, experience and salary filters for visitors, so scrapers that pass them to LinkedIn return every job. This Actor reads each job page and filters itself. Filtered-out jobs are free.
- Salaries in 2 of 3 US jobs, not only the 1 in 8 that fill LinkedIn's salary field: pay ranges are also read from the description (US pay-transparency ranges), converted to a year.
- No reposts, no staffing agencies, and job alerts: schedule it and get only the jobs you have not seen.
{ "keywords": ["data engineer"], "locations": ["United States"], "workplaceTypes": ["remote"], "minYearlySalary": 120000 }
No LinkedIn account, no cookies, no browser extension. Use it as a LinkedIn Jobs API: one call returns clean JSON.
What you get
One row per job. Real example, September 2026 (data engineer, United States):
| job | company | location | remote / hybrid | salary | found in | posted | applicants | level |
|---|---|---|---|---|---|---|---|---|
| Senior Data Engineer, DX | Atlassian | Salt Lake City, UT | $167,400 - $218,550 | description | 2026-09-26 | 200+ | Mid-Senior level | |
| Data Engineer, Decision Intelligence Technology | Amazon Web Services (AWS) | Bellevue, WA | 101,300 - 160,000 USD annually | description | 2026-09-23 | 125 | Not Applicable | |
| Senior Data Engineer | NinjaOne | Georgia, United States | remote | $110,000 to $200,000 per year | description | 2026-09-24 | 57 | Not Applicable |
| Senior Data Engineer | fairlife | Chicago, IL | hybrid | $120,000 - $140,000 USD | description | 2026-09-23 | 200+ | Not Applicable |
| Product Manufacturing & Quality Engineer | OpenAI | San Francisco, CA | hybrid | $123,000/yr - $285,000/yr | 2026-09-15 | 200+ | Not Applicable |
| Field | Description |
|---|---|
jobId, jobUrl, title | The job and its LinkedIn link |
companyName, companyUrl, companyId, companyLogo | The employer (companyId works in LinkedIn's company filter) |
location, postedDate, postedAgo | Where and when (reposts show the repost date, as on LinkedIn) |
workplaceType, workplaceTypeSource, workplaceTypeEvidence | remote, hybrid, on-site or empty when the job does not say; where it was found (title, location, description) and the exact words |
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod | Pay as posted: hour, day, week, month or year |
salaryYearlyMin, salaryYearlyMax, salarySource | Pay converted to a year (hourly × 2 080); linkedin = LinkedIn's salary field, description = found in the job text |
applicants, applicantsText | "Over 200 applicants" = 200; "Be among the first 25" = empty (fewer than 25) |
experienceLevel, employmentType, jobFunction, industries | LinkedIn's job criteria, exact |
easyApply, isClosed, badge | Easy Apply or the company's site; no longer accepting applications; "Actively Hiring", "Be an early applicant" |
description, descriptionHtml | The full job description, plain text and / or HTML |
searchKeyword, searchLocation, searchUrl | Which search found the job |
isNew, scrapedAt | Job alerts: new since the last run |
Two table views: Jobs and Salaries (yearly min / max, currency, where the pay was found).
How it works
| Step | What happens |
|---|---|
| 1. Search | Each keyword in each location (or your pasted LinkedIn search links), with the filters LinkedIn still applies: date posted, company, Easy Apply, under 10 applicants. Up to 1 000 jobs per search, LinkedIn's limit |
| 2. Job pages | Every new job's public page: criteria, applicants, salary, description, company id, closed or open |
| 3. Filters | Remote / hybrid / on-site, job type, level, minimum yearly salary, staffing agencies, title words, companies. Jobs removed here are not charged |
| 4. Clean-up | The same job found by several searches appears once; reposts (same title, company and location) are skipped |
| 5. Job alerts | With Only new jobs on, jobs from earlier runs are skipped before their page is loaded |
Requests go through Apify Proxy, a fresh IP each time: LinkedIn limits one IP to about 15 requests, and a new IP per request passed 199 of 200 in our tests.
Why this Actor
| This Actor | Typical LinkedIn job scraper | |
|---|---|---|
| Remote / hybrid filter | ✅ Applied from the job text, with the evidence | ❌ Passed to LinkedIn, ignored since the 2026 AI search, or rewritten into keywords |
| Job type and experience level filters | ✅ Exact, from the job page | ⚠️ Ignored by LinkedIn or rewritten into keywords |
| Salary | ✅ LinkedIn's field + pay ranges in descriptions, yearly | ⚠️ LinkedIn's field only (about 1 US job in 8) |
| Minimum salary filter | ✅ Yearly, hourly pay converted | ❌ / ⚠️ LinkedIn's bands, ignored for visitors |
| Reposts and staffing agencies | ✅ Skipped, not charged | ⚠️ Some |
| Job alerts (only new jobs) | ✅ Built in, seen jobs not charged | ⚠️ Manual lists of job IDs |
| Company jobs by name or link | ✅ Name, link or id | ⚠️ Numeric id only |
| Filtered-out jobs | ✅ Free | ❌ Charged, or not filtered |
| Login or cookies | ✅ Not needed | ✅ / ⚠️ Some need your account |
Pricing
Pay per event, no subscription needed. Apify Scale and Business plans pay less:
| Event | Free and Starter plans | Scale plan | Business plan |
|---|---|---|---|
| Run start | $0.001 | $0.001 | $0.001 |
| Job (with its full job page) | $0.0005 | $0.00045 | $0.0004 |
1 000 jobs = $0.50. Free: jobs removed by your filters, reposts, jobs already seen by a job alert. Platform usage is included. Set a maximum cost per run in the run options: the Actor stops there.
Ready-made tasks
| Task | What it does |
|---|---|
| LinkedIn Remote Jobs Scraper | Remote-only jobs with salaries, reposts removed |
| LinkedIn Job Alerts for a Company | Every new job of chosen companies, schedule it daily |
| Export LinkedIn Jobs to Excel | A job search to a spreadsheet with yearly salaries |
Job alerts
LinkedIn's own job alerts cannot filter by salary or remote work and often miss jobs. Build your own:
- Set your search and filters, turn on Only new jobs, give the alert a Monitor name.
- Save it as a task and add a schedule (every morning, or every hour with "Posted within: Past hour").
- Send the results by email, Slack, Google Sheets, Make, Zapier or n8n with Apify integrations.
The first run returns the current jobs; next runs return only jobs not seen before. Seen jobs are skipped before their page is loaded and are not charged.
Other job tools
| Actor | What it does |
|---|---|
| Glassdoor Jobs Scraper | Glassdoor jobs with salary ranges and all company ratings, filter by work-life balance, job alerts |
| Wellfound Jobs Scraper | Startup jobs from Wellfound (AngelList): salary and equity as numbers, stage, YC, visa sponsorship, job alerts |
| StepStone Jobs Scraper | StepStone.de and .at jobs with salary estimates for most jobs, exact matches only, English jobs in Germany |
| XING Jobs Scraper | XING jobs in Germany, Austria and Switzerland: salaries per year, English-only jobs, more than 1,000 jobs per search |
| Instahyre Jobs Scraper | Instahyre jobs in India with posting dates (newest first), company Glassdoor ratings, jobs for freshers and remote jobs |
| Hirist Jobs Scraper | Hirist tech jobs in India with recruiter activity (applications, recruiter actions, last active), every job of a skill, AmbitionBox ratings |
| Dice Jobs Scraper | Dice.com tech jobs with W2, C2C and 1099 contract types, recruiter apply emails, visa sponsorship and reposts |
| Internshala Scraper | Internshala internships and fresher jobs in India with the guaranteed stipend split from incentives, red flags of fake listings and applicants per opening |
| Foundit Jobs Scraper | Foundit (Monster India) jobs in India, the Gulf and SEA: posted on Foundit or reposted from LinkedIn, original link, salary, red flags |
| Cutshort Jobs Scraper | Cutshort tech and startup jobs in India, live: recruiter's last activity with ghost jobs hidden, company or agency, salary in lakhs, red flags |
| Shine Jobs Scraper | Shine.com jobs in India with a real-or-fake verdict: imported feed jobs, hidden employers and jobs abroad flagged, company or agency, salary in lakhs, applicants |
| iimjobs Scraper | iimjobs management, finance and MBA jobs in India with recruiter actions and applicants (what iimjobs Pro sells), exact keyword matches, AmbitionBox ratings |
FAQ
Why not use LinkedIn's own remote filter? Since LinkedIn's 2026 AI job search, the remote (f_WT), job type (f_JT), experience (f_E) and salary (f_SB2) filters in a search link are ignored for visitors: the results are the same with or without them. We checked each of them in September 2026.
How is remote work detected? LinkedIn's public job page does not state it. The Actor looks at the title ("Senior Engineer (Remote)"), the location and clear phrases in the description ("this is a fully remote position", "hybrid role, 3 days a week in the office", "this is an on-site role"). Vague perks ("flexibility to work from home") do not count. workplaceTypeEvidence shows the words it used; jobs that do not say stay empty. In our test (100 US data engineer jobs, September 2026) 27 stated it clearly: 17 hybrid, 8 remote, 2 on-site. For remote-only lists, add "remote" to the keywords as well: LinkedIn then returns mostly remote jobs and the filter removes the rest.
Can I get more than 1 000 jobs? LinkedIn stops every search at 1 000. Split it: several locations (states or cities) or several keywords in one run. Jobs found twice are returned once.
Why is the salary a range in a foreign currency? Salaries stay in the job's currency; salaryYearlyMin / salaryYearlyMax convert hours, days and months to a year, not currencies.
Do I need a LinkedIn account? No. Only public job pages are read, as any visitor sees them.
What does isClosed mean? The job no longer accepts applications. Search results skip closed jobs; job links you paste are returned with isClosed: true.
Use with the API and AI agents
Run it from the Apify API, the JavaScript or Python client, n8n, Make or Zapier, or from AI agents through the Apify MCP server (Claude, ChatGPT, Cursor). One call: POST https://api.apify.com/v2/acts/s_actors~linkedin-jobs-scraper/run-sync-get-dataset-items with the input above returns the jobs as JSON. Set Job description to "None" for smaller answers.
Is it legal?
The Actor reads public LinkedIn job pages that anyone can open without an account, as a visitor does. It does not log in or collect personal profiles. Use the data according to the laws that apply to you (GDPR and similar) and LinkedIn's terms.