🏆 AI Powered Linkedin Job Scraper⚡ Advanced Data Best Value 🏆 avatar

🏆 AI Powered Linkedin Job Scraper⚡ Advanced Data Best Value 🏆

Pricing

Pay per usage

Go to Apify Store
🏆 AI Powered Linkedin Job Scraper⚡ Advanced Data Best Value 🏆

🏆 AI Powered Linkedin Job Scraper⚡ Advanced Data Best Value 🏆

Scrape public LinkedIn job search results by keyword/location or search URL. Includes job description, criteria, and company info — no login required.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Muhammad Shamshad Aslam

Muhammad Shamshad Aslam

Maintained by Community

Actor stats

8

Bookmarked

3

Total users

2

Monthly active users

3 hours ago

Last modified

Share

LinkedIn Jobs Scraper

Scrape job listings from LinkedIn's public job search — no login, no account risk, no browser overhead. Uses LinkedIn's guest API directly, so it's fast and returns clean structured data.

Features

  • Two input modes — paste LinkedIn search URLs (all filters preserved) or use keyword + location
  • 🖼️ Free card datacompanyLogo, benefits ("Actively Hiring"), trackingId and inputUrl come straight from the search card, so they cost no extra requests
  • Standard field namesid, link, companyName, salaryInfo, postedAt, descriptionText, industries, applicantsCount, companyEmployeesCount, applyMethod
  • Full job details — description (plain text + HTML), seniority level, employment type, job function, industries, applicant count, salary (read from the job page, where LinkedIn actually publishes it)
  • Deep company data — website, domain, industry, employee count, headquarters, type, founding year, specialties, description. One cached request per company, so an employer with 30 jobs costs one fetch
  • Job poster — recruiter name, title, and LinkedIn profile URL when the listing shows one
  • 🚫 Recruitment-agency filter — flag or remove staffing firms. Employers whose LinkedIn industry is Staffing and Recruiting, Human Resources or similar are caught instantly with no AI call; optional OpenAI (gpt-4o-mini) reads company descriptions for the rest
  • 🧹 Data cleanup — keep or drop jobs by words in the title, description or company description. Whole-word matching, so software never hits Softwareentwickler
  • 🏢 Max jobs per employer — stop one large company flooding your results
  • Per-job webhook — each job POSTed to your endpoint as it is scraped, ready for Clay, n8n, Make or Zapier
  • Duplicate-free — deduplicated by LinkedIn job ID, before enrichment, so a duplicate never costs a request
  • No login required — scrapes the public jobs search, so no account can get banned

Limits

LinkedIn caps every search at roughly 1,000 results, however many jobs match. That ceiling is LinkedIn's, not this Actor's, and it cannot be bypassed without corrupting relevance — filter-slicing tricks make LinkedIn loosen the keyword match, so a "software engineer" search starts returning unrelated intern postings. To collect more than 1,000, run several genuinely different searches — narrower keywords (backend engineer, java developer) or separate cities rather than a whole country — and deduplicate on id.

Input

FieldTypeDefaultDescription
searchUrlsarrayUS software-engineer searchLinkedIn jobs search URLs; overrides keyword/location and every Option 2 field. Build them in an incognito window
keywordstringJob title or keyword. Used only when no search URL is given
locationstringCity, region, or country. Used only when no search URL is given
postedWithinselectAny timePast 24 hours / week / month
easyApplyOnlybooleanfalseOnly jobs you can apply to without leaving LinkedIn
maxItemsinteger0Jobs needed. 0 = scrape all results. Counts jobs actually kept when a cleanup filter is on
maxJobsPerCompanyinteger00 = every job from every employer. Set 2–10 to spread results across more companies
includeWords / includeInarrayKeep only jobs containing any of these words, in the fields you choose
excludeWords / excludeInarrayDrop jobs containing any of these words. Exclude always beats include
recruitmentAgencyHandlingselectoffoff / flag / exclude. Industry-based screen is free; OpenAI key optional
openaiApiKeystringYour key, billed to you. Used only with gpt-4o-mini
webhookUrlstringPOST each job to your URL as it is scraped
proxyConfigproxyResidentialResidential is the default; datacenter is untested on these endpoints

Example input

{
"searchUrls": ["https://www.linkedin.com/jobs/search?keywords=Software%20Engineer&location=United%20States&geoId=103644278"],
"maxItems": 200
}

Only employers hiring directly, no interns, one job per company:

{
"keyword": "software engineer",
"location": "United States",
"maxItems": 500,
"maxJobsPerCompany": 1,
"excludeWords": ["intern", "graduate"],
"excludeIn": ["title"],
"recruitmentAgencyHandling": "exclude"
}

Output

{
"id": "4425772390",
"trackingId": "W6KvEeviLxwIxFaCblOv5Q==",
"refId": null,
"title": "Senior Structural Analysis Engineer",
"companyName": "Turkish Aerospace",
"companyLinkedinUrl": "https://tr.linkedin.com/company/turkishaerospace",
"companyLogo": "https://media.licdn.com/dms/image/v2/.../company-logo_100_100",
"benefits": ["Actively Hiring"],
"location": "Islāmābād, Pakistan",
"salaryInfo": "Base pay range $100,000.00/yr - $225,000.00/yr",
"postedAt": "2026-06-15",
"postedRelative": "4 weeks ago",
"link": "https://www.linkedin.com/jobs/view/4425772390",
"applyUrl": "https://www.linkedin.com/jobs/view/4425772390/",
"applyMethod": "easy_apply",
"jobPosterName": "ALP DÜNDAR",
"jobPosterTitle": "Recruitment Specialist at Türk Havacılık ve Uzay Sanayii",
"jobPosterProfileUrl": "https://tr.linkedin.com/in/alp-d%C3%BCndar-a98a9a1a1",
"descriptionText": "We are proud to work for a company that we believe has a great purpose. …",
"descriptionHtml": "<p><strong>Hello!</strong></p><p>…</p>",
"seniorityLevel": "Associate",
"employmentType": "Full-time",
"jobFunction": "Engineering",
"industries": "Engineering Services, Defense and Space Manufacturing, and Airlines and Aviation",
"applicantsCount": "Over 200 applicants",
"companyWebsite": "https://www.tusas.com/",
"companyDomain": "tusas.com",
"companyIndustry": "Aviation and Aerospace Component Manufacturing",
"companyEmployeesCount": "10,001+ employees",
"companyHeadquarters": "Ankara",
"companyType": "Privately Held",
"companyFounded": "1973",
"companySpecialties": "aerospace, aviation, and defence",
"companyDescription": "Türk Uçak Sanayii Anonim Ortaklığı (TUSAŞ) …",
"isRecruitmentAgency": false,
"recruitmentAgencyReason": null,
"recruitmentAgencyMatchedBy": null,
"inputUrl": "https://www.linkedin.com/jobs-guest/jobs/api/seeMoreJobPostings/search?keywords=..."
}

Use cases

  • Lead generation — companies actively hiring are companies actively buying; pair with a contact-finder for outreach
  • Recruiting & sourcing — monitor fresh openings by market, function, or seniority
  • Market research — hiring trends, in-demand skills, remote-work share by industry
  • Competitor analysis — track who your competitors are hiring

Tips

  • Search URLs must come from the public (logged-out) jobs search — open an incognito window, set your filters, and copy the URL. Logged-in search URLs use different filters that the public API ignores.
  • Full job and company details are always fetched — they are the point of the Actor, not an option.
  • recruitmentAgencyHandling catches most agencies for free from LinkedIn's industry label; the OpenAI key only matters for firms whose industry and name give nothing away.
  • Export as CSV, Excel, or JSON from the dataset tab, or pull via the Apify API.