LinkedIn Job Detail Scraper avatar

LinkedIn Job Detail Scraper

Pricing

$0.90 / 1,000 results

Go to Apify Store
LinkedIn Job Detail Scraper

LinkedIn Job Detail Scraper

Full detail for LinkedIn jobs by URL or id: description, seniority, employment type, applicants, salary. No login. $0.90/1k.

Pricing

$0.90 / 1,000 results

Rating

0.0

(0)

Developer

Danny

Danny

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Fetch the full detail for LinkedIn jobs by URL or id: description, seniority, employment type, function, industries, applicants, salary (when the employer posted it). Returns clean JSON. $0.90 / 1,000 jobs.

Public, logged-out data only — no login, no cookies, no account.

Input

ParameterTypeRequiredDescription
job_urls_or_idsarrayYesLinkedIn job URLs or numeric ids.

Example Input

{
"job_urls_or_ids": [
"https://www.linkedin.com/jobs/view/4438850133",
"4406548495"
]
}

Output

Each dataset item is one job:

{
"job_id": "4438850133",
"title": "...",
"company_name": "...",
"location": "...",
"description_text": "...",
"seniority_level": "...",
"employment_type": "...",
"job_function": "...",
"industries": "...",
"applicants_count": "...",
"salary": "...",
"apply_url": "...",
"posted_at": "..."
}

Fields

FieldDescription
job_idLinkedIn job id
titleJob title
company_nameEmployer
locationJob location
description_textFull job description (plain text)
seniority_levele.g. Mid-Senior level
employment_typee.g. Full-time
job_functione.g. Engineering
industriese.g. Software Development
applicants_counte.g. 'Over 200 applicants' (variable-fill)
salaryComp string when the employer posted it (often null)
apply_urlOff-site apply URL when present
posted_atISO date posted

Pagination

Handled server-side — the actor returns the full result set for your input in one run (bounded by max_results where applicable). LinkedIn's logged-out feed caps at ~500-530 unique jobs per query.

Python Client

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("good-apis/linkedin-job-detail-scraper").call(run_input={
"job_urls_or_ids": [
"https://www.linkedin.com/jobs/view/4438850133",
"4406548495"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Node.js Client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('good-apis/linkedin-job-detail-scraper').call({
"job_urls_or_ids": [
"https://www.linkedin.com/jobs/view/4438850133",
"4406548495"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item);

Install the client with npm install apify-client.

FAQ

What input does it take? A list of LinkedIn job URLs or bare numeric ids in job_urls_or_ids.

Why is salary/skills sometimes null? LinkedIn's logged-out pages only expose salary when the employer stamped it, and never expose structured skills/benefits — those are reported null rather than invented.

What is one billed result? One returned job detail = one result event at $0.90 / 1,000 jobs.