Scrape public LinkedIn job offers without an account: title, company, location, date, full description, seniority, employment type, salary when shown, applicants and company details. Search with keywords and a location, or paste search URLs. $0.50 per 1,000 jobs, all included.
New onlyNewJobs (off by default) for scheduled runs: each search remembers the jobs it delivered (job IDs only, in
the key-value store seenJobsStoreName of your own Apify account, default linkedin-jobs-seen, last 20,000 per
search) and skips them in later runs before reading their job page. You get and pay only for jobs you did not get
before. A resumed run remembers the jobs it had already delivered.
1.0.12 (beta)
Descriptions: clean plain text without blank lines between bullets (957 of 1,000 jobs had them in 1.0.7, 0 now), no
leftover HTML entities; new descriptionHtml (safe HTML: paragraphs, lists, bold; no link, no attribute), on by
default, can be turned off with includeDescriptionHtml.
Company details: new companyAddress (street, city, region, postal code, country), companyCountry, companySizeMin /
companySizeMax, companyEmployeesOnLinkedIn (members on LinkedIn), companySlogan, companyDomain, companyId, and
companySpecialties as a list.
Applicants: applicantsCountMin, applicantsCountMax and applicantsCountIsExact ("Over 200", "Be among the first 25").
Posting time: postedAtTimestamp and postedAtPrecision (hour or minute when LinkedIn says "6 hours ago", else day).
Salary: salarySource (employer when the employer provided the range) and salaryAdditionalCompensation.
Speed: 18 parallel requests by default (was 12), still capped at 6 requests per second; company pages fetched in
parallel.
Empty result pages: LinkedIn sometimes returns an empty page in the middle of a list; an empty page right after a full
one is now skipped instead of ending the search (the search ends on two empty pages in a row, an empty page after a
partial one, or LinkedIn's limit). A 200 page without jobs is still read again through another IP first.
Output formats: outputFormat (auto, standard, curious_coder, valig) adds the field names of those scrapers
next to ours, so existing Make / n8n / Zapier mappings keep working. Recruiter fields are never delivered.
New filters: onlyWithSalary (alias requireSalaryInfo), excludeRecruitingAgencies, and job industry include /
exclude (industriesInclude, industriesExclude, aliases jobIndustryInclude, jobIndustryExclude); checked on
the job page, you pay only for the jobs that match.
REMOVED jobFunction and reposted: LinkedIn never shows them to logged-out visitors (always empty).
Workplace filter (on-site / remote / hybrid) is no longer sent to LinkedIn, which ignores it logged out; the run log
and status message say that results are not filtered by workplace.
1.0 (beta)
Public LinkedIn job offers without login: keywords + location, or LinkedIn job search URLs.