LinkedIn Jobs Scraper - Salaries, Descriptions, No Login
Pricing
from $1.38 / 1,000 jobs
LinkedIn Jobs Scraper - Salaries, Descriptions, No Login
LinkedIn jobs scraper by keywords and location, with LinkedIn's filters (date, remote, job type, experience, Easy Apply). Up to 1,000 jobs per search, full description, seniority, applicants, apply type, recruiter, and the salary from the posting as numbers. No login.
Pricing
from $1.38 / 1,000 jobs
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
LinkedIn job search by keywords and location (or your own LinkedIn search links), with LinkedIn's filters: date posted, remote / hybrid / on-site, job type, experience level, Easy Apply, under 10 applicants, companies. Up to 1,000 jobs per search. Every job comes with its full description, seniority, employment type, industries, applicants, apply type, the recruiter when LinkedIn shows one, and the salary written in the posting turned into numbers. No LinkedIn account, no cookies.
Price: $2.50 per 1,000 jobs, dropping to $0.35 per 1,000 on 17 November 2026, details included. The first 10 jobs of every run are free. Failed searches are never charged.
Free tier — 10 results free on every run
The first 10 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.
Measured, not promised
Same search on 17 October 2026, "data engineer" in United States, 200 jobs, on three Actors. All three returned the same 200 jobs.
| LinkedIn Jobs Scraper (om_kh) | curious_coder (most used) | valig | |
|---|---|---|---|
| Jobs returned | 200 of 200 | 200 of 200 | 200 of 200 |
| Description, seniority, employment type, industries | 200 | 200 | 200 |
| Salary as numbers (min, max, period) | 142 | 0 (19 as text) | 0 (19 as text) |
| Apply type (Easy Apply or external) | 200 | — | 200 |
| Recruiter (name, title, profile) | 5 | 5 | 5 |
| Time | 86 s | 161 s | 133 s |
The 142 salaries come from the pay the employer writes in the description, such as "The projected compensation range for this position is $77,600.00 to $176,000.00 (annualized USD)".
A second search, "registered nurse" in Texas, past week, full-time: 50 of 50 jobs in 32 seconds.
What does this LinkedIn Jobs scraper do?
Type job titles or keywords and a location, or paste links copied from linkedin.com/jobs/search. Each keyword is searched in each location, so you can go past LinkedIn's 1,000 results per search by splitting a country into cities.
For each job you get one clean row:
title,companyName,companyUrl,companyLogo,location,postedDate(exact day),postedAgo;description(plain text) anddescriptionHtml;seniorityLevel,employmentType,industries;applicants("Over 200 applicants") andapplicantsCount;applyType:EASY_APPLYorEXTERNAL;salaryMin,salaryMax,salaryPeriod,salaryTextwhen the posting states its pay, andsalaryShownwhen LinkedIn displays a salary;benefits("Actively Hiring"), and the recruiter (jobPosterName,jobPosterTitle,jobPosterProfileUrl) when LinkedIn shows one;jobUrl,jobIdand thesearchQuerythat found it.
Why use it
- Salaries you can sort. Pay written in the posting becomes numbers.
- LinkedIn's own filters, applied before the jobs are read.
- Many searches in one run. Keywords x locations, up to 50 searches.
- Only new jobs. Turn on
onlyNewJobsand schedule the run: each run returns only jobs you have not seen yet. - No account. It reads LinkedIn's public job pages, logged out. It never logs in and never solves a CAPTCHA.
- Pay only for jobs delivered. Failed searches are never charged, and
maxTotalChargeUsdcaps every run.
Price
| Price per 1,000 jobs | |
|---|---|
| Until 16 November 2026 | $2.50 |
| From 17 November 2026 | $0.35 |
Every job comes with its details (description, seniority, applicants, salary as numbers) at that price. The first 10 jobs of each run are free. Set Max cost per run (maxTotalChargeUsd) and the run stops before it spends more. Errors are never charged.
Example input
{"keywords": ["data engineer", "analytics engineer"],"locations": ["New York", "Austin", "Remote"],"datePosted": "pastWeek","workplace": ["remote", "hybrid"],"experienceLevels": ["midSenior"],"maxJobsPerSearch": 200,"includeDetails": true}
Tips and limits
- LinkedIn shows at most 1,000 jobs per search: split by location or date to get more.
- The external apply link is shown by LinkedIn only to signed-in members, so
jobUrlis the LinkedIn page of the job. - When LinkedIn slows a request down (429), the run switches to another address and waits.
Use it from code (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/linkedin-jobs-scraper").call(run_input={"keywords": ["data engineer"], "location": "United States"})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["title"], job.get("salaryMin"), job["jobUrl"])
Integrations: n8n, Make, Zapier, Google Sheets
- n8n — the official Apify node, operation Run Actor and get dataset, Actor
om_kh/linkedin-jobs-scraper. - Make — Apify › Run an Actor, then Apify › Get Dataset Items.
- Zapier — Apify › Run Actor; map the dataset items into your next step.
- Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
- Schedules — run it every hour or day from Schedules in Apify Console.
Use it from an AI agent (MCP and x402)
Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at https://mcp.apify.com and add this Actor, om_kh/linkedin-jobs-scraper, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.
AI agents that pay with x402 can run it too, without an Apify account: the Actor charges only per result delivered, so an agent pays exactly for what it gets.
How to use it in 3 steps
- Click Try for free; the form opens with a ready example in Job titles or keywords.
- Optional: change the other fields; every one has a description and a sensible default.
- Click Start and download the results as JSON, CSV or Excel, or read them from the API.
Output example
One real row from a run on Apify:
{"type": "job","jobId": "4454862094","title": "Senior Data Engineer, DX","companyName": "Atlassian","companyUrl": "https://au.linkedin.com/company/atlassian","companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQGeyLL6crkJKg/company-logo_100_100/company-logo_100_100/0/1735593604612/atlassian_logo?e=2147483647&v=beta&t=4riZdTtd16Oeoew0_mSThLQak3uyYv2-ep73cztBjbo","location": "Salt Lake City, UT","postedDate": "2026-09-26","postedAgo": "3 weeks ago","salaryShown": null,"benefits": "Actively Hiring","jobUrl": "https://www.linkedin.com/jobs/view/4454862094","searchQuery": "data engineer | United States","applicants": "Over 200 applicants","applicantsCount": 200,"description": "Overview\n\nWorking at Atlassian\n\nAtlassians can choose where they work – whether in an office, from home, or a combination of the two. That way, Atlassians have more control over supporting their family, personal goals, a...","descriptionHtml": "<strong>Overview<br><br></strong><strong>Working at Atlassian<br><br></strong>Atlassians can choose where they work – whether in an office, from home, or a combination of the two. That way, Atlassians have more control o...","seniorityLevel": "Mid-Senior level","employmentType": "Full-time","industries": "Software Development","applyType": "EXTERNAL"}
FAQ
Is it legal to scrape LinkedIn? This Actor collects only publicly available LinkedIn data and never logs in. You are responsible for how you use it; check LinkedIn's terms and your local law (GDPR, CCPA) if you store personal data, and ask a lawyer if unsure.
Do I need an account, cookies or an API key? No. You only need an Apify account to run it.
What data do I get? Jobs with title, company, place, exact date, full description, seniority, employment type, applicants, apply type and salary. Download it as JSON, CSV, Excel, HTML or XML, or read it from the API.
Am I charged when something fails? No. An input that fails is listed with its reason in the run summary and is never charged.
Can I run it on a schedule? Yes. Create a schedule in Apify Console (hourly, daily, weekly) and connect webhooks, Google Sheets, Slack, n8n, Make or Zapier.
Can I use it from Python, JavaScript or an AI agent?
Yes: see the code samples above, or connect AI agents through MCP with the linkedin_jobs tool.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.