LinkedIn Jobs Scraper - Listings, Company & Type avatar

LinkedIn Jobs Scraper - Listings, Company & Type

Pricing

from $2.00 / 1,000 results

Go to Apify Store
LinkedIn Jobs Scraper - Listings, Company & Type

LinkedIn Jobs Scraper - Listings, Company & Type

Scrape LinkedIn job postings by keyword & location — title, company, location, work type, parsed salary, employment type, seniority, sector, applicants, recruiter, posted date & job URL. No login, no cookies, no auto-apply. Dedup, filters & a 0-100 job score. Export CSV/JSON/Excel.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Flash Scrape

Flash Scrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

This LinkedIn jobs scraper turns any job search into a clean, analysis-ready feed of postings — one row per job with the title, company, location, parsed salary (min/max/period), employment type, seniority, job function, sector, applicant count, recruiter, posting date, and the job URL. Search LinkedIn's public job listings by keyword and location, filter natively (date, seniority, employment type, remote), and export to CSV, JSON, or Excel.

Built for job seekers, recruiters, job-board aggregators, and labor-market analysts. It reads only public, logged-out listings: no login, no cookies, and it never auto-applies.


How to scrape LinkedIn jobs

  1. Enter one or more job titles / keywords (e.g. data analyst, react developer) and a location (e.g. United States, London).
  2. Optionally filter by date posted, experience level, employment type, remote/on-site/hybrid, or specific companies — these are applied at the source.
  3. The scraper pulls matching postings via the proven valig/linkedin-jobs-scraper engine (no LinkedIn login required).
  4. Each posting is cleaned: salary parsed into numbers, applicant count parsed to an integer, dates normalized, tracking stripped from URLs.
  5. Duplicates are removed, your filters applied, and every job gets a 0–100 job score so the best-paid, freshest, most complete listings sort to the top.
  6. You get a clean table to download as CSV, JSON, or Excel — or pull via API.

What data you get

Every row is one job, best-scored first:

  • Job title, company, and location.
  • Parsed salarysalaryMin, salaryMax, salaryPeriod, plus the raw string (LinkedIn shows salary on a minority of posts).
  • Employment type and seniority — e.g. Full-time, Mid-Senior level.
  • Job function and sector — the role area and the company's industry.
  • Applicant count — parsed to an integer so you can spot low-competition roles.
  • Recruiter — name and profile URL when the job poster is shown.
  • Posting date — absolute postedDate plus the relative postedTimeAgo.
  • Apply infoapplyType (Easy Apply / external) and applyUrl.
  • A derived remote flag and a 0–100 job score.

Input

FieldTypeDescription
searchQueriesarrayJob titles / keywords, one per line.
locationstringCity / state / country, or Remote.
datePostedstringAny time / past 24h / past week / past month.
experienceLevelarrayInternship → Director.
contractTypearrayFull-time / Part-time / Contract / Temporary / Internship.
remotearrayOn-site / Remote / Hybrid.
companyNamesarrayFilter to specific companies.
maxItemsintegerMax jobs per search (1–1000). Default 100.
requireSalarybooleanKeep only jobs with a salary.
minSalaryintegerMinimum annualized salary (0 = no filter).

Example input:

{
"searchQueries": ["data analyst", "data engineer"],
"location": "United States",
"datePosted": "r604800",
"experienceLevel": ["3", "4"],
"remote": ["2"],
"maxItems": 100,
"requireSalary": true,
"minSalary": 90000
}

JSON output sample

{
"job_score": 69,
"jobTitle": "Data Analyst",
"companyName": "Synechron",
"location": "Pittsburgh, PA",
"jobFunction": "Information Technology",
"isRemote": false,
"salaryRaw": "$115,000.00/yr - $120,000.00/yr",
"salaryMin": 115000,
"salaryMax": 120000,
"salaryPeriod": "year",
"employmentType": "Full-time",
"seniority": "Mid-Senior level",
"sector": "IT Services and IT Consulting",
"applicants": 200,
"applyType": "EXTERNAL",
"applyUrl": "https://...",
"postedDate": "2026-05-21",
"postedTimeAgo": "2 weeks ago",
"jobUrl": "https://www.linkedin.com/jobs/view/4422685636"
}

Results render as a clean, sortable table on the Output tab and export to CSV, JSON, or Excel.


Use with AI agents & automation

Run this from the Apify MCP server so AI agents (Claude, ChatGPT, Cursor) can pull job listings as a tool call, schedule runs via Make, n8n, or Zapier to track new openings or feed a job board, or sync the dataset to Google Sheets for a live jobs list. Clean flat JSON drops into pipelines with no glue code.


Pricing

Pay-per-result — you're charged only for the cleaned job listings delivered after your filters. Set maxItems and use filters to keep cost predictable. See the Apify Store page for the current per-result price.


FAQ

Does this apply to jobs for me? No. It only collects public listings into a spreadsheet. It never logs in and never submits applications.

Do I need a LinkedIn account or cookie? No. It scrapes the public, logged-out job listings — no li_at cookie, no credentials.

Why is salary often empty? LinkedIn only shows salary on a minority of postings. Use requireSalary to keep just the ones that show it; the parser fills salaryMin/salaryMax whenever a figure is present.

Can I search multiple titles? Yes — pass several searchQueries; each is searched with your filters, and results are deduped across searches.

Is scraping LinkedIn legal? This collects public job data only. LinkedIn's User Agreement restricts automated access and LinkedIn rate-limits aggressively, so expect occasional partial runs. Use the data for personal/research/recruiting purposes and follow LinkedIn's terms and local law.

Can I export to CSV or Google Sheets? Yes — CSV, JSON, or Excel from the Output tab, or sync to Google Sheets via Make, n8n, or Zapier.


Other Flash Scrape scrapers