LinkedIn Jobs Scraper - No Login, With Applicant Counts
Pricing
from $4.00 / 1,000 job scrapeds
LinkedIn Jobs Scraper - No Login, With Applicant Counts
Scrape LinkedIn job listings without a login or cookies. Title, company, location, posting date, salary and the direct job URL - plus the full description, seniority, employment type, industry and how many people have applied.
Pricing
from $4.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Renzo Madueno
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
LinkedIn Jobs Scraper — no login, with applicant counts
Scrape LinkedIn job listings without an account, a password or a cookie. Give it a job title and a location and it returns every posting LinkedIn shows to a logged-out visitor, with the direct link to each job.
It also answers the question most job scrapers leave out: how many people have already applied.
What you get per job
| Field | Example |
|---|---|
title | Data Engineer, AWS DC Central Operations |
company | Amazon Web Services (AWS) |
location | Seattle, WA |
postedAt | 2026-08-29 |
applicants | 31 |
salary | $120,000/yr - $160,000/yr (when LinkedIn shows it) |
url | direct link to the posting |
isPromoted | true when the company paid to place it |
Switch on Fetch the full job page and each row also carries the complete job description,
seniority, employmentType, jobFunction and industries.
Why the applicant count matters
A role with 12 applicants and one with 600 are not the same opportunity, and LinkedIn only shows that number on the job page itself. If you are tracking a market, sourcing candidates or deciding where to apply, it is the single most useful number on the page — and it is in every row here.
isPromoted works the same way: promoted jobs sit at the top because someone paid for the slot,
not because they match your search better. Knowing which is which changes how you read the list.
What it will not do
Said here rather than discovered halfway through a run:
- The remote-work filter does not work. LinkedIn ignores
f_WTon the logged-out endpoint — the same ten jobs come back with and without it — so this Actor does not offer a filter it cannot honour. Filterlocationfor "Remote" instead, or filter the output yourself. - LinkedIn caps a search at roughly 400-500 jobs. Past that it stops serving results no matter what you ask for. To go wider, split the search: more keywords, or narrower locations.
- No private data. Only what LinkedIn publishes to visitors who are not signed in. No recruiter contacts, no candidate profiles, no gated fields.
The date filter does work: "Past 24 hours" returns a completely different set of postings.
Typical uses
- Recruiters watching which companies are hiring for a role, and how much competition each posting already has.
- Job seekers filtering for postings from the last 24 hours with few applicants.
- Market and salary research — pull a title across several cities and compare the salary ranges LinkedIn discloses.
- Competitor tracking — watch a rival's open roles to see which teams they are growing.
Input
{"keywords": ["data engineer", "machine learning engineer"],"location": "United States","maxResultsPerKeyword": 100,"includeDescription": true,"datePosted": "r86400","sortBy": "DD"}
Each keyword is searched separately. A job that appears in more than one page of the same search is delivered — and charged — only once.
Output
{"jobId": "4460531927","title": "Data Engineer, AWS DC Central Operations","company": "Amazon Web Services (AWS)","location": "Seattle, WA","postedAt": "2026-08-29","isPromoted": false,"applicants": 31,"seniority": "Not Applicable","employmentType": "Full-time","industries": "IT Services and IT Consulting","descriptionLength": 5323,"url": "https://www.linkedin.com/jobs/view/..."}
Pricing
Pay per event: a small charge to start the run, then a charge per job delivered. A job that comes back twice in the same search is charged once. If a run delivers nothing, there is nothing to charge for.
Notes on reliability
LinkedIn serves this endpoint to residential connections and turns away datacenter traffic, so the Actor routes every request through a residential proxy and retries from a different IP when it is refused. That is why a run occasionally takes longer than you would expect: it is working through refusals rather than returning you an empty result.
Common jobs to be done
Each of these is a real query someone types into a scraper marketplace. The Actor answers all of them from the same run, so they are listed plainly rather than buried in a feature table.
Find LinkedIn jobs posted in the last 24 hours
Set datePosted to "Past 24 hours" and sortBy to "Most recent". Verified: the filter returns a
completely different set of postings, not the same list reordered. Useful for a daily digest of
new openings before the applicant count climbs.
See how many people applied to a LinkedIn job
Turn on Fetch the full job page. Every row then carries applicants. A posting with 12
applicants and one with 600 are different opportunities, and LinkedIn only shows that number on
the job page itself.
Scrape LinkedIn jobs without an account or cookies
No login, no session cookie, no password. The Actor reads only what LinkedIn serves to logged-out visitors, through its public jobs endpoint.
Export LinkedIn job descriptions in bulk
With the full job page enabled, description carries the complete posting text — around 5,700
characters on average — plus seniority, employmentType, jobFunction and industries.
Track which companies are hiring for a role
Run the same keyword across several locations and group by company. Because isPromoted is
exposed, you can tell a company that paid for placement from one that simply matches the search.
Compare salaries across cities for the same job title
Run one keyword with different location values. salary is filled whenever LinkedIn discloses
a range on the card; many postings do not publish one, so treat it as a bonus field rather than a
guaranteed one.
Monitor a competitor's open roles
Use the company name as the keyword. New postings appear as they are published, with the date each one went live.
Build a recruiting pipeline from LinkedIn job data
Every row carries jobId and a direct url, so runs can be diffed against each other to detect
new, changed or removed postings between days.