🌟LinkedIn Jobs Scraper – Multi Title × Location
Pricing
from $2.00 / 1,000 job with full details
🌟LinkedIn Jobs Scraper – Multi Title × Location
Scrape LinkedIn jobs for many titles and locations in one run. Full details, applicants, salary, deduplicated. No login needed.
Pricing
from $2.00 / 1,000 job with full details
Rating
5.0
(1)
Developer
Sarthak
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Security
Limited permissionsShare
LinkedIn Jobs Scraper – Multi Title × Multi Location (Full Details)
Scrape LinkedIn jobs for many job titles across many locations in one run, with the full job page for every result. No login, no cookies.
Why this scraper
| This actor | Typical scrapers | |
|---|---|---|
| Titles × locations in one run | ✅ every title in every location | often one at a time |
| Paste LinkedIn search URLs | ✅ keeps all URL filters | ❌ |
| Full job description (HTML + clean text) | ✅ | partial |
| Seniority, employment type, industries, job function | ✅ | partial |
| Applicant count (number) | ✅ | text only |
| Recruiter name, title, profile | ✅ when shown | ❌ |
| Emails found in the description | ✅ | ❌ |
| Easy Apply vs External detection | ✅ | ✅ |
| Cross-search deduplication | ✅ a job appears once per run | ❌ duplicates billed |
| Exclude titles / companies (e.g. agencies) | ✅ | ❌ |
| Per-search and total result caps | ✅ predictable cost | per search only |
| Fast listing-only mode | ✅ | ❌ |
| Exact job-title matching ("AI Engineer" never returns "Electrical Engineer") | ✅ | ❌ LinkedIn's fuzzy search |
| Verified work type (on-site / remote / hybrid) with the exact proof phrase | ✅ | ❌ trusts LinkedIn's filter |
| Survives throttling | ✅ session rotation + exponential backoff, falls back to card data | ❌ |
Input
{"jobTitles": ["Software Engineer", "Data Analyst"],"locations": ["London", "New York", "Berlin"],"postedWithin": "week","workTypes": ["remote", "hybrid"],"experienceLevels": ["entry", "associate"],"maxResultsPerSearch": 200,"maxResultsTotal": 1000,"excludeCompanies": ["Jobot", "Hays"],"scrapeJobDetails": true}
Filters: date posted (1h / 24h / week / month), work type, job type, experience level, Easy Apply only, under 10 applicants, company IDs, distance, sort order.
Output (one row per unique job)
Every record has the same 42 fields in the same order on every run (schemaVersion: 2). Missing values are null; jobId is a stable string for deduplication.
| Field | Values |
|---|---|
jobId | LinkedIn job ID (string) |
workType | always remote, hybrid, on-site or unknown (never null) |
isRemoteAllowed | true for remote or hybrid, otherwise false |
workTypeSource / workTypeEvidence | title, location, description or none, plus the exact phrase used |
postedAt / postedDate | ISO 8601 timestamp / YYYY-MM-DD |
salary, salaryMin, salaryMax, salaryCurrency, salaryPeriod | from LinkedIn's salary box, else a pay range in the description; period is year, month, week, day or hour |
salarySource | linkedin, description or none |
Also included: title, company, location, applicants, benefits, contract type, experience level, sector, job function, apply type and URL, job URL, company URL, poster name and profile URL, emails in the description, description (text and HTML), promoted/closed flags, hasFullDetails, and the search that found the job.
Why work type can be unknown: LinkedIn hides its On-site / Hybrid / Remote tag from logged-out visitors, so the actor reads the job post itself. This covers LinkedIn workplace hashtags, statements such as "As a hybrid employee" or "3 days a week in the office", and negations such as "No hybrid or remote". When a post never states it, the answer is unknown, never a guess.
Exact job titles
LinkedIn's keyword search is fuzzy: "AI Engineer" also returns "Electrical Engineer" and "Machine Learning Engineer". This actor checks every job title against your keyword before opening the job, so mismatches are skipped and never charged.
- Exact phrase (default): the title must contain your whole keyword, words in order. "AI Engineer" keeps "Senior AI Engineer" and "Applied AI Engineer", and skips "AI Software Engineer".
- All words, any order: every word must be in the title. "AI Engineer" also keeps "AI Software Engineer" and "Engineer, AI Platform".
- Off: keep everything LinkedIn returns.
- Spelling variants count as the same: Full-Stack = Fullstack = Full Stack, A.I. = AI = Artificial Intelligence, ML = Machine Learning, Sr = Senior.
- Boolean keywords such as
python AND djangorequire every term; queries withOR/NOTare left as you wrote them.
Accurate work type, experience level and job type
LinkedIn ignores the work type, experience level and job type filters for logged-out visitors, so most scrapers return "remote" jobs that are really on-site. This actor checks every job itself:
- Work type is read from the job's own post, in this order: the job title, LinkedIn workplace tags (
#LI-Remote,#LI-Hybrid,#LI-Onsite), statements about the role ("This position is remote within the US", "hybrid, 3 days a week in the office"), then general wording in the post.workTypeEvidenceshows the exact phrase used. - If a post never states it,
workTypeis empty. It is never guessed. - Experience level and job type are checked against what the job page shows.
- Jobs that don't match are skipped and not charged, and the actor keeps searching until each search reaches your requested number.
- Turn on Include jobs that don't state it to also get posts that don't state the detail (many employers leave seniority as "Not Applicable").
- With a single work type selected, that word is added to the LinkedIn keyword search to find matching posts faster.
Daily scheduled runs without repeats
Turn on Skip jobs from previous runs and schedule the actor daily. Jobs delivered by an earlier run are skipped and not charged, so each run returns only new jobs. This lets you search Past week every day and still get no repeats. Use a different History name for each separate scheduled search.
Notes
applyUrlis filled when LinkedIn shows the external link to logged-out visitors; most jobs keep it behind sign-in, soapplyType(external/easy_apply) andjobUrlare always provided.- LinkedIn shows at most ~1,000 results per search. Split broad searches by location or date for more.
- Residential proxies give the best reliability at high volume.
Pricing
Pay only for the jobs you get:
| Event | When it is charged |
|---|---|
| Actor start | Once per run |
| Job with full details | Each unique job saved with scrapeJobDetails: true |
| Job listing | Each unique job saved in fast listing-only mode |
- Duplicates and excluded jobs are never charged.
- Set Max cost per run and the actor stops cleanly when it is reached, keeping everything scraped so far.