LinkedIn Jobs Scraper avatar

LinkedIn Jobs Scraper

Pricing

from $0.17 / 1,000 jobs

Go to Apify Store
LinkedIn Jobs Scraper

LinkedIn Jobs Scraper

LinkedIn jobs scraper: export public job postings from any LinkedIn jobs search URL with title, company, location, salary and date, plus optional full description and company details. No login.

Pricing

from $0.17 / 1,000 jobs

Rating

0.0

(0)

Developer

Keklik Technologies

Keklik Technologies

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

30 minutes ago

Last modified

Share

LinkedIn Jobs Scraper lets you scrape LinkedIn job postings and export them to JSON, CSV or Excel: job title, company, location, date posted, salary, full description, seniority, employment type, industries, applicant count, apply type and the recruiter who posted it, plus optional company details such as website, size and headquarters. Paste a LinkedIn job search URL or type a job title and a location, press Start, and get one row per job. No LinkedIn account, no login and no cookies are needed.

What data can you extract from LinkedIn Jobs?

Each job becomes one row with up to 42 fields:

GroupFields
JobJob ID, job URL, title, location, date posted, "posted 3 days ago", highlight ("Actively Hiring")
CompanyCompany name, LinkedIn page, logo, company ID
SalarySalary as shown, plus min, max, currency and period (year, month, hour)
Full job detailsDescription as text and HTML, seniority level, employment type, industries, applicant count, apply type (Easy Apply or external)
Job posterName, headline, profile URL and photo of the recruiter, when LinkedIn shows them
Company detailsWebsite, industry, size band, employees on LinkedIn, followers, founding year, headquarters, type, specialties, description, tagline

Use cases

  • Job market research: track how many jobs a role, skill or city has, and how salaries move.
  • Recruiting and sales leads: find companies hiring for a role, with their size, website and the recruiter who posted it.
  • Job boards and aggregators: feed fresh LinkedIn jobs into your own site with a daily scheduled run.
  • Competitor tracking: watch which roles your competitors are hiring for.
  • Personal job search: get every new job for your search in a spreadsheet instead of scrolling.

How to scrape LinkedIn jobs

  1. Open LinkedIn Jobs Scraper on Apify and click Try for free.
  2. Search for jobs on linkedin.com/jobs, set the filters you want, and copy the URL from your browser. Or skip that and type job titles and a location in the input.
  3. Paste the URL into LinkedIn job search or job URLs. Add more URLs, one per line, for more searches.
  4. Leave Full job details on if you want descriptions; turn on Company details if you want each company's website and size.
  5. Click Start. 100 jobs with full details take about a minute.
  6. Open the Output tab and download the results as JSON, CSV, Excel, XML or HTML, or fetch them with the Apify API.

Input

FieldWhat it does
LinkedIn job search or job URLsA search URL from linkedin.com/jobs/search (keywords, location and filters included), or a single job URL (linkedin.com/jobs/view/...).
Job titles or keywords + LocationAnother way to search: each keyword is its own search in that location.
Date postedPast 24 hours, past week or past month.
Workplace, Job type, Experience levelRemote, full-time, entry level and so on. See the note on filters.
Easy Apply only, Fewer than 10 applicantsLinkedIn's own filters.
Posted sinceOnly jobs posted since 12h, 3d, 2w ago, or since a date such as 2026-10-01. Handy for daily runs.
Skip job titles containing, Skip companiesDrop jobs you don't want. Skipped jobs are free.
Full job detailsOpens each job for the description and the rest of the "Full job details" fields. On by default.
Company detailsAdds the hiring company's details from its LinkedIn page. Off by default.
Max jobs per search, Max jobs in totalStop early. LinkedIn shows at most 1,000 jobs per search.
{
"urls": ["https://www.linkedin.com/jobs/search?keywords=Software%20Engineer&location=United%20States&f_TPR=r604800"],
"searchTerms": ["data analyst"],
"location": "London",
"datePosted": "pastWeek",
"jobDetails": true,
"companyDetails": false,
"maxJobsPerSearch": 100
}

Output

A row from a real run, with the description shortened:

{
"job_id": "4476590411",
"url": "https://www.linkedin.com/jobs/view/4476590411",
"title": "Data Analyst",
"company_name": "Searchability NS&D",
"company_url": "https://www.linkedin.com/company/searchability-ns-d",
"location": "London Area, United Kingdom",
"posted_at": "2026-10-12",
"posted_time_ago": "1 week ago",
"salary": "£37,000.00/yr - £60,000.00/yr",
"description": "New Permanent Opportunity for a Security Cleared Data Analyst\n• Must have active SC Clearance\n• Mid to Senior levels available …",
"seniority_level": "Mid-Senior level",
"employment_type": "Full-time",
"industries": "Data Infrastructure and Analytics and IT Services and IT Consulting",
"applicants_count": 200,
"apply_type": "easy_apply",
"salary_min": 37000.0,
"salary_max": 60000.0,
"salary_currency": "GBP",
"salary_period": "year",
"poster_name": "Dillon Lewis",
"poster_title": "Recruitment Consultant at Searchability NS&D",
"company_id": "86641560",
"company_website": "https://linktr.ee/searchability",
"company_industry": "Staffing and Recruiting",
"company_size": "11-50 employees",
"company_employees_count": 21,
"company_followers_count": 45696,
"company_headquarters": "Manchester",
"company_type": "Privately Held",
"company_specialties": ["IT Recruitment", "National Security", "Recruitment", "SC Clearance", "DV Clearance"],
"source_url": "https://www.linkedin.com/jobs/view/4476590411",
"scraping_time": "2026-10-19T19:08:27+00:00"
}

A few fields worth knowing:

  • applicants_count is a floor: LinkedIn shows "Over 200 applicants" as the most, which gives 200.
  • salary is only filled when the employer published one. In our tests between 1 job in 10 (US) and 1 in 4 (UK) had a salary.
  • poster_name and the other poster fields are filled only when LinkedIn shows who posted the job. That varies a lot: about 1 job in 3 in a London search, almost none in a US one.
  • search_keywords shows the exact keywords the search ran with, including any words added by the Workplace, Job type or Experience level filters.

The Output tab has an Overview view. You can export the dataset to JSON, CSV, Excel, XML and HTML.

How much does it cost to scrape LinkedIn jobs?

LinkedIn Jobs Scraper uses pay-per-event pricing: you pay only for the jobs you get and the extras you turn on.

EventFree planBronzeSilverGold
Job$0.25$0.22$0.20$0.17
Full job details$0.13$0.12$0.10$0.09
Company details$0.50$0.45$0.40$0.35

Prices are per 1,000 events.

For example, 1,000 jobs with full details cost $0.38 on the Free plan and $0.26 on Gold. Jobs removed by filters, and extras LinkedIn didn't return, are free. The Apify Free plan's monthly credits let you try the scraper before you pay.

Integrations and API

You can run LinkedIn Jobs Scraper from your own code with the Apify API.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("keklik/linkedin-jobs-scraper").call(
run_input={"searchTerms": ["data analyst"], "location": "London", "maxJobsPerSearch": 100}
)
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["title"], job["company_name"], job["salary"])

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('keklik/linkedin-jobs-scraper').call({
searchTerms: ['data analyst'],
location: 'London',
maxJobsPerSearch: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((job) => [job.title, job.company_name]));

You can also:

  • Schedule a daily run with Posted since set to 1d to get only new jobs.
  • Use webhooks to get notified, or trigger your own pipeline, when a run finishes.
  • Connect the results to Make, Zapier, Google Sheets, Airbyte and other tools through Apify integrations.
  • Give AI agents access through the Apify MCP server, so Claude, ChatGPT or Cursor can search LinkedIn jobs for you.

FAQ

This scraper collects only job postings that LinkedIn shows publicly to visitors who are not logged in. Some fields, such as the job poster's name, are personal data, which laws such as the GDPR and CCPA protect. Make sure you have a lawful reason to collect and use it. If you are unsure, ask a lawyer.

Do I need a LinkedIn account?

No. You don't need a LinkedIn account, a login or cookies, and the scraper never uses yours.

LinkedIn shows at most 1,000 jobs per search, logged in or not. To get more, split the search: one search per city instead of one per country, or one per keyword. Each search URL or keyword in the input is its own search, and a job found by two searches is saved once.

Do all LinkedIn filters work?

Date posted, Easy Apply, Fewer than 10 applicants, company and location filters work as on LinkedIn. Workplace (remote, hybrid), Job type and Experience level don't: LinkedIn ignores them for logged-out visitors. The scraper adds their words to the search keywords instead, for example "Remote (Full-time OR Part-time) accountant", which brings closely matching jobs but is not an exact filter. Check employment_type and seniority_level in the results if you need to be strict. Sorting by "Most recent" is also ignored by LinkedIn; use Posted since or Date posted instead.

Why did some inputs fail?

Inputs that fail are listed, with the reason, in the FAILED record of the run's key-value store (open the run, then Storage, then Key-value store):

  • invalid_input: not a LinkedIn job search or job URL.
  • search_without_keywords_or_location: the search URL has no keywords, location or company.
  • not_found: the job was removed or never existed.
  • no_jobs_found: the search has no jobs, or all of them were filtered out or already saved by another search.
  • blocked: LinkedIn refused every attempt. Run it again later.

Do I need to set up proxies?

No. There is nothing to configure.

Support

Found a bug or missing a field? Open an issue in the Issues tab and we'll look at it. Need a custom LinkedIn scraper or data in a different format? Contact us through Apify and we'll build it for you.