All scrapers

Business data

LinkedIn Scraper

linkedin.com

99.9% Success rate
4.6s Avg response
Bot detection + rate limiting Protection
1,000 calls Measured over

LinkedIn jobs are served through a dedicated plugin endpoint rather than the generic page fetch. Give it a keyword - and optionally a location - and it returns the postings LinkedIn serves without login, its public guest jobs surface, already parsed: for each job the title, the company with a clean company URL, the location, the posted date as both an ISO timestamp and a relative age, the jobId and a canonical job URL, and the company logo. Narrow the search with LinkedIn's own guest filters - date posted, workplace, job type, experience level and salary band - and page through as many results as you need. Ask for the detail of one job and you also get its full description, seniority level, employment type, job function and industries. Public job posts and company pages are reachable; anything behind a login is not, by design.

What you can extract

  • Job title and a canonical job URL (with jobId)
  • Company name and a clean company URL
  • Location and posted date (ISO timestamp + relative age)
  • Company logo image URL
  • Guest filters: date posted, workplace, job type, experience and salary
  • Detail mode: full description, seniority level, employment type, job function and industries

Dedicated endpoints

/jobs/linkedin

LinkedIn job search

Job postings from LinkedIn's public guest surface for a keyword (+ optional location): each with jobId, title, company, companyUrl, location, postedDate (ISO), a canonical jobUrl and companyLogo. Filter by date posted, workplace, job type, experience and salary; page with max_results. Pass mode=detail with a job_id for the full description, seniority, employment type, function and industries.

How to scrape it

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/jobs/linkedin?keyword=python%20developer&location=United%20States"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/jobs/linkedin",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"keyword": "python developer", "location": "United States"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const data = await su.linkedinJobs('python developer', {
  location: 'United States',
  workplace: 'remote',
  timePosted: 'week',
});
console.log(results);

Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.

Read the API docs

Related scrapers

Start scraping this site today

Free tier included. No credit card required to test it.