LinkedIn jobs dataset

8.4 million public LinkedIn job postings since April 2026, about 45,000 more every day, with salary, applicant counts and full descriptions. Delivered as one Parquet or CSV file per day.

At a glance

Job postings
8.4 million, growing by about 45,000 a day
Coverage
Since April 2026, from LinkedIn's public job pages in 218 regions
Companies
560,000+ hiring companies, joinable to company records by company_id
Fields
Title, company, location, seniority, employment type, functions, industries, dates, salary, applicant count, full description
Format
Parquet or CSV, one file per UTC day of first sighting, with a manifest of row counts and checksums
Delivery
Full history, a daily feed, or both. A day's file is final two days later.
Sample
1,000 real jobs, free

What a job row looks like

Real rows from the free sample, which uses the same columns as the files.

titlecompany_namelocationsenioritysalaryapplicant_count
Assistant Financial AccountantQuinn and AssociatesDublin, Irelandassociate45,000–55,000 EUR / year38
Major Gift Officer, Athletics AdvancementMerrimack CollegeNorth Andover, MAnot_applicable85,000–100,000 USD / year27
Software Test Engineer FreshersUnique InfotechIndiaentry420,000–460,000 INR / year58
Fox Fire Center AnalystCalifornia Department of Forestry and Fire Protection (CAL FIRE)San Diego County, CAnot_applicable3,861–6,276 USD / month41

Job columns

The API and every file share these columns. Coverage notes show where LinkedIn often leaves a field out.

job_id
LinkedIn's job id; linkedin.com/jobs/view/<job_id> opens the post.
title, title_id
Title as posted, plus LinkedIn's standardized title id, which groups “Sr. SWE” with “Software Engineer III”.
company_id, company_name, company_slug
The hiring company. company_id joins to the company data.
company_id on about 98%
location, country_code, geo_id
Location as LinkedIn shows it, plus the country and LinkedIn geo of the search that found the job.
seniority, employment_type
Normalized values such as mid_senior or full_time.
job_functions, industries, industry_ids
Functions as a list; industries as LinkedIn wrote them, with ids for filtering.
posted_at, posted_at_exact
When the job was posted. Exact to the second when LinkedIn reveals it, otherwise the day.
exact on about 83%
description, description_html
The full job description as text and HTML, with contact details redacted.
salary_raw, salary_min, salary_max, salary_currency, salary_period
Pay as written and parsed into numbers, currency and period.
on about 10%
applicant_count, applicant_count_capped, applicant_count_early
Applicants LinkedIn showed, whether it was a ceiling such as “over 200”, and “be among the first 25”.
on about 8%
first_seen_at, last_seen_at, fetched_at, closed_at
When we first and last saw the job in search, last read its page, and found it closed.

Query the files where they land

Parquet opens in DuckDB, Polars, pandas, Spark, BigQuery or Snowflake without an import step.

-- Which companies started hiring engineers this month? (DuckDB)
SELECT company_name, country_code, count(*) AS openings
FROM read_parquet('linkfetch-jobs/day=*/jobs.parquet', hive_partitioning = true)
WHERE first_seen_at > now() - INTERVAL 30 DAY
  AND list_contains(job_functions, 'Engineering')
GROUP BY ALL
HAVING count(*) >= 5
ORDER BY openings DESC;

Files, API or MCP

The files suit bulk analysis. For a few thousand jobs at a time, the API and MCP server return the same rows.

Files
The full history and each new day as Parquet or CSV. Priced by scope: write to us.
API
Search jobs by title, company, location, seniority and date: 1 credit returns up to 50 jobs. Prices and a comparison with Coresignal and TheirStack.
MCP
Ask Claude, Cursor or another AI app about the jobs directly through https://linkfetch.io/mcp.

Dataset files

Every job since April 2026, 8.4 million posts, as Parquet or CSV files, plus a daily feed if you need one. Write to us and we’ll send the details.

Questions

What is in the LinkFetch LinkedIn jobs dataset?
8.4 million public LinkedIn job postings collected since April 2026, growing by about 45,000 a day. Each row has the title, hiring company, location, country, seniority, employment type, job functions, industries, posting date, salary when listed, applicant count when shown, and the full description.
How do I get the LinkedIn jobs dataset?
As Parquet or CSV files, one per UTC day of first sighting, with a manifest of row counts and checksums. You can take the full history, a daily feed of new days, or both: write to info@linkfetch.io. For smaller pulls, the same jobs come through the API and MCP server at 1 credit per search of up to 50 jobs.
Is there a free sample?
Yes. The free sample has 1,000 real jobs with the same columns as the files. New accounts also get 500 free credits for the API and MCP.
How much does it cost?
Files are priced by how much history and how many days you need, so write to us for a quote. Through the API, 1 credit returns up to 50 jobs, and credit packs start at $19 for 1,000 credits with no subscription or contract.
How fresh is the data?
Collection runs around the clock. A day's file is final two days after that day ends, once late sightings and closed jobs are folded in.
Where does the data come from?
From LinkedIn's public, logged-out job pages, across 218 regions. No LinkedIn account is used to collect it. LinkFetch is independent and not affiliated with LinkedIn.
Does the dataset contain personal data?
No profiles are included. Emails, phone numbers and LinkedIn profile links inside job descriptions are redacted before any file or API response leaves us.
How complete is it?
It covers LinkedIn only, in the regions we scan, and some jobs are still missed where searches hit LinkedIn's 1,000-result cap. Salary appears on about 10% of posts and applicant counts on about 8%, because that is how often LinkedIn shows them.

Open the sample before you decide.

Or ask for the full history