LinkedIn Jobs Scraper — No Login, Full Job Details
Pricing
$1.00 / 1,000 jobs
LinkedIn Jobs Scraper — No Login, Full Job Details
Scrape LinkedIn job postings without login or cookies: title, company, location, salary, posted date, applicants, seniority, employment type, industries and full description. Filter by date, remote/hybrid, job type and experience. $1 per 1,000 jobs.
Pricing
$1.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Technical Dost Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
LinkedIn Jobs Scraper extracts job postings from LinkedIn's public job search, without a LinkedIn account, cookies or login. Search by keywords and location, filter by date posted, remote/hybrid/on-site, job type and experience level, and get every job with title, company, location, salary (when published), posted date, number of applicants, seniority level, employment type, industries and the full job description. Ideal for job boards, recruiters, sales teams tracking hiring signals and labour-market research.
What you get
- No login, cookies or LinkedIn account needed: only public job listings are read.
- Full job details included: description (clean text and HTML), seniority level, employment type, job function, industries and applicant count.
- Filters: date posted (24 hours, week, month), workplace (remote, hybrid, on-site), job type, experience level, Easy Apply only, newest first.
- Several keywords and locations in one run, with de-duplication across searches.
- Or paste LinkedIn job search URLs from your browser, filters included.
- Pay only per job saved: $1 per 1,000 jobs.
How to use LinkedIn Jobs Scraper
- Enter Keywords such as
data engineerormarketing manager. - Enter Locations (
United States,London,Remote...). - Optionally set Date posted, Workplace type, Job type and Experience level.
- Set Maximum jobs per search and run. Download results as Excel, CSV or JSON, or schedule the Actor daily to catch new jobs.
Input example
{"keywords": ["data engineer"],"locations": ["United States"],"maxJobs": 25,"datePosted": "past week"}
All fields are described in the Input tab.
Output example
{"jobId": "4454862094","title": "Senior Data Engineer, DX","company": "Atlassian","companyUrl": "https://au.linkedin.com/company/atlassian","location": "Salt Lake City, UT","salary": null,"postedAt": "2026-10-18","postedText": "4 days ago","benefits": "Actively Hiring","applicants": 200,"applicantsText": "Over 200 applicants","seniorityLevel": "Mid-Senior level","employmentType": "Full-time","jobFunction": null,"industries": "Software Development","description": "Overview\nWorking at Atlassian\nAtlassians can choose where they work – whether in an office, from home, or a combination of the two...","jobUrl": "https://www.linkedin.com/jobs/view/4454862094/","searchKeyword": "data engineer","searchLocation": "United States","scrapedAt": "2026-10-22T23:05:00.000Z"}
Output fields
| Field | Description |
|---|---|
jobId | LinkedIn job ID. |
title | Job title. |
company | Hiring company. |
companyUrl | Company's LinkedIn page. |
location | Job location. |
salary | Salary range when published. |
postedAt | Date posted (YYYY-MM-DD). |
postedText | Posted time as shown, e.g. 3 days ago. |
benefits | Highlights such as Actively Hiring. |
applicants | Number of applicants (approximate). |
applicantsText | Applicant count as shown. |
seniorityLevel | Seniority level. |
employmentType | Employment type. |
jobFunction | Job function. |
industries | Industries. |
description | Full job description as text. |
descriptionHtml | Full job description as HTML. |
companyLogo | Company logo URL. |
jobUrl | Job posting URL. |
searchKeyword | Keyword that found the job. |
searchLocation | Location searched. |
scrapedAt | Time of extraction. |
Export results as JSON, CSV, Excel, XML or HTML, or read them with the API.
Use cases
- Feed a job board or newsletter with fresh postings every day.
- Recruiters and agencies: find open roles and the companies hiring for them.
- Sales teams: use hiring as a buying signal (for example companies hiring RevOps or data engineers).
- Salary and labour-market research by role, location and seniority.
How much does LinkedIn Jobs Scraper cost?
This Actor uses pay-per-event pricing: $0.001 per job ($1 per 1,000). Platform usage is included. Full job details (description, seniority, applicants) are included in the price. Searches with no results are free.
Set Maximum cost per run in the run options to cap your spend; the Actor stops when the limit is reached.
Use LinkedIn Jobs Scraper with AI agents (MCP)
Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through the hosted Apify MCP server:
$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/linkedin-jobs-scraper-no-login" --header "Authorization: Bearer YOUR_APIFY_TOKEN"
Or in a JSON MCP config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=technicaldost/linkedin-jobs-scraper-no-login","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
The tool is named technicaldost--linkedin-jobs-scraper-no-login. Ask your agent, for example, to "run LinkedIn Jobs Scraper with {"keywords": ["data engineer"], "locations": ["United States"], "maxJobs": 25, "datePosted": "past week"}".
Run LinkedIn Jobs Scraper via API
curl -X POST "https://api.apify.com/v2/acts/technicaldost~linkedin-jobs-scraper-no-login/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["data engineer"], "locations": ["United States"], "maxJobs": 25, "datePosted": "past week"}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("technicaldost/linkedin-jobs-scraper-no-login").call(run_input={"keywords": ["data engineer"], "locations": ["United States"], "maxJobs": 25, "datePosted": "past week"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('technicaldost/linkedin-jobs-scraper-no-login').call({"keywords": ["data engineer"], "locations": ["United States"], "maxJobs": 25, "datePosted": "past week"});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Integrations
Schedule runs (daily, hourly) in Apify Console and send results to Google Sheets, Slack, Make, Zapier, n8n, Airbyte or your own webhook.
FAQ
Do I need a LinkedIn account or cookies?
No. The Actor reads LinkedIn's public job search, the same pages anyone can open without logging in. Your own account is never used, so it cannot be restricted.
How many jobs can I get per search?
Up to 1,000 per keyword and location, which is the most LinkedIn shows for one search. Use more specific keywords, locations or filters to cover more jobs.
Why is the salary empty for some jobs?
LinkedIn only shows a salary when the employer publishes one. The field is filled whenever it is shown publicly.
Can I get only new jobs every day?
Yes: set Date posted to Past 24 hours and schedule the Actor daily in Apify Console.
Is it legal to scrape this data?
The Actor collects publicly available information only and does not log in or bypass access controls. Use the data in line with the website's terms and the laws that apply to you, especially when processing personal data.