LinkedIn Jobs: scrapers and the official API, compared
Public job postings with company, seniority, location and salary details when listed.
Short answer
For most LinkedIn Jobs jobs, start with LinkedIn Jobs Scraper with Salary & Company Enrichment: it covers 6 of 7 core fields (title, company, location, posted at and 2 more) at $0.99 per 1,000 results on Apify's Free plan. The top published score for LinkedIn Jobs goes to Rapid Linkedin Jobs Scraper by worldunboxer (99 of 100), a Store tool from another publisher, listed for reference.
From published Store listings, output schemas and the official documentation. Checked 2026-11-12. How the ranking works.LinkedIn Jobs Scraper with Salary & Company Enrichment: inputs, code and costOpen in Apify Store
Route map
Each line is one way to get LinkedIn Jobs data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.
- 1 LinkedIn Jobs Scraper with Salary & Company Enrichment 22 output fields, pay per event 6 of 7 core fields
$0.99 / 1K - + 5 other Store tools, combined Reference only 7 of 7 core fields
from $0.10 / 1K - API LinkedIn Talent APIs Partner only fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Catalogue Actors for LinkedIn Jobs
LinkedIn Jobs Scraper with Salary & Company Enrichment
Search public LinkedIn job listings by keyword, location, salary band, job type and more, with full descriptions, parsed salary ranges, inferred…
Field matrix: who returns what
Every tool with a published output schema, against the 7 fields most LinkedIn Jobs jobs need. A dot means the field name appears in the schema; rows can still leave it empty.
| Tool | title | company | location | posted at | description | salary | url | Fields |
|---|---|---|---|---|---|---|---|---|
| LinkedIn Jobs Scraper with Salary & Company Enrichment | ● | ● | ● | ● | – | ● | ● | 6/7 |
| Rapid Linkedin Jobs ScraperReference only, by worldunboxer | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| LinkedIn Jobs ScraperReference only, by cheap_scraper | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| LinkedIn Jobs ScraperReference only, by bebity | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| Advanced LinkedIn Job Search APIReference only, by fantastic-jobs | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| Job Scraper: LinkedIn Jobs, Indeed Scraper, Glassdoor ScraperReference only, by openclawai | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| Tools returning it | 6 | 6 | 6 | 6 | 5 | 6 | 6 |
Field dictionary: the exact keys
The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every LinkedIn Jobs Actor by field.
| Core field | LinkedIn Jobs Scraper with… |
|---|---|
| title | title, companyName |
| company | companyName |
| location | location |
| posted at | postedDate |
| description | – |
| salary | salary |
| url | jobUrl |
Download this comparison: CSV · JSON (every tool with a published schema, matching keys per core field, price and score).
All 9 tools, scored
Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 80 | LinkedIn Jobs Scraper with Salary & Company Enrichment Catalogue Actor, pay per event | title, companyName, location | 22 | $0.99 | 4 runs, too few to rate | Nov 2026 |
Other Store tools, for reference
Scored with the same published formula and listed for comparison only; this site does not link or recommend them.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 99 | Rapid Linkedin Jobs Scraper Reference only, by worldunboxer | company_name, location, time_posted | 23 | $0.10 | 99% of 31,356 runs | Nov 2026 |
| 97 | LinkedIn Jobs Scraper Reference only, by cheap_scraper | jobTitle, companyName, location | 42 | $0.70 | 98% of 79,441 runs | Oct 2026 |
| 95 | LinkedIn Jobs Scraper Reference only, by bebity | title, companyName, location | 40 | $1.25 | 97% of 177,598 runs | Nov 2026 |
| 82 | Advanced LinkedIn Job Search API Reference only, by fantastic-jobs | title, organization, locations | 72 | $5.00 | 100% of 141,933 runs | Oct 2026 |
| 78 | Job Scraper: LinkedIn Jobs, Indeed Scraper, Glassdoor Scraper Reference only, by openclawai | title, company, location | 41 | $6.00 | 98% of 14,631 runs | Nov 2026 |
| 74 | LinkedIn Jobs Scraper Reference only, by valig | No published schema | – | $0.40 | 98% of 529,920 runs | Oct 2026 |
| 69 | Linkedin Jobs Scraper Reference only, by curious_coder | No published schema | – | $2.00 | 99% of 512,637 runs | Nov 2026 |
| 68 | Advanced Linkedin Job Scraper Reference only, by curious_coder | No published schema | – | $1.50 | 99% of 10,374 runs | Aug 2026 |
What to check before you choose
LinkedIn job postings help hiring teams track employer demand, compare advertised roles and examine compensation where salaries are listed. Location, seniority and employment type can help separate comparable openings before drawing conclusions about a hiring market.
Approved talent partners can pursue access through LinkedIn Talent APIs, subject to contractual scope. For public posting research, compare scraping tools by their published output; LinkedIn Jobs Scraper with Salary & Company Enrichment includes company context and salary-related attributes for employer and compensation comparisons.
Checklist
- Check how the published schema maps to your destination: companyName, postedDate and jobUrl use different names from company, posted_at and url.
- Inspect salarySource alongside salary and salaryRange.currency before comparing compensation.
- Confirm that descriptions are available if you need skills or responsibilities. The published schema for LinkedIn Jobs Scraper with Salary & Company Enrichment does not list description.
Where the data is incomplete
Salary details depend on what a posting contains and what enrichment returns.
The published schema includes postedDate and expiresAt. Without example records, completeness, date formatting and consistency across job and company attributes remain unconfirmed.
Official API route
LinkedIn Talent APIs
Job data access is available to approved talent partners. There is no open, self-serve job search API.
Price. Partner arrangements only; pricing is not public.
Limits. Scope and contract limits apply.
Terms and personal data
Limit collection to public job pages and review LinkedIn's terms before automating access. Public visibility is not permission for collection or reuse. This is general information, not legal advice.
Read LinkedIn Jobs' terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.
How to start
- Open the Store listing for LinkedIn Jobs Scraper with Salary & Company Enrichment and review its documented inputs and event charges.
- Configure a narrow job search using the supported inputs, then start an initial collection.
- Inspect the resulting dataset for title, companyName, location, postedDate and jobUrl, then check salarySource and missing values before expanding collection.
Call LinkedIn Jobs Scraper with Salary & Company Enrichment from code
The example input uses the Actor's published defaults; set your own LinkedIn Jobs query before you run it. You need an Apify API token.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"searchQueries": [
"Python Developer"
],
"locations": [
"United States"
],
"easyApply": False,
"under10Applicants": False,
"industry": [],
"companySizes": [],
"excludeStaffingAgencies": False,
"requireSalary": False,
"requireRecruiter": False,
"scrapeJobDetails": False,
"includeCompanyDetails": False,
"enrichmentDepth": "standard",
"language": "en",
"splitLargeSearches": True,
"maxItems": 3
}
run = client.actor("nimbryxo-studio/linkedin-jobs-scraper-with-salary-and-company").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"searchQueries": [
"Python Developer"
],
"locations": [
"United States"
],
"easyApply": false,
"under10Applicants": false,
"industry": [],
"companySizes": [],
"excludeStaffingAgencies": false,
"requireSalary": false,
"requireRecruiter": false,
"scrapeJobDetails": false,
"includeCompanyDetails": false,
"enrichmentDepth": "standard",
"language": "en",
"splitLargeSearches": true,
"maxItems": 3
};
const run = await client.actor("nimbryxo-studio/linkedin-jobs-scraper-with-salary-and-company").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~linkedin-jobs-scraper-with-salary-and-company/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"searchQueries":["Python Developer"],"locations":["United States"],"easyApply":false,"under10Applicants":false,"industry":[],"companySizes":[],"excludeStaffingAgencies":false,"requireSalary":false,"requireRecruiter":false,"scrapeJobDetails":false,"includeCompanyDetails":false,"enrichmentDepth":"standard","language":"en","splitLargeSearches":true,"maxItems":3}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=nimbryxo-studio/linkedin-jobs-scraper-with-salary-and-company",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
Questions people ask
Is there an official LinkedIn job search API?
LinkedIn Talent APIs make job data access available to approved talent partners, with scope and contract limits. There is no open, self-serve job search API.
Can I distinguish advertised salaries from enriched estimates?
The published schema includes salarySource alongside salary and annual salary range attributes. Check the Store listing for source definitions and inspect returned values before treating compensation as employer-advertised.
Can I use the output to analyse skills in job descriptions?
The published schema for LinkedIn Jobs Scraper with Salary & Company Enrichment does not list description. Confirm description availability before choosing it for skills extraction or responsibilities analysis.
Does the listed result price cover the full collection cost?
The result-event price excludes Actor start events and platform plan differences. Review those charges in the Store listing before estimating a collection budget.
What is the cheapest catalogue Actor for LinkedIn Jobs data?
LinkedIn Jobs Scraper with Salary & Company Enrichment lists $0.99 per 1,000 results (pay per event), with 22 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-11-12.
Which LinkedIn Jobs scraper returns the most core fields?
LinkedIn Jobs Scraper with Salary & Company Enrichment covers 6 of the 7 core LinkedIn Jobs fields this page tracks (title, company, location, posted at, description, salary, url), based on its published output schema.
Does LinkedIn Jobs have an official API?
Partner only: Job data access is available to approved talent partners. There is no open, self-serve job search API. Partner arrangements only; pricing is not public.
Is it legal to scrape LinkedIn Jobs?
It depends on what you collect and how. Limit collection to public job pages and review LinkedIn's terms before automating access. Public visibility is not permission for collection or reuse. Read LinkedIn Jobs' terms (https://www.linkedin.com/legal/user-agreement) before you collect, and check whether personal data is involved. This is general information, not legal advice.
More on LinkedIn Jobs
Related websites
Sources
- LinkedIn Jobs Scraper with Salary & Company Enrichment on Apify Store
- LinkedIn Talent APIs documentation
- LinkedIn Jobs terms
Cite this page
Scraper Finder. "How to get LinkedIn Jobs data." https://scraperfinder.com/sites/linkedin-jobs/ (data checked 2026-11-12).
Highest-scoring catalogue Actor
LinkedIn Jobs Scraper with Salary & Company Enrichment: 6 of 7 core fields, $0.99 per 1,000 results, score 80. The highest score overall is 99 (Rapid Linkedin Jobs Scraper, a Store tool from another publisher); both are in the table above.