Indeed Jobs Dataset: Salary, Company Data, and 27 Fields per Job (2026)

Indeed has no public jobs API, so the practical way to get a structured Indeed jobs dataset is to scrape it. This page documents exactly what you get: 27 fields per listing including parsed salary, geo, benefits, and the full description, plus a separate free company dataset. If you want the process instead, see the how to scrape Indeed jobs guide.

Two datasets, joined on one key

A run produces two datasets that join on companyKey: a billed Jobs dataset (one row per listing) and an optional, free Companies dataset (one deduped row per employer). Keep them separate for clean analytics, or join them for enriched rows.

Jobs dataset: 27 fields per listing

The full job description is inline, so there is no extra request per row. Key fields:

FieldWhat it is
jobKeyIndeed's unique job id. Use it for exact re-lookup later.
title, companyJob title and employer name.
salaryRaw salary text, e.g. "$120,000 - $160,000 a year".
salaryMin, salaryMaxParsed numeric bounds for benchmarking.
salaryPeriod, currencyYEAR / MONTH / WEEK / DAY / HOUR, and currency.
city, state, countryCode, latitude, longitudeParsed location and geo-coordinates.
jobType, remoteEmployment type; remote / hybrid / on-site.
occupations, benefitsIndeed job category taxonomy and listed benefits.
datePosted, isUrgentHire, easyApplyFreshness and application signals.
description, urlFull description text and the canonical listing URL.
companyRating, companyReviewCount, companyPageUrlEmployer rating snapshot inline on the job row.

Companies dataset (free): 14 fields per employer

Enable company profiles and every unique employer is written once to a separate, unbilled dataset:

FieldWhat it is
companyKeyJoin key back to the Jobs dataset.
industry, employees, revenueIndustry, headcount band, and revenue band.
ceo, founded, websiteFirmographic detail, when published.
rating, reviewCountOverall employer rating and review volume.
facebook, twitter, instagramSocial profiles, when published.

Filter at the source

Rather than scraping everything and filtering later, constrain the run: keyword query, location and country, a native salary range (salaryMin / salaryMax), jobType, experienceLevel, datePosted, and remote. A jobKeys lookup mode re-pulls specific listings by id. Date-sharding pushes past Indeed's roughly 1,000-result depth ceiling.

See the data first. Grab the free Indeed jobs data sample, or run the Indeed Jobs Scraper on your own search (first 1,250 rows free on Apify's $5 monthly credit).

What people use it for

Frequently asked questions

Is there a free Indeed jobs dataset sample?

Yes, a free Indeed jobs data sample with the same schema as a full run.

Does it include salary data?

Yes: raw salary text plus parsed salaryMin, salaryMax, salaryPeriod, and currency, and you can filter by a native salary range at the source.

Can I get more than 1,000 jobs in one run?

Yes. The scraper date-shards the search to break past Indeed's ~1,000-result depth cap and reports retrieved-vs-estimated totals.

Do I need an Indeed login or API key?

No login, account, or proxy setup. You provide a search or a set of URLs and get structured rows back.