LinkedIn Job Details Scraper avatar

LinkedIn Job Details Scraper

Pricing

from $1.20 / 1,000 jobs

Go to Apify Store
LinkedIn Job Details Scraper

LinkedIn Job Details Scraper

The LinkedIn Job Details Scraper extracts job data from LinkedIn job detail URLs, capturing job titles, company names, logos, locations, posting times, descriptions, number of applicants, job criteria, similar jobs, and related job listings—ideal for recruitment insights and job market analysis.

Pricing

from $1.20 / 1,000 jobs

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

15

Bookmarked

606

Total users

83

Monthly active users

2 days ago

Last modified

Share

🚀 LinkedIn Job Details Scraper

Extract full job data from any LinkedIn job posting — including the posted salary range, seniority level and employment type as flat, filterable fields. No login, no cookies, no proxy required.

✨ Features

  • 💰 Posted salary parsedsalaryMin, salaryMax, salaryCurrency and salaryPeriod as numbers, not a string you have to regex yourself.
  • 🎯 Flat filter fieldsseniorityLevel, employmentType, jobFunction and industries are top-level fields, not buried in a name/value array.
  • 🏢 Company join keycompanySlug plus a normalised companyUrl, stable across runs and across LinkedIn's locale subdomains.
  • 📊 Applicant count as a number — sort and threshold on applicantCount directly.
  • 🔗 Apply routeapplyType tells you whether it is LinkedIn Easy Apply or an external ATS.
  • 🔍 Discovery data others dropsimilarJobs and peopleAlsoViewed come free with every posting.
  • No login required — runs without cookies, accounts or proxies.
  • 🔌 Standby / API mode — call it as an HTTP endpoint with ?url= or ?id=.

🛠️ How It Works

  1. Provide job URLs – pass LinkedIn job URLs in searchUrls. Full job pages (/jobs/view/<id>) and search URLs containing currentJobId both work; the job ID is extracted and normalised automatically.
  2. Run the scraper – each posting comes back as one structured record.

API (Standby) mode

GET https://<your-standby-url>/?id=4390867392
GET https://<your-standby-url>/?url=https://www.linkedin.com/jobs/view/4390867392

📋 Output Fields

Every run returns these 26 fields per record:

FieldTypeDescription
jobIdstringLinkedIn job posting ID
jobUrlstringCanonical LinkedIn job URL
jobTitlestringJob title
companyNamestringHiring company name
companyUrlstringCompany LinkedIn URL, normalised to www (LinkedIn serves locale subdomains)
companySlugstringCompany slug — stable join key across runs
companyLogostringCompany logo image
jobLocationstringJob location
postedTimeAgostringHow long ago the job was posted, as displayed
numApplicantsCaptionstringApplicant caption as displayed
applicantCountnumberApplicant count as a number, for sorting and thresholds
applyTypestring'easyApply' for LinkedIn Easy Apply, 'offsite' for an external ATS
seniorityLevelstringSeniority level (flattened from the job criteria)
employmentTypestringEmployment type: Full-time, Part-time, Contract, ...
jobFunctionstringJob function
industriesstringIndustries
salaryTextstringPosted salary range as displayed; null when the employer posts none
salaryMinnumberLower bound of the posted salary range
salaryMaxnumberUpper bound of the posted salary range
salaryCurrencystringCurrency symbol or code of the posted salary
salaryPeriodstring'year', 'hour' or 'month'; inferred from magnitude when not stated
descriptionstringFull job description text
criteriaarrayOriginal name/value criteria list, kept for backwards compatibility
similarJobsarraySimilar jobs LinkedIn surfaces alongside this posting
peopleAlsoViewedarrayJobs that viewers of this posting also viewed
scrapedAtstringISO 8601 timestamp of when this row was scraped

The salary fields are null when the employer has not posted a range — common outside jurisdictions with pay-transparency rules. salaryPeriod is inferred from magnitude only where unambiguous, and left null otherwise rather than guessed.

📊 Sample Output Data

Real output from a live run:

[
{
"jobId": "4390867392",
"jobUrl": "https://www.linkedin.com/jobs/view/4390867392",
"jobTitle": "Controls Engineer",
"companyName": "TotalEnergies",
"companyUrl": "https://www.linkedin.com/company/totalenergies",
"companySlug": "totalenergies",
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQGfwFj7jhhQJg/company-logo_100_100/company-logo_100_100/0/1630529979109/totalenergies_logo?e=2147483647&v=beta&t=i5JO4SHN-1X6Cq9d0csqaCRqLo3oF81TOH8goFSDfCg",
"jobLocation": "Grand Rapids Metropolitan Area",
"postedTimeAgo": "17 hours ago",
"numApplicantsCaption": "Over 200 applicants",
"applicantCount": 200,
"applyType": "offsite",
"seniorityLevel": "Entry level",
"employmentType": "Full-time",
"jobFunction": "Engineering and Information Technology",
"industries": "Oil and Gas",
"salaryText": "$80,000.00 - $125,000.00",
"salaryMin": 80000,
"salaryMax": 125000,
"salaryCurrency": "$",
"salaryPeriod": "year",
"description": "Activités We are 40 000 men and women who meet the challenges faced by our automotive, aviation, defence and industry customers every day. Our passion for challenge and our enthusiasm encourage us to … (truncated)",
"criteria": [
{
"name": "Seniority level",
"value": "Entry level"
},
{
"name": "Employment type",
"value": "Full-time"
},
"… 2 more"
],
"similarJobs": [
{
"jobLink": "https://www.linkedin.com/jobs/view/controls-engineer-at-cs-erickson-4441651439?refId=%2BiKrzdLpdE72vzftOu7Vlw%3D%3D&trackingId=B5to3X2vXnk4fYqZOtQzqg%3D%3D",
"jobName": "Controls Engineer",
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQFBzSHhtlzOsQ/company-logo_100_100/company-logo_100_100/0/1651687014366/cs_erickson_logo?e=2147483647&v=beta&t=APLrRq048oDGokiqN7g2EVlkFOCgyer-GBlJ3CTUCH8",
"companyName": "CS Erickson",
"jobLocation": "Grand Rapids, MI",
"postedTimeAgo": "2 weeks ago"
},
{
"jobLink": "https://www.linkedin.com/jobs/view/lts-controls-engineer-m-f-d-at-tgw-logistics-4400835598?refId=%2BiKrzdLpdE72vzftOu7Vlw%3D%3D&trackingId=7eUFTxk2A8%2BTTtO1VKCuuw%3D%3D",
"jobName": "LTS Controls Engineer (M/F/D)*",
"companyLogo": "https://media.licdn.com/dms/image/v2/D4D0BAQHvL3EOtPB_0g/company-logo_100_100/company-logo_100_100/0/1738564903354/tgw_group_logo?e=2147483647&v=beta&t=SXaJRSPjcEf-nTu2-7xRaRyY3JHIYI7tYNuql97UXpk",
"companyName": "TGW Logistics",
"jobLocation": "Grand Rapids, MI",
"postedTimeAgo": "2 days ago"
},
"… 111 more"
],
"peopleAlsoViewed": [
{
"jobLink": "https://www.linkedin.com/jobs/view/controls-engineer-at-pop-up-talent-4448940370?refId=%2BiKrzdLpdE72vzftOu7Vlw%3D%3D&trackingId=WOJGBmAdpKmeCORaDxt8dQ%3D%3D",
"jobTitle": "Controls Engineer",
"companyName": "Pop-Up Talent",
"jobLocation": "Plainwell, MI",
"postedTimeAgo": null
},
{
"jobLink": "https://www.linkedin.com/jobs/view/controls-engineer-at-nextplay-jobs-4446430092?refId=%2BiKrzdLpdE72vzftOu7Vlw%3D%3D&trackingId=HfiqhMbmyOGJz1HFikrWog%3D%3D",
"jobTitle": "Controls Engineer",
"companyName": "NextPlay Jobs",
"jobLocation": "Grand Rapids, MI",
"postedTimeAgo": "6 days ago"
},
"… 8 more"
],
"scrapedAt": "2026-08-05T11:40:59.848Z"
}
]