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.
| title | company_name | location | seniority | salary | applicant_count |
|---|---|---|---|---|---|
| Assistant Financial Accountant | Quinn and Associates | Dublin, Ireland | associate | 45,000–55,000 EUR / year | 38 |
| Major Gift Officer, Athletics Advancement | Merrimack College | North Andover, MA | not_applicable | 85,000–100,000 USD / year | 27 |
| Software Test Engineer Freshers | Unique Infotech | India | entry | 420,000–460,000 INR / year | 58 |
| Fox Fire Center Analyst | California Department of Forestry and Fire Protection (CAL FIRE) | San Diego County, CA | not_applicable | 3,861–6,276 USD / month | 41 |
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.