LinkedIn Jobs Scraper - Salaries, Applicants & Companies
Pricing
from $0.60 / 1,000 job scrapeds
LinkedIn Jobs Scraper - Salaries, Applicants & Companies
Scrape LinkedIn jobs by keyword, location, company or search URL: salary, applicants, seniority, job type, remote/hybrid, full description and company profile. Filters LinkedIn ignores are checked on every job and never charged. No login. From $0.60 per 1,000 jobs.
Pricing
from $0.60 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Eimantas V
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: title, company, location, salary, applicants, seniority, employment type, remote or hybrid, the full description and, if you want it, the hiring company's profile. Search by keyword, location and company, or paste LinkedIn job-search, job and company URLs. No login, no API key, no browser, from $0.60 per 1,000 jobs.
{"title": "Marketing Manager – Assurance Services","companyName": "BDO Canada","location": "Toronto, Ontario, Canada","employmentType": "Full-time","experienceLevel": "Not Applicable","industries": "Financial Services","salaryMin": 93000,"salaryMax": 141000,"salaryCurrency": "CAD","salaryPeriod": "year","postedAt": "2026-10-01T18:12:38.124Z","applicantsCount": 200,"applyType": "EXTERNAL","experienceYearsMin": 3,"companyWebsite": "http://www.bdo.ca","companySize": "1,001-5,000 employees","companyFollowers": 159801,"url": "https://www.linkedin.com/jobs/view/4459849626/"}
Measured on Apify: 1,000 jobs with full descriptions in 7.4 minutes; 150 jobs from 4 searches in 35 seconds.
What does LinkedIn Jobs Scraper do?
It runs LinkedIn's public job search for every keyword and location you give it, reads each job's full posting, and returns one clean row per job with more than 60 fields. LinkedIn's public search quietly ignores most of its own filters (job type, experience level, remote, industry, salary), so this scraper checks those filters on every posting itself and drops the jobs that do not match. You never pay for a job a filter removed.
- Every way to search: keywords x locations, companies by name, URL or id, pasted LinkedIn search URLs with their filters, single job URLs, and whole company job lists.
- Filters that actually work: job type, experience level, remote / hybrid / on-site, industry, minimum salary, maximum applicants, staffing agencies, title include / exclude, company and location exclude, company size, followers, type and founding year.
- More data per job: salary parsed into min / max / currency / period (also from the description text), applicants and applicants per day, years of experience asked for, contact emails, Easy Apply, closed jobs, city / region / country code, and the company's website, size, followers, headquarters address and recent posts.
- Only new jobs: schedule it daily and it returns, and charges for, only postings it has not returned before.
- Past LinkedIn's 1,000-job ceiling: "Split by city" runs a country-wide search in its main cities too.
- Only pay for results. Duplicates, filtered-out jobs, jobs seen in earlier runs and searches that fail are never charged.
- Built for automation. Run it on a schedule, call it from the API, or connect it to Make, Zapier, n8n, Google Sheets or an AI agent through Apify's MCP server.
Why it is fast and cheap
LinkedIn's job pages work without an account. This scraper calls the same lightweight endpoints LinkedIn's own logged-out job search uses: one request returns 10 job cards, and one more request returns a job's full posting (about 9 KB compressed). No browser is started, so a run uses a fraction of the memory and time of browser-based scrapers. Requests are spread over several proxy addresses and slow down automatically when LinkedIn rate-limits, so long runs finish instead of failing halfway.
What data can you extract from LinkedIn?
| Field | Example | What it is |
|---|---|---|
title, companyName, location | Senior Software Developer, JetBrains, Berlin, Berlin, Germany | The job as posted |
workplaceType | Hybrid | Remote, Hybrid or On-site, when the posting says so |
employmentType, experienceLevel | Full-time, Mid-Senior level | From the posting's criteria |
industries | Software Development | Industries on the posting |
salaryMin, salaryMax, salaryCurrency, salaryPeriod | 165000, 225000, USD, year | Pay, from LinkedIn's salary box or the description; salarySource says which |
postedAt, postedTimeAgo | 2026-10-02T11:00:00Z, 1 hour ago | When it was posted |
applicantsCount, applicantsPerDay | 73, 73 | How many have applied, and how fast |
applyType, easyApply, acceptingApplications | EXTERNAL, false, true | How to apply, and whether it is still open |
description | If you want to build… | Full text with line breaks and bullets (HTML on request) |
experienceYearsMin, contactEmails, benefits, insights | 5, ["jobs@acme.io"], ["401(k)"], ["Actively Hiring"] | Extracted from the posting |
matchedSkills, missingSkills, skillMatchScore | ["TypeScript"], ["Go"], 50 | Against your own skill list |
locationCity, locationRegion, locationCountry, locationCountryCode | Toronto, Ontario, Canada, CA | The location split into parts |
companyId, companyUrl, companyLogo | 12515, linkedin.com/company/jetbrains | The hiring company on LinkedIn |
companyWebsite, companySize, companyEmployeeCount, companyFollowers, companyType, companyFounded, companyAddress*, companySpecialties, companyRecentPosts | https://www.jetbrains.com/, 1,001-5,000 employees, 3035 | With Include company details |
searchKeywords, searchLocation, searchPosition, searchUrl | Software Engineer, United States, 1 | Which search found the job, and its rank |
How to scrape LinkedIn jobs
- Click Try for free and type your job titles into Job titles or keywords and your places into Locations, one per line. Or paste LinkedIn URLs into LinkedIn URLs.
- Set any filters, and Max results. You pay per job, so this is also your cost cap.
- Click Start. 100 jobs take about a minute.
- Open the Output tab, or download the results as JSON, CSV, Excel or HTML.
How much does it cost to scrape LinkedIn?
You pay per job returned, and the price drops on higher Apify plans:
| Apify plan | Per 1,000 jobs |
|---|---|
| Free | $1.00 |
| Starter | $0.80 |
| Scale | $0.70 |
| Business | $0.60 |
- 1,000 software-engineering jobs in the United States with full descriptions cost $0.80 on the Starter plan.
- A daily "only new jobs" monitor that finds 150 new postings a day costs about $3.60 a month on Starter.
- Company details, skill matching and every filter are included in the same price. Jobs a filter removes, duplicates and failed searches cost nothing.
- A run also costs $0.00005 to start.
- The Free plan's $5 monthly credit covers about 5,000 jobs.
Input
{"keywords": ["Data Analyst", "Product Manager"],"locations": ["London, United Kingdom", "Berlin"],"postedWithin": "week","experienceLevels": ["entry-level", "associate"],"workplaceTypes": ["hybrid", "remote"],"includeCompanyDetails": true,"maxItems": 200}
| Group | Fields | Notes |
|---|---|---|
| What to search | Job titles or keywords, Locations, Companies, LinkedIn URLs | Every keyword runs in every location; companies narrow every search, or list all their jobs when there are no keywords |
| Filters LinkedIn applies | Date posted (or posted within N hours), Easy Apply only, Fewer than 10 applicants, Sort by, Distance | Narrow the search itself, at no cost |
| Filters checked on every job | Job type, Experience level, Remote / hybrid / on-site, Industries, Exclude staffing agencies, Only jobs with a salary, Minimum salary, Max applicants, Title must / must not include, Exclude companies, Exclude locations, Skip job ids | Jobs they remove are never charged |
| Company filters | Company size, followers, type, founding year | Read the company page; turn on company details |
| Data to include | Include job details (on), Include description HTML, Include company details, Match my skills | Turn job details off for a fast list of titles, companies, locations and dates |
| Monitoring | Only new jobs, History name | Separate histories for separate monitors |
| Limits | Max results (100), Max results per search (1,000), Split by city | Max results is your cost cap |
| Proxy and performance | Proxy (Apify datacenter), Concurrency (8), Request timeout, Retries | Switch to residential only if a run is blocked |
Output
Each job is one row in the dataset. The Overview, Posting details and Companies views show the key columns; every export includes all fields.
{"recordType": "item","id": "4459849626","url": "https://www.linkedin.com/jobs/view/4459849626/","title": "Marketing Manager – Assurance Services","companyName": "BDO Canada","location": "Toronto, Ontario, Canada","workplaceType": null,"employmentType": "Full-time","experienceLevel": "Not Applicable","industries": "Financial Services","salaryText": "$93,000 to $141,000","salaryMin": 93000,"salaryMax": 141000,"salaryCurrency": "CAD","salaryPeriod": "year","salarySource": "description","postedAt": "2026-10-01T18:12:38.124Z","postedDate": "2026-10-01","postedTimeAgo": "18 hours ago","applicantsCount": 200,"applicantsText": "Over 200 applicants","applicantsPerDay": 200,"applyType": "EXTERNAL","easyApply": false,"acceptingApplications": true,"description": "Putting people first, every day\n\nBDO is a firm built on a foundation of positive relationships...","experienceYearsMin": 3,"contactEmails": [],"insights": ["Actively Hiring"],"benefits": [],"locationCity": "Toronto","locationRegion": "Ontario","locationCountry": "Canada","locationCountryCode": "CA","companyId": "250145","companyUrl": "https://www.linkedin.com/company/bdo-canada","companyWebsite": "http://www.bdo.ca","companyIndustry": "Financial Services","companySize": "1,001-5,000 employees","companyEmployeeCount": 4810,"companyFollowers": 159801,"companyHeadquarters": "Toronto, Ontario","companyType": "Partnership","companyFounded": 1921,"companyAddressStreet": "20 Wellington St E","companyAddressCity": "Toronto","companyAddressCountry": "CA","searchKeywords": "marketing manager","searchLocation": "Canada","searchPosition": 1,"input": "https://www.linkedin.com/jobs/search/?keywords=marketing%20manager&location=Canada&f_TPR=r604800","scrapedAt": "2026-10-02T12:12:38.151Z"}
A search or URL that cannot be read becomes a row with "recordType": "error" and an errorCode instead of failing the whole run:
errorCode | Meaning |
|---|---|
NOT_FOUND | The job does not exist any more, or the link is wrong |
COMPANY_NOT_FOUND | None of the companies you named were found on LinkedIn |
BLOCKED / RATE_LIMITED | LinkedIn refused this address; run again, or switch the proxy to residential |
PARSE_FAILED | LinkedIn changed its page; please report it on the Issues tab |
Error rows are never charged. The run summary (RUN_SUMMARY in the key-value store) shows how many jobs LinkedIn listed, how many your filters removed and how many duplicates were skipped.
Tips and limits
- About 1,000 jobs per search. That is LinkedIn's own ceiling. For more, add more keywords or locations, or turn on Split by city.
- LinkedIn always finds something. Its AI search returns related jobs even for rare or misspelled keywords. Use Title must include when the title has to match.
- Remote, hybrid and on-site come from what the posting says (title, location or description), because LinkedIn's public pages do not show the structured value. Postings that say nothing get
null, and the workplace filter drops them. - Salary appears on most US postings (pay-transparency laws) and fewer elsewhere. "Only jobs with a salary" keeps just those.
- Not public without a LinkedIn login: the recruiter who posted the job, the employer's external apply link and LinkedIn's own skills list. No logged-out scraper can return them.
- Applicants are shown by LinkedIn as "Over 200" above 200, so
applicantsCountstops at 200. - Company details add one request per company (cached for the run), so they make a run slower, not more expensive.
- Hit your spending limit? The run stops cleanly at your maximum cost per run and keeps everything it collected. Raise the limit in the run options to get more.
FAQ
Is it legal to scrape LinkedIn?
This Actor collects only job postings and company pages that LinkedIn shows publicly, without logging in. Job postings are published for anyone to read, but results can still contain personal data (for example an email address in a description), which laws such as the GDPR protect. Scrape personal data only for a legitimate purpose, and ask a lawyer if you are unsure. LinkedIn is a trademark of LinkedIn Corporation; this Actor is not affiliated with or endorsed by LinkedIn.
Do I need a LinkedIn account or cookies?
No. Nothing is logged in, so no account can be restricted or banned.
How do I monitor new LinkedIn jobs every day?
Save your input as a task, turn on Only new jobs, give it a History name, and add a daily schedule. Each run returns only postings no earlier run with that history name returned, and you pay only for those. Add Posted within (hours) = 24 to keep each run short.
Can I use it through the API or with Make, Zapier and n8n?
Yes. Every run can be started through the Apify API and returns the dataset as JSON, CSV or Excel. Schedules, webhooks and integrations for Make, Zapier, n8n and Google Sheets are on the Integrations tab.
Can AI agents use it?
Yes. Agents connected to Apify's MCP server can find and run this Actor as a tool, with the same per-job pricing. Plain inputs (keywords, locations, companies) make it easy for an agent to call.
Why did I get fewer results than I asked for?
The search may have fewer jobs than your limit, your filters may have removed many of them (the log and run summary say how many), the run may have reached your maximum cost per run, or LinkedIn's ceiling of about 1,000 jobs per search was reached. Nothing collected before that is lost.
Related scrapers
- Indeed Jobs Scraper: the same kind of job data from Indeed, with salaries and company ratings.
- Company Job Postings & Hiring Signals Scraper: every open role straight from a company's own careers site (Greenhouse, Lever, Ashby and more).
- Company Jobs & Salary Scraper: open roles and salary ranges from the job boards companies publish on.
- LinkedIn Ad Library Scraper: the ads a company runs on LinkedIn, with impressions and targeting.
Support
Missing a field, or found a search that does not work? Open an issue on the Issues tab with the input you used, and it will be looked at quickly.