Linkedin Jobs Scraper - No Login
Pricing
from $0.70 / 1,000 results
Linkedin Jobs Scraper - No Login
Scrape LinkedIn job listings by keyword, location or search URL, no login needed. Get title, company, salary, skills, applicants, recruiter and apply link. Find companies that are hiring for lead generation, recruiting and job boards. No duplicates. Export to CSV, Excel or JSON.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
PRS
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
7 hours ago
Last modified
Categories
Features
Share
💼 LinkedIn Jobs Scraper - No Login
Get fresh LinkedIn job postings as clean, structured data: title, company, salary, skills, years of experience, applicant count, recruiter and apply link for every job. Search by keyword and location, or paste a LinkedIn search URL with all your filters already set.
- 🔓 No login, no cookies, no LinkedIn account. You get the same jobs anyone can see on LinkedIn without signing in, and your own account is never touched.
- 💸 $0.70 per 1,000 results. Many LinkedIn job scrapers charge $1-$5 per 1,000.
- 🧩 41 structured data points per job: a salary breakdown (min, max, currency, period), years of experience, skills, applicant count and competition level, recruiter name and profile, Easy Apply vs. external apply, and more.
- 🔁 No duplicates. If several of your searches find the same job, you get it (and pay for it) only once, along with a list of the searches that found it.
🚀 What can you use it for?
- 🤖 AI recruiting agents: give your agent live job data through the Apify MCP server. Claude, ChatGPT, Cursor and other MCP clients can call this Actor as a tool and read the structured results directly.
- 🎯 Lead generation and sales intelligence: see which companies are hiring right now, for which roles and where, and who posted the job. Hiring is a strong buying signal for HR tech, recruiting agencies, dev tools and B2B services.
- 📰 Job board aggregation: keep a niche job board, newsletter or Slack channel filled with fresh, de-duplicated postings on a schedule.
- 💰 Salary benchmarking: collect published pay ranges as numbers (min, max, currency, period) and compare them by role, seniority, city and company.
- 📊 Hiring-market research: find out which skills employers ask for, how much experience they expect and how crowded each role is.
- 🔍 Job hunting on autopilot: run a daily search and get only the jobs posted in the last 24 hours.
🎯 Two ways to search
A. Keywords × locations
Add one or more Keywords and Locations. Every keyword is searched in every location, so 3 keywords × 2 locations gives you 6 searches.
{"keyword": ["Data Engineer", "Analytics Engineer", "dbt Developer"],"location": ["United States", "Canada"],"date": "past7days","maxJobsPerSearch": 100,"workType": ["remote"],"experienceLevel": ["associate", "mid-senior"],"jobTitleExclude": ["Intern", "Principal"]}
You can leave Locations empty to search a keyword everywhere, or leave Keywords empty to get every job in a location.
B. Paste LinkedIn URLs
Set up a search on linkedin.com/jobs with any filters you like, such as specific companies, industries, locations, remote, date posted or experience level. Then copy the URL from your browser into LinkedIn URLs. Every filter in the URL is kept exactly as you set it.
You can also paste single job URLs (linkedin.com/jobs/view/...) to scrape exactly those jobs.
{"startUrls": [{ "url": "https://www.linkedin.com/jobs/search/?keywords=product%20manager&geoId=103644278&f_C=1441%2C1586&f_WT=2&f_TPR=r86400" },{ "url": "https://www.linkedin.com/jobs/view/4471646111/" }],"maxJobsPerSearch": 200}
You can combine both modes in one run. Jobs found by several searches or URLs are still saved only once.
⬇️ Input
| Field | What it does |
|---|---|
| Keywords | Job titles or search terms, e.g. Backend Developer, SAP FICO, React Native. |
| Locations | Countries, states, cities or Worldwide, e.g. India, Berlin, Germany, Texas, United States. |
| LinkedIn URLs | LinkedIn job search URLs (all filters kept) and/or job URLs. |
| Date posted | Any time, past 24 hours, past week or past month. |
| Max jobs per search | How many jobs to collect for each keyword + location pair or search URL. Leave empty to collect everything LinkedIn shows, up to 1,000 per search. |
Filters applied by LinkedIn (for keyword searches; pasted URLs keep their own): job type, experience level, workplace type (on-site, remote, hybrid), Easy Apply only, fewer than 10 applicants, only these companies, sort by most recent or most relevant.
Leave out jobs you don't want: exclude companies (e.g. staffing agencies), title words (e.g. Senior, Lead) or locations. Left-out jobs are skipped early, so they don't slow down your run or cost you anything.
| Option | Default | What it does |
|---|---|---|
| Fetch job details | On | Adds the full description, salary, skills, experience, applicants, seniority, industry, recruiter and apply link. Turn it off for a quick, cheap list of titles, companies and links. |
| Include description HTML | On | Keeps the formatted description (bullets, bold) next to the plain text. |
| Save only unique jobs | On | Turn off to save a job once for every search that found it. |
| Keywords × locations | Max jobs per search | You get up to |
|---|---|---|
| 1 × 1 | 100 | 100 jobs |
| 2 × 1 | 100 | 200 jobs |
| 3 × 2 | 50 | 300 jobs |
⬆️ Output
Results go to the run's dataset. Open the Output tab to browse them as a table, or export them as JSON, CSV, Excel, XML or HTML. There are two ready-made views:
- Overview: logo, title, company, location, workplace, type, seniority, years of experience, salary, posting date, applicants, apply type, apply link, job link and description.
- Skills and requirements: skills, the experience line from the posting, industry, salary breakdown, competition, who posted the job, their profile, the apply link and which searches found it.
Example job
{"jobId": "4471646111","jobTitle": "Senior Data Engineer (Python, Spark)","jobUrl": "https://www.linkedin.com/jobs/view/4471646111/","companyName": "Northwind Analytics","companyId": "10452871","companyUrl": "https://www.linkedin.com/company/northwind-analytics/","companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQ.../company-logo_100_100/...","location": "Austin, TX","workplaceType": "Hybrid","employmentType": "Full-time","seniorityLevel": "Mid-Senior level","experience": {"minYears": 5,"maxYears": 8,"level": "Mid-Senior level","text": "5-8 years of experience building data pipelines in Python and Spark."},"industry": "Software Development","salary": {"min": 145000.0,"max": 175000.0,"currency": "USD","period": "YEAR","text": "$145,000.00/yr - $175,000.00/yr"},"postedDate": "2026-10-30","postedTimeAgo": "2 days ago","applyType": "Easy Apply","applyUrl": "https://www.linkedin.com/jobs/view/4471646111/","applicants": {"count": 38,"competition": "medium","text": "38 applicants"},"isClosed": false,"skills": ["Python", "Spark", "SQL", "Airflow", "AWS", "Kafka", "dbt", "CI/CD"],"insights": ["Actively Hiring"],"recruiter": {"name": "Jordan Lee","title": "Technical Recruiter at Northwind Analytics","profileUrl": "https://www.linkedin.com/in/jordan-lee-recruiter/"},"jobDescription": "About the role\n\nWe're looking for a Senior Data Engineer to design and run the pipelines behind our analytics platform...\n\nWhat you'll need\n- 5-8 years of experience building data pipelines in Python and Spark.\n- Strong SQL and experience with Airflow or a similar orchestrator. ...","jobDescriptionHtml": "<strong>About the role</strong><br><br>We're looking for a Senior Data Engineer to design and run the pipelines behind our analytics platform... ","searchQuery": "Data Engineer - United States","matchedSearches": ["Data Engineer - United States", "Analytics Engineer - United States"],"sourceSearchUrl": "https://www.linkedin.com/jobs/search/?keywords=Data%20Engineer&location=United%20States&f_TPR=r604800","detailsFetched": true,"scrapedAt": "2026-11-01T09:14:52Z"}
Good to know about the fields
salaryis filled when the employer shows a pay range on LinkedIn. You get the lowest and highest pay (min,max), thecurrency(e.g. USD, EUR), how often it's paid (period: YEAR, MONTH, WEEK, DAY or HOUR) and the originaltext.experienceis read from the title and description. "3-6 years" becomesminYears: 3, maxYears: 6, and "5+ years" becomesminYears: 5, maxYears: null.textis the exact line it came from.levelis worked out from the minimum years: under 2 is Entry level, 2-4 is Associate, 5+ is Mid-Senior level.seniorityLevelis the level the employer picked on LinkedIn. Employers often leave it at a default, soexperienceis usually the better guide for 0-2 year roles.applyTypeis Easy Apply or External Apply. For Easy Apply jobs,applyUrlis the LinkedIn job page where you apply. For external jobs, LinkedIn shows the employer's own application link only to signed-in members, soapplyUrlisnulland the job page links through to it.applicants.countis the number LinkedIn shows. When LinkedIn says "Over 200 applicants", you get 200, and the real number may be higher.competitionis low under 25, medium for 25-100 and high above 100.recruiteris the person LinkedIn shows as the job poster, when there is one.workplaceType(on-site, remote or hybrid) is exact when you filter by just one workplace type. Otherwise it is worked out from the job description, and left empty when the posting doesn't say.searchQuery,matchedSearchesandsourceSearchUrltell you which of your searches found the job. For pasted search URLs,searchQueryis the search URL itself.- When a job doesn't have some information, that field is simply left empty, so your spreadsheets keep the same columns from run to run.
🔌 Integrations and API
- AI agents (MCP): connect any MCP client to the Apify MCP server and add this Actor as a tool.
- No-code: send results to Google Sheets, Slack, Airtable, HubSpot, Zapier, Make or n8n with Apify integrations, or trigger your own workflow with a webhook when a run finishes.
- Your own code: developers can start runs and download results through the Apify API.
- Schedules: run it every morning with Date posted = Past 24 hours to get only new jobs.
❓ FAQ
Do I need a LinkedIn account or cookies?
No. You don't need to sign in or share anything from your LinkedIn account.
How am I charged?
You pay per result saved to the dataset: $0.70 per 1,000 jobs. Duplicates across your searches are saved once. Jobs whose details couldn't be downloaded are skipped and not charged. The run stops automatically when it reaches the maximum charge you set.
How many jobs can I get?
LinkedIn shows up to 1,000 jobs per search. To collect more, split large locations into cities or states (e.g. New York, Austin and Seattle instead of United States), add more keywords, or narrow searches with date and other filters.
Can I use the filters from LinkedIn's website that aren't in the form?
Yes. Apply them on linkedin.com, copy the link from your browser and paste it into LinkedIn URLs. Company, industry, location, distance and every other filter you picked is kept.
Will my run get blocked?
The Actor is built to keep going. If LinkedIn turns a request away, it waits a moment and tries again, so even long searches finish instead of stopping partway through.
Why are some salaries empty?
Many employers, especially outside the US, don't publish pay on LinkedIn. Salary fields are filled only when LinkedIn shows a range.
How can I make runs faster and cheaper?
- Use Date posted and the LinkedIn filters so fewer jobs need to be collected.
- Use the exclusion fields to skip companies, titles and locations before they are downloaded.
- Turn off Fetch job details if titles, companies and links are enough.
- Set Max jobs per search to the number you actually need.
Can I connect it to other tools?
Yes. You can send results to Google Sheets, Slack, Zapier, Make, n8n, Airtable and many other tools using Apify integrations, or start your own workflow automatically when a run finishes. Developers can also start runs and download results through the Apify API.
💬 Feedback and support
Found a bug, missing a field or need a filter that isn't here? Open an issue in the Issues tab and we'll take a look.