LinkedIn Jobs Scraper - Company Data On Every Job avatar

LinkedIn Jobs Scraper - Company Data On Every Job

Pricing

from $0.79 / 1,000 job scrapeds

Go to Apify Store
LinkedIn Jobs Scraper - Company Data On Every Job

LinkedIn Jobs Scraper - Company Data On Every Job

Scrape LinkedIn jobs with the employer's full company profile on every row, at no extra charge. Exact posting dates, applicant counts as numbers, and salary with its stated source. No login needed, and it splits the search to pass LinkedIn's 1,000-job limit.

Pricing

from $0.79 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

ClearPath

ClearPath

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

LinkedIn Jobs Scraper | Company Data On Every Job, No Login (2026)

Every LinkedIn job, with the employer's company profile. 1,200 unique jobs, past LinkedIn's 1,000 limit.

From Clearpath, creators of Wellfound Jobs, Welcome to the Jungle Jobs and StepStone Job Scraper. Job-market data with the pay, role and employer context needed for recruitment and research.

Why choose this actor?

The employer's company profile on every row, at no extra charge. Industry, size band, employee and follower counts, headquarters split into street, city, region, postcode and country, founding year, website, specialities and the company's own About text. Other LinkedIn job scrapers either charge separately for company data or leave it out.

It does not stop at 1,000 jobs. LinkedIn serves at most 1,000 results for any one search, on every surface it has. Ask for more and this actor splits the search by location and then by posting date until it has what you asked for, deduplicating as it goes. A measured run returned 1,200 unique postings with zero duplicates.

No LinkedIn account, no cookies, no session to keep alive. Only what a logged-out visitor can see, so there is nothing to log in with, nothing to expire and nothing for you to maintain. 100 fully detailed jobs took 27 seconds in a measured run.

Scrape LinkedIn jobs

Quick start

Try one hundred data-engineering roles in Germany. Change the keyword and location to match your market.

{
"keywords": "data engineer",
"location": "Germany",
"maxItems": 100
}

Open actor input to set filters, paste LinkedIn search addresses or pick an output language. Export JSON, CSV or Excel; JSON keeps the benefits list intact.

Clearpath · Job Market Data
 LinkedIn
➤ You are here
 Wellfound
Startup hiring
 WTTJ
European jobs
 StepStone
Germany salaries
 Totaljobs
UK jobs
 Y Combinator
Startup jobs

Copy to your AI assistant

clearpath/linkedin-jobs-scraper on Apify. Collects public LinkedIn job postings without any login or cookies and returns 64 fields per job, including the employer's full company profile (industry, size band, employee and follower counts, split headquarters address, founded year, website, specialities, About text) on every row at no extra charge: there is no enrichment switch that costs more, companyDetails just defaults to true. Search with keywords + location, or geoId for an exact place (geoId OVERRIDES location, and LinkedIn does not reject an ID that does not exist, it silently stops filtering by place, so only pass one you copied from a real search address). An unresolvable location stops the run before anything is charged. Narrowing options are all off by default: datePosted (anyTime|pastMonth|pastWeek|past24Hours|pastHour), postedWithinMinutes (overrides datePosted), postedAfter, companies, easyApplyOnly, under10ApplicantsOnly, titleInclude, titleExclude, skipJobIds. searchUrls REPLACES the keyword, location, date and company settings with what the pasted addresses carry, while titleInclude/titleExclude, postedAfter and skipJobIds still apply; several addresses share the budget in turn and maxItemsPerSearch caps each one. maxItems is the run-wide total, default 100, and 0 means no limit. LinkedIn serves at most 1,000 results for any one search on every surface it has; expandSearch (default true) passes that ceiling by splitting the search by place and then by posting-date window, deduplicating by job id. Constraints to respect before promising fields: there is NO remote/hybrid/on-site filter without a login, so use titleInclude for "remote" instead; salary appears only where the employer published it, which is local practice rather than coverage (about 7 in 25 in a New York sample, nearer 1 in 30 in a German one) and is null otherwise; a named hiring contact appears on roughly 1 job in 8; seniorityLevel is a LinkedIn placeholder on most public listings, so read seniorityLevelInferred together with seniorityLevelSource (listed|inferred|unknown) and expect empty rather than a guess; and applyUrl, applyMethod, expireAt, workplaceTypes, workRemoteAllowed, salaryInsights and insights are ALWAYS null, kept only so pipelines written against other LinkedIn job scrapers keep working. outputLanguage (8 languages) also changes the wording of the seniorityLevel, employmentType, jobFunction and industries values, so pin it if you parse them. Pricing: pay per event, $0.99 per 1,000 jobs plus $0.002 per run start; free-plan accounts pay a higher per-job rate and are capped at 5 runs and 25 jobs total. Full spec (input schema, dataset fields, README): GET https://api.apify.com/v2/actors/clearpath~linkedin-jobs-scraper/builds/default with Authorization: Bearer <APIFY_TOKEN>. Token: https://console.apify.com/account/integrations

What you get that other LinkedIn job scrapers skip

  • The hiring company, in depth. Nineteen company fields on every job row, including the headquarters broken into separate street, city, region, postcode and country fields, employee and follower counts as numbers, and the year the company was founded. Bundled, not billed separately.
  • Applicant count as a number. LinkedIn writes "Over 200 applicants" or "Be among the first 25 applicants". You get that wording in applicantsCount and a sortable integer in applicantsCountNumber.
  • Salary with its source. When an employer publishes pay, you get the raw string, minimum, maximum, currency, period, and salarySource naming who stated it, so an employer range is never confused with an estimate.
  • An exact posting date. postedAt is a real date such as 2026-08-20, not "3 weeks ago". The relative wording is kept separately in postedTimeAgo.
  • Seniority, honestly. LinkedIn shows a placeholder instead of a seniority level on most public listings. Where it does, this actor infers the level from the job title and tells you it did so in seniorityLevelSource. Where the title gives no clear signal, the field stays empty rather than being guessed.
  • Eight output languages. English, German, French, Spanish, Italian, Dutch, Portuguese and Polish. The setting also changes the wording of the seniority, employment type, job function and industry values.

How to scrape LinkedIn jobs

Search by keyword and place, or paste LinkedIn search addresses you already use. Everything that narrows the result set is off unless you turn it on.

ParameterTypeDefaultMeaning
keywordsstringemptyWhat you would type into LinkedIn's job search.
locationstringemptyCity, region or country. Checked against LinkedIn's own place list.
geoIdstringemptyAn exact LinkedIn place ID, copied from a search address. Overrides location.
datePostedenumanyTimepastHour, past24Hours, pastWeek, pastMonth or anyTime.
maxItemsinteger100Total jobs to return. 0 means no limit.
expandSearchbooleantrueSplit the search by place and date to pass 1,000 results.
companiesarrayemptyCompany names or LinkedIn company IDs.
postedWithinMinutesintegeremptyFiner than datePosted. Overrides it.
postedAfterstringemptyDrop anything posted before this date, as 2026-09-01.
easyApplyOnlybooleanfalseOnly jobs you can apply to without leaving LinkedIn.
under10ApplicantsOnlybooleanfalseOnly jobs with fewer than ten applicants so far.
titleIncludearrayemptyKeep only titles containing one of these words.
titleExcludearrayemptyDrop titles containing any of these words.
skipJobIdsarrayemptyJob IDs you already hold.
searchUrlsarrayemptyLinkedIn search addresses. Replaces the keyword search.
maxItemsPerSearchintegeremptyCaps what each pasted address contributes.
companyDetailsbooleantrueThe employer's company profile on every row.
outputLanguageenumen-USOne of eight languages.

Paste several addresses and they share the run in turn, so a busy first address cannot use up the whole budget:

{
"searchUrls": [
"https://www.linkedin.com/jobs/search?keywords=designer&location=Austria",
"https://www.linkedin.com/jobs/search?keywords=nurse&location=Belgium"
],
"maxItemsPerSearch": 50,
"maxItems": 100
}

Only what is new since your last run, for a scheduled job:

{
"keywords": "product manager",
"location": "Netherlands",
"postedWithinMinutes": 1440,
"maxItems": 500
}

What data can you extract from LinkedIn?

Sixty-four fields per job, in five groups: the posting itself, the pay, LinkedIn's own classification, the named hiring contact where there is one, and the employer's company profile.

One complete row, exactly as returned, with the job description shown in full:

{
"id": "4456013005",
"link": "https://www.linkedin.com/jobs/view/4456013005",
"refId": "5kWyHjzeoG2cKVUqOsPdaQ==",
"trackingId": "XmgrD0efYCqsZfmcGXvsnw==",
"title": "Software Developer",
"companyName": "Lensrentals",
"companyLinkedinUrl": "https://www.linkedin.com/company/lensrentals.com",
"companySlug": "lensrentals.com",
"companyLogo": "https://media.licdn.com/dms/image/v2/C4E0BAQEXfgrA_FwdDA/company-logo_100_100/company-logo_100_100/0/1630591808625/lensrentalscom_logo?e=2147483647&v=beta&t=Ak6G98g_NXpeddqkuxnY0-GnMk4KQpaccx2d2h7QVF4",
"location": "New York, NY",
"benefits": [],
"postedAt": "2026-08-20",
"postedAtTimestamp": 1787184000,
"postedTimeAgo": "1 month ago",
"descriptionHtml": "<div class=\"show-more-less-html__markup show-more-less-html__markup--clamp-after-5\n relative overflow-hidden\">\n <p>Job Description:</p><br><p>The Software Developer is a hands-on individual contributor within the engineering team, with primary focus on Lensrentals' e-commerce platform. This role builds, tests, and maintains features across the front-end, back-end, and database layers, working from technical direction set by senior and lead engineers. The Software Developer collaborates with teammates and, as needed, with Digital &amp; Marketing partners to deliver work that helps reach and engage audiences, build customer knowledge and trust, and improve the overall digital experience.</p><br>Essential Duties and Responsibilities:<br><ul><br> <li><br> <p>Develops, tests, and maintains software features across front-end, back-end, and database layers, contributing to core e-commerce systems</p><br> </li><br> <li><br> <p>Implements well-scoped features and enhancements from tickets, specifications, and technical direction provided by senior and lead engineers</p><br> </li><br> <li><br> <p>Builds and improves customer-facing digital experience features such as navigation, search, filters, and recommendations</p><br> </li><br> <li><br> <p>Follows established architectural patterns and technical direction, raising questions and surfacing implementation concerns to senior engineers when trade-offs arise</p><br> </li><br> <li><br> <p>Participates in planning sessions, stand-ups, and retrospectives, providing estimates and status updates for assigned work</p><br> </li><br> <li><br> <p>Collaborates with Digital &amp; Marketing stakeholders as needed to clarify requirements and validate that delivered work meets intent</p><br> </li><br> <li><br> <p>Participates in code reviews, both submitting work for review and reviewing peers' changes against team coding standards</p><br> </li><br> <li><br> <p>Investigates and resolves software defects and performance issues within assigned systems, escalating complex or cross-system problems as appropriate</p><br> </li><br> <li><br> <p>Communicates progress, blockers, and dependencies clearly and promptly to the team</p><br> </li><br> <li><br> <p>Pairs with and supports junior engineers on onboarding, tooling, and day-to-day technical questions</p><br> </li><br> <li><br> <p>Contributes ideas for improving team processes, tools, and delivery practices</p><br> </li><br> <li><br> <p>Maintains technical documentation in accordance with departmental standards</p><br> </li><br></ul><br>Education and/or Skill Requirements:<br><ul><br> <li><br> <p>Bachelor's degree in Computer Science, Software Engineering, or related field. Equivalent experience accepted in lieu of degree</p><br> </li><br> <li><br> <p>Minimum 4 years of professional software engineering experience building and maintaining production applications</p><br> </li><br> <li><br> <p>Demonstrated ability to independently deliver well-scoped features with limited day-to-day supervision</p><br> </li><br> <li><br> <p>Experience collaborating with teammates and non-technical partners (e.g., marketing, digital, product) to clarify and deliver requirements</p><br> </li><br> <li><br> <p>Exposure to e-commerce platforms or customer-facing digital experience work (search, recommendations, personalization, A/B testing) preferred</p><br> </li><br> <li><br> <p>Solid working knowledge of full stack development including front-end frameworks, back-end services, and relational databases</p><br> </li><br> <li><br> <p>Ability to write, review, and debug production-quality code in one or more of the team's core languages and frameworks, e.g. Go, Ruby on Rails, React, with willingness to learn the others</p><br> </li><br> <li><br> <p>Working understanding of software design principles such as SOLID</p><br> </li><br> <li><br> <p>Familiarity with version control, testing practices, and CI/CD workflows</p><br> </li><br> <li><br> <p>Exposure to distributed systems concepts and NoSQL datastores is a plus, but not required</p><br> </li><br> <li><br> <p>Ability to manage personal workload and meet committed deadlines for assigned tasks</p><br> </li><br> <li><br> <p>Strong analytical and problem-solving skills</p><br> </li><br> <li><br> <p>Strong written and verbal communication skills</p><br> </li><br></ul><br><p>Physical Requirements:</p><br><p><br> <br><br></p><br><ul><br> <li><br> <p>Sedentary work; primarily performed at a desk in an office environment.</p><br> </li><br> <li><br> <p>Ability to operate standard office equipment including computer, keyboard, and mouse for extended periods.</p><br> </li><br></ul><br><p><br> <br><br></p><br>Location:&nbsp;Remote - USStatus:&nbsp;Full Time\n </div>",
"descriptionText": "\nJob Description:\nThe Software Developer is a hands-on individual contributor within the engineering team, with primary focus on Lensrentals' e-commerce platform. This role builds, tests, and maintains features across the front-end, back-end, and database layers, working from technical direction set by senior and lead engineers. The Software Developer collaborates with teammates and, as needed, with Digital & Marketing partners to deliver work that helps reach and engage audiences, build customer knowledge and trust, and improve the overall digital experience.\nEssential Duties and Responsibilities:\n\n\nDevelops, tests, and maintains software features across front-end, back-end, and database layers, contributing to core e-commerce systems\n\n\n\nImplements well-scoped features and enhancements from tickets, specifications, and technical direction provided by senior and lead engineers\n\n\n\nBuilds and improves customer-facing digital experience features such as navigation, search, filters, and recommendations\n\n\n\nFollows established architectural patterns and technical direction, raising questions and surfacing implementation concerns to senior engineers when trade-offs arise\n\n\n\nParticipates in planning sessions, stand-ups, and retrospectives, providing estimates and status updates for assigned work\n\n\n\nCollaborates with Digital & Marketing stakeholders as needed to clarify requirements and validate that delivered work meets intent\n\n\n\nParticipates in code reviews, both submitting work for review and reviewing peers' changes against team coding standards\n\n\n\nInvestigates and resolves software defects and performance issues within assigned systems, escalating complex or cross-system problems as appropriate\n\n\n\nCommunicates progress, blockers, and dependencies clearly and promptly to the team\n\n\n\nPairs with and supports junior engineers on onboarding, tooling, and day-to-day technical questions\n\n\n\nContributes ideas for improving team processes, tools, and delivery practices\n\n\n\nMaintains technical documentation in accordance with departmental standards\n\nEducation and/or Skill Requirements:\n\n\nBachelor's degree in Computer Science, Software Engineering, or related field. Equivalent experience accepted in lieu of degree\n\n\n\nMinimum 4 years of professional software engineering experience building and maintaining production applications\n\n\n\nDemonstrated ability to independently deliver well-scoped features with limited day-to-day supervision\n\n\n\nExperience collaborating with teammates and non-technical partners (e.g., marketing, digital, product) to clarify and deliver requirements\n\n\n\nExposure to e-commerce platforms or customer-facing digital experience work (search, recommendations, personalization, A/B testing) preferred\n\n\n\nSolid working knowledge of full stack development including front-end frameworks, back-end services, and relational databases\n\n\n\nAbility to write, review, and debug production-quality code in one or more of the team's core languages and frameworks, e.g. Go, Ruby on Rails, React, with willingness to learn the others\n\n\n\nWorking understanding of software design principles such as SOLID\n\n\n\nFamiliarity with version control, testing practices, and CI/CD workflows\n\n\n\nExposure to distributed systems concepts and NoSQL datastores is a plus, but not required\n\n\n\nAbility to manage personal workload and meet committed deadlines for assigned tasks\n\n\n\nStrong analytical and problem-solving skills\n\n\n\nStrong written and verbal communication skills\n\nPhysical Requirements:\n\n\n\nSedentary work; primarily performed at a desk in an office environment.\n\n\n\nAbility to operate standard office equipment including computer, keyboard, and mouse for extended periods.\n\n\nLocation: Remote - USStatus: Full Time",
"applicantsCount": "Over 200 applicants",
"applicantsCountNumber": 200,
"salaryRaw": "$110,000.00/yr - $130,000.00/yr",
"salaryMin": 110000.0,
"salaryMax": 130000.0,
"salaryCurrency": "$",
"salaryPeriod": "yearly",
"salarySource": "Lensrentals provided pay range",
"salaryNote": null,
"seniorityLevel": "Not Applicable",
"employmentType": "Full-time",
"jobFunction": "Engineering and Information Technology",
"industries": "Non-profit Organizations",
"seniorityLevelInferred": null,
"seniorityLevelSource": "unknown",
"jobPosterName": null,
"jobPosterTitle": null,
"jobPosterProfileUrl": null,
"jobPosterPhoto": null,
"searchInput": "software engineer",
"discoveredVia": "search",
"scrapedAt": "2026-09-24T09:48:18+00:00",
"applyUrl": null,
"expireAt": null,
"workplaceTypes": null,
"workRemoteAllowed": null,
"salaryInsights": null,
"applyMethod": null,
"insights": null,
"salary": "$110,000.00/yr - $130,000.00/yr",
"inputUrl": "software engineer",
"companyIndustry": "Photography",
"companySize": "51-200 employees",
"companyHeadquarters": "Memphis, TN",
"companyType": "Privately Held",
"companyFounded": null,
"companySpecialties": null,
"companyDescription": "Lensrentals.com is the leading online photography and videography equipment rental house. Founded in a spare bedroom in 2006 in Memphis, TN, Lensrentals.com has grown to over 150 employees. With the country's largest inventory of camera equipment, we are the best resource for photographers and videographers of every budget and experience level.",
"companyTagline": null,
"companyWebsite": "http://www.lensrentals.com",
"companyFollowerCount": 1125,
"companyEmployeesCount": 103,
"companyHqStreet": "7730 Trinity Rd",
"companyHqCity": "Memphis",
"companyHqRegion": "TN",
"companyHqPostalCode": "38018",
"companyHqCountry": "US",
"companyDataFetchedAt": "2026-09-24T09:48:20+00:00"
}

On roughly one job in eight the employer attaches a named hiring contact, which adds four more populated fields. This is a real row with the person's surname, profile handle and photo path masked for this README; a run returns them in full:

{
"jobPosterName": "Diana M. A.",
"jobPosterTitle": "Business Development Manager- Technology-Big Data-Cybersecurity-Cloud",
"jobPosterProfileUrl": "https://es.linkedin.com/in/d********n",
"jobPosterPhoto": "https://media.licdn.com/dms/image/v2/C4E03AQEPCqHw6r_jHw/profile-displayphoto-shrink_400_400/..."
}

Seven fields are always empty: applyUrl, applyMethod, expireAt, workplaceTypes, workRemoteAllowed, salaryInsights and insights. LinkedIn publishes those only to signed-in visitors. They are kept in every row so a pipeline written against another LinkedIn job scraper keeps working without a change.

Reaching past LinkedIn's 1,000-job limit

LinkedIn will not serve more than 1,000 results for a single search. That ceiling is the same whether you are logged out, logged in or using the mobile app, so no scraper can simply page past it.

When you ask for more than one search can hold, this actor splits the search: first by place, using LinkedIn's own list of regions and cities inside the place you asked for, then by posting-date window. Every job is deduplicated by its LinkedIn ID, so overlapping slices never bill you twice for the same posting. LinkedIn's own top matches are always collected first, so a smaller run still returns the most relevant jobs.

Leave expandSearch on and set maxItems to what you actually need. A measured run asking for 1,200 returned 1,200 unique jobs in 229 seconds with no duplicates.

Pricing

EventWhen chargedPrice
Actor startOnce per run$0.002
Job scrapedPer job delivered to your dataset$0.99 per 1,000

The company profile, the full description, the applicant count, the salary fields and the hiring contact are all included in that per-job price. There is no detail upgrade and no enrichment surcharge.

A 100-job run costs $0.002 + $0.099, about $0.10. A 1,000-job run costs $0.002 + $0.99, about $0.99. Prices shown are the Bronze tier; higher plans pay less per job.

Jobs that are filtered out by your own title filters or skip list are never charged. Free-plan accounts pay a higher per-job rate and are limited to 5 runs and 25 jobs in total.

Frequently asked questions

Do I need a LinkedIn account, login or cookies? No. This actor reads only what LinkedIn shows a logged-out visitor, so there is nothing to sign in with and no session that can expire mid-run.

Can I really get more than 1,000 jobs from one search? Yes, by splitting the search. See the section above. Leave expandSearch on and raise maxItems.

Is the company profile an extra charge? No. It is included in the per-job price. Turn it off with companyDetails only if you want the run to finish slightly sooner.

Why does salary appear on only some jobs? Because only some employers publish it. Coverage follows local pay-transparency practice rather than anything about the scraper: in a measured New York run 7 jobs in 25 carried a pay range, while a German run returned closer to 1 in 30. Where pay is absent the salary fields are null, never estimated.

Can I filter to remote, hybrid or on-site? No, and no LinkedIn job scraper that works without a login can. LinkedIn applies that filter only for signed-in visitors, and it is the one filter with no logged-out equivalent. Many employers put "Remote" or "Hybrid" in the job title, so titleInclude is the practical substitute.

Can I filter by seniority, employment type, job function or industry? Those arrive as fields on every row, so filter after the run. Inside the run, the title filters are the equivalent.

How current is the data? It is read live when the run starts. postedAt is an exact date and postedAtTimestamp is the same date ready to sort.

Can I run this on a schedule and get only what is new? Yes. Use postedWithinMinutes to match your schedule interval, or postedAfter for a fixed date floor, or pass the IDs you already hold in skipJobIds.

What happens if I misspell the location? The run stops immediately and tells you, before anything is collected or charged. LinkedIn silently ignores a place it cannot resolve and returns jobs from everywhere instead, which would otherwise bill you for a worldwide search you did not ask for.

What does the output language setting change? The wording LinkedIn returns: posting dates, applicant counts, and the seniority, employment type, job function and industry values. Job descriptions stay in whatever language the employer wrote them in.

Is a job ID stable? Yes. id is LinkedIn's own job posting ID, so it is the right key for deduplicating across runs.

Is this public data? Yes. Everything collected is visible to anyone who opens LinkedIn without logging in. You remain responsible for how you use personal data, including the named hiring contact where one is present.

Limits worth knowing before you start

  • No remote, hybrid or on-site filter. There is no logged-out equivalent.
  • Salary is present only where the employer published it.
  • A named hiring contact appears on roughly one job in eight.
  • Seven fields are always empty by design, listed above.
  • External apply links are not available without a login; link always points at the LinkedIn job page.

Support

Found a problem or need a field that is missing? Open an issue on the Issues tab, or email max@mapa.slmail.me.