Advanced LinkedIn Jobs Scraper - Applicants & Full Detail
Pricing
from $1.00 / 1,000 job listings
Advanced LinkedIn Jobs Scraper - Applicants & Full Detail
Every LinkedIn job behind any search URL: title, company, location, seniority, function, industries, employment type, applicant count, posted date, easy-apply and the full job description. 29 fields per job, straight from the search you already ran.
Pricing
from $1.00 / 1,000 job listings
Rating
5.0
(1)
Developer
Zyra
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Advanced LinkedIn Jobs Scraper
Every job behind a LinkedIn search — with the detail the search page hides.
Search LinkedIn Jobs the way you normally would. Filter by keywords, location, date posted, experience level, remote, salary. Paste the URL. Get every job behind it as structured data, 29 fields each.
Why this one
The full job description, not a snippet. Every row carries the complete posting text as it appears on LinkedIn, alongside a short summary — so you can search, classify or run a model over the actual requirements rather than a truncated preview.
How contested the job is. job_num_applicants gives LinkedIn's live
applicant count, so you can tell a role with 4 applicants from one with 400.
That is the single most useful signal on a job board and most scrapers drop it.
Structured, not free text. Seniority level, job function, employment type and industries come back as their own fields on every listing — already normalised by LinkedIn, so filtering and grouping needs no parsing.
Easy-apply flagged. is_easy_apply and application_availability tell you
whether a job takes a one-click application and whether it is still open.
Your search, your filters. Keywords, location, date posted, experience level, remote, salary — whatever you set on LinkedIn is respected. If the search works in your browser, it works here.
What you get
The job — title, full description, summary, LinkedIn URL, posting ID, standardised title ID, and the date and relative time it was posted.
The classification — seniority level, job function, employment type and industries, as separate fields.
The company — name, LinkedIn company ID, company page URL and logo.
The competition — number of applicants, whether applications are still open, and whether it is an easy-apply listing.
The location — job location and two-letter country code.
The pay, where LinkedIn publishes it — the base pay range as text, a
structured base_salary with currency and pay period, and any employer pay
notes.
Sample output
One real row, abridged:
{"job_title": "Senior Software Engineer – Go (Golang)","company_name": "General Motors","job_location": "Warren, MI","job_seniority_level": "Mid-Senior level","job_employment_type": "Full-time","job_function": "Engineering and Information Technology","job_industries": "Motor Vehicle Manufacturing","job_num_applicants": 137,"is_easy_apply": false,"application_availability": true,"country_code": "US","url": "https://www.linkedin.com/jobs/view/...","discovery_input": { "url": "https://www.linkedin.com/jobs/search?keywords=Software%20Engineer&location=United%20States" }}
How completely listings are filled in
LinkedIn does not publish every field for every job, so neither does this. From a 25-listing sample run:
| Field group | Present on |
|---|---|
| Title, company, location, description, seniority, function, industries, employment type, applicant count, posted date, easy-apply, country | 100% |
| Pay range, structured salary and pay notes | ~24% |
| Job poster profile | not populated |
Pay is the field to be realistic about: roughly a quarter of listings carry it, because only some employers and jurisdictions publish salary on LinkedIn. Everything else you see above came back on every job in the sample.
Fields LinkedIn has no data for come back empty rather than guessed at. Export to JSON, CSV, Excel or XML, or pull it straight from the API.
How it works
- Search jobs on LinkedIn and copy the URL from your address bar.
- Paste it into LinkedIn search URLs. Add more URLs to run several searches at once.
- Set a limit if you want one, and run it.
Input
| Field | Required | What it does |
|---|---|---|
| LinkedIn search URLs | yes | One or more LinkedIn jobs search URLs. Every job behind each one is collected. |
| Max jobs per URL | no | Stop after this many jobs from each search. Prefilled at 10, so a first run is a quick sample. Raise it up to 1,000, or clear the field to collect 1,000 per URL. |
| Max jobs in total | no | Stop the whole run after this many jobs, across all searches. Up to 10,000; empty means 10,000. |
Both limits are applied during collection rather than to the results afterwards, so a limited run genuinely does less work and finishes sooner. Every run is bounded, so a broad search can never run away with itself.
Run it once to see the shape of the data, then open it up. The prefilled 10 jobs per URL keeps a first run quick and cheap.
Built to be trusted with real work
Stop a run at any time and keep what it found. Aborting stops the collection and delivers every job completed up to that moment. Nothing is abandoned and nothing half-fetched is passed off as a result.
You are never charged for a job you did not receive. Listings that failed to fetch are reported separately and never reach your dataset.
Runs are self-limiting. Time budgets scale with the size of the request.
Clean, stable output. Field names come straight from the source schema and are not renamed or reshaped between runs.
No invented data. A field LinkedIn does not publish comes back empty. Nothing is inferred, averaged or filled in to make a row look complete.
What people use it for
- Recruiting intelligence — track who is hiring, for what, where, and how much competition each role has.
- Talent market research — measure demand by function, seniority and industry across regions over time.
- Competitor monitoring — watch a company's hiring as a leading indicator of where it is investing.
- Pay benchmarking — collect the listings that do publish salary and compare by title, level and location.
- Lead generation — find companies hiring for roles that signal they need what you sell.
Free accounts
On a free Apify plan a run collects up to 10 job listings, whatever the limits above say. Nothing beyond that is collected, so a capped run finishes quickly. Upgrade to a paid plan and the limits above apply in full.
Good to know
- A search URL is checked for shape, not for results. Whether a search returns any jobs is not knowable until collection runs.
- Repeated search URLs are collected once, so a duplicate never costs twice.
- How long a run waits is worked out from how many jobs it could collect — both limits and the number of search URLs. There is no setting to guess at.
- If a search cannot be crawled, it is reported in the log and counted in the run summary rather than silently dropped.