LinkedIn Jobs Scraper avatar

LinkedIn Jobs Scraper

Pricing

$0.10 / actor start

Go to Apify Store
LinkedIn Jobs Scraper

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

Dinesh Wadhwani

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 hours ago

Last modified

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 OR and 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

FieldTypeRequiredMaxNotes
rolesarray of stringsYes3Job titles/roles to search for
skillsarray of stringsNo3Supporting keywords
locationsarray of stringsYes3Locations to search in
timeFramestringNoOne of: "" (any time), r86400 (24h), r172800 (48h), r604800 (7 days), r1296000 (15 days)
liAtCookiestringNoOptional 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 listed
  • company — hiring company
  • location — location as shown on the job card
  • link — URL to the job posting
  • postedAt — posting date, if available
  • jobId — LinkedIn's internal job ID (used for deduplication)
  • searchLocation — which of your input locations produced this result
  • searchKeywords — the combined keyword string used for the search
  • roles — the roles you searched for
  • skills — the skills you searched for

Limits & notes

  • Maximum of 100 unique jobs per run, across all locations combined.
  • Duplicate jobs (same jobId or link) are filtered out automatically.
  • LinkedIn's job search UI can change without notice, and unauthenticated scraping is heavily rate-limited — providing a valid li_at cookie 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.