LinkedIn Jobs Scraper
Pricing
$0.10 / actor start
LinkedIn Jobs Scraper
Scrape LinkedIn job listings by job title, skill, and location. Extract job title, company, location, posting date, job link, and LinkedIn job ID.
Pricing
$0.10 / actor start
Rating
0.0
(0)
Developer
Dinesh Wadhwani
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
LinkedIn Jobs Search Actor
Search LinkedIn job listings across up to 3 roles, 3 skills, and 3 locations in a single run — deduplicated, capped, and optimized to keep compute cost low.
What this Actor does
This Actor searches LinkedIn Jobs using:
- Up to 3 roles (job titles) — combined into a single "OR" keyword search.
- Up to 3 skills — appended as supporting keywords.
- Up to 3 locations — one search run per location.
- One time frame filter — last 24 hours, 48 hours, 7 days, or 15 days.
Results are deduplicated globally across all locations, and the run stops automatically once 100 unique jobs have been collected.
Why it's built this way (cost control)
To keep runs fast and cheap:
- Only one search is run per location (not one per role/skill combination). Roles are combined with
ORand skills are appended as extra keywords into a single LinkedIn search query, so a run with 3 roles + 3 skills + 3 locations still only visits 3 start pages, not 9+. - A single browser crawler instance is reused across all locations, instead of launching a new browser per location.
- Pagination stops as soon as a page returns no new (non-duplicate) results, instead of always paging to a fixed depth.
- Scrolling stops early once the page stops loading new content, instead of always scrolling a fixed number of times.
- The run aborts immediately once the global 100-job cap is reached, rather than finishing out remaining queued locations.
Input
| Field | Type | Required | Max | Notes |
|---|---|---|---|---|
roles | array of strings | Yes | 3 | Job titles/roles to search for |
skills | array of strings | No | 3 | Supporting keywords |
locations | array of strings | Yes | 3 | Locations to search in |
timeFrame | string | No | — | One of: "" (any time), r86400 (24h), r172800 (48h), r604800 (7 days), r1296000 (15 days) |
liAtCookie | string | No | — | Optional LinkedIn li_at session cookie. Strongly recommended — LinkedIn aggressively blocks unauthenticated scraping |
Example input
{"roles": ["Software Engineer", "Backend Developer"],"skills": ["Node.js", "AWS"],"locations": ["Bangalore", "Pune"],"timeFrame": "r604800","liAtCookie": ""}
This produces 2 search runs (one per location), each searching for:
"Software Engineer" OR "Backend Developer" Node.js AWS
Output
Deduplicated job listings are saved to the default dataset. Each record includes:
title— job title as listedcompany— hiring companylocation— location as shown on the job cardlink— URL to the job postingpostedAt— posting date, if availablejobId— LinkedIn's internal job ID (used for deduplication)searchLocation— which of your input locations produced this resultsearchKeywords— the combined keyword string used for the searchroles— the roles you searched forskills— the skills you searched for
Limits & notes
- Maximum of 100 unique jobs per run, across all locations combined.
- Duplicate jobs (same
jobIdorlink) are filtered out automatically. - LinkedIn's job search UI can change without notice, and unauthenticated scraping is heavily rate-limited — providing a valid
li_atcookie significantly improves reliability and result count. - This Actor does not visit individual job detail pages — only the search results listing, to keep runs fast and cheap. Full job descriptions are not included in the output.