Indeed Jobs Scraper avatar

Indeed Jobs Scraper

Pricing

from $0.07 / 1,000 jobs

Go to Apify Store
Indeed Jobs Scraper

Indeed Jobs Scraper

Scrape Indeed jobs from 62 countries with full descriptions, parsed salaries, employer apply links and company data. Gets past Indeed's 1,000-result limit.

Pricing

from $0.07 / 1,000 jobs

Rating

0.0

(0)

Developer

delta spider

delta spider

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

2 days ago

Last modified

Share

What does Indeed Jobs Scraper do?

It collects job listings from Indeed in 62 countries and returns them as flat, ready-to-use rows. Search by keyword and location, or paste the URL of any Indeed search you have already filtered on the site. Each job comes with its full description, parsed salary, the employer's own application link, and the company's rating, size and revenue.

It is built for recruiters and sourcers, sales teams looking for companies that are hiring, job boards that need fresh listings, and analysts studying salaries and hiring demand.

Why use it

  • The employer's application link. Most jobs carry applyUrl, the page on the employer's own careers site or applicant tracking system, so you are not stuck with an Indeed redirect. It was present on 88% of jobs in our tests; the rest are applied to on Indeed itself, which isEasyApply tells you.
  • Salary as numbers. salaryMin, salaryMax, salaryPeriod and salaryCurrency are parsed out for you, next to Indeed's original text. About three jobs in four carry a salary.
  • Company data in every row. Rating and number of ratings, size, revenue, industry, website, logo and headquarters, from Indeed's company profiles. No second lookup needed.
  • Flat rows. One level, no nested objects, so a CSV export opens cleanly in Excel or Google Sheets.
  • Past Indeed's 1,000-job limit. When Indeed stops serving a search early, the Actor goes on through it by date range, newest first, so one search can return several thousand jobs.
  • Many searches, no duplicates. Give it several searches in one run. A job that matches more than one is saved once.
  • Cheap. 1,000 jobs cost $0.10. On the Apify platform they usually take one to four minutes.

What data you get

GroupFields
Jobid, title, url, applyUrl, isEasyApply, jobTypes, attributes (skills, benefits, requirements), occupations, descriptionText, descriptionHtml, language
SalarysalaryText, salaryMin, salaryMax, salaryPeriod, salaryCurrency, salaryIsEstimated
CompanycompanyName, companyUrl, companyWebsite, companyLogo, companyRating, companyRatingCount, companyIndustry, companySize, companyRevenue, companyCeo, companyAddress, companyDescription
Locationlocation, city, state, postalCode, country, latitude, longitude, isRemote, isHybrid
Dates and signalspostedAt, firstSeenOnIndeedAt, isExpired, isUrgentHire, isHighVolumeHiring
SearchsearchQuery, searchLocation, searchCountry, scrapedAt

How to scrape Indeed jobs

  1. Enter a search query, a location, or both, and pick the country.
  2. Or run your search on Indeed, set the filters you want there, and paste the URL into Indeed search URLs. Add as many URLs as you like.
  3. Set Maximum jobs per search, or 0 for no limit.
  4. Run it, then export the results as JSON, CSV or Excel.

Input

FieldNotes
Search queryJob title, skill or company. Indeed's search syntax works too, see below.
LocationCity, state or postcode. Leave empty to search the whole country.
CountryWhich Indeed site to search, 62 countries. Default US.
Maximum jobs per searchDefault 100. 0 means no limit; a broad search can return thousands.
Posted withinLast 1, 3, 7 or 14 days.
Job typeFull-time, part-time, contract, temporary or internship.
Work arrangementRemote or hybrid.
Sort byRelevance or date.
Radius and unitDistance around the location, in miles or kilometres. Default 25 miles.
Indeed search URLsPasted Indeed search URLs, each run as its own search. See below.
{
"query": "data analyst",
"location": "Chicago, IL",
"country": "US",
"maxItems": 500,
"fromDays": "7",
"jobType": "fulltime"
}

Pasted search URLs

Each pasted URL is its own search, separate from the query and location fields; those run as one more search if you fill them in. From the URL the Actor reads the query (q), location (l), radius, sort, posted within (fromage: 1, 3, 7 or 14 days), job type (jt) and the job type and remote filters Indeed puts in sc. The country comes from the domain, such as uk.indeed.com. Posted within, job type, work arrangement, sort and radius from the form apply when the URL does not set them. Other URL parameters, and values Indeed's app does not support (such as fromage=30), are ignored.

Indeed search syntax

The search query is passed to Indeed unchanged, so its operators work:

QueryFinds
"data engineer"the exact phrase anywhere in the posting
title:("data engineer")the phrase in the job title
title:("data engineer") -seniordata engineer titles, excluding senior roles
company:Googlejobs at one company
nurse -travelnursing jobs that do not mention travel

Usage examples

Who is hiring data people in one city. Query title:("data analyst" or "data engineer"), location Austin, TX, posted within 7 days. Group the rows by companyName and use companyWebsite and companySize to qualify them.

Salary benchmark. One search per city for the same title, then compare salaryMin and salaryMax where salaryPeriod is YEAR.

Daily feed. Sort by date, posted within 1 day, scheduled every morning, with the results sent to your own database or a Google Sheet.

Several countries in one run. Paste search URLs from uk.indeed.com, de.indeed.com and ca.indeed.com; each URL searches its own country.

Sample output

{
"id": "ad701205f27056f5",
"title": "Analytics Reporting Specialist",
"url": "https://www.indeed.com/viewjob?jk=ad701205f27056f5",
"applyUrl": "https://marcel.applytojob.com/apply/EBQUlqCxkd/Analytics-Reporting-Specialist",
"isEasyApply": true,
"companyName": "Marcel Digital",
"companyWebsite": "https://www.marceldigital.com",
"companyRating": 5,
"companySize": "2 to 10",
"companyRevenue": "$1M to $5M (USD)",
"location": "Chicago, IL 60606",
"city": "Chicago",
"state": "IL",
"country": "US",
"latitude": 41.88263,
"longitude": -87.63744,
"isRemote": false,
"isHybrid": false,
"salaryText": "$75,000 - $90,000 a year",
"salaryMin": 75000,
"salaryMax": 90000,
"salaryPeriod": "YEAR",
"salaryCurrency": "USD",
"jobTypes": ["Full-time"],
"attributes": ["SQL", "Python", "BigQuery", "Looker", "3 years", "Senior level"],
"occupations": ["Data & Technical Business Analysts"],
"descriptionText": "Marcel Digital is an award-winning digital agency...",
"postedAt": "2026-10-08T05:00:00.000Z",
"searchQuery": "data analyst",
"searchLocation": "Chicago, IL",
"searchCountry": "US"
}

What it costs

Free planPaid plans
Each job$0.0001from $0.00007
1,000 jobs$0.10from $0.07

There is no monthly fee and no charge for starting a run. A search that finds nothing costs nothing. Set a maximum charge on the run and it stops cleanly when it is reached.

Tips and limits

  • Big searches. Indeed stops serving a search long before the total it shows, often after a few hundred jobs, and never past 1,000. When that happens the Actor runs the same search again for one date range at a time (the last 3 days, 3 to 7 days ago, 7 to 14, and so on back), which brings back far more: a UK-wide "software engineer" search went from 172 jobs to 2,645. The log says when it does this. Those extra jobs arrive newest range first, whatever the sort order.
  • Remote jobs in the US. Indeed's US site currently leaves remote jobs out of searches that have a location. When a remote search with a location finds nothing, the Actor searches the whole country instead and says so in the log; those rows have an empty searchLocation, and each job's own location fields still tell you where it is.
  • Repeated jobs. Indeed shows some jobs on more than one results page. Repeats are removed and are not charged; when Indeed cut the search short, the date ranges usually make up for them.
  • Not every job has every field. Salary is the one that varies most. Treat everything except id, title and url as optional.

Integrations and export

Results land in a standard Apify dataset. Export them as JSON, CSV, Excel or XML, read them through the API, or connect them to Make, Zapier, n8n, Google Sheets, Slack or your own webhook.

FAQ

How many jobs can one run collect? The Actor sets no limit of its own: a broad search across a whole country often returns several thousand jobs, and a run can hold as many searches as you like. Indeed does not serve every job it lists, so very broad searches still come back incomplete; narrower searches (a city, a job type) get closer to the full set.

Which countries are supported? 62 Indeed country sites, including the US, UK, Canada, Australia, India, Germany, France, the Netherlands, Spain, Italy, Brazil, Mexico, Japan and Singapore.

Does it need an Indeed account or cookies? No. It collects only publicly listed jobs.

Why does a job have both applyUrl and isEasyApply? Some employers accept applications on Indeed and on their own site. applyUrl is their site; isEasyApply means Indeed's own apply flow is also offered.