Indeed Jobs Scraper icon

Indeed Jobs Scraper

Scrape Indeed job listings by keyword and location in 9 countries: title, company, location, full description (no login), salary, job type, benefits, skills, rating and apply link, in one clean format. Filters, wide search and new-job monitoring. From $1.50 per 1,000 jobs (back to $3 on 6 Dec 2026).

$1.50 per 1,000 job28 public runs in 30 days, 92% succeededupdated 2026-11-06
Try it

Build the input, get the call

Change any field; the code on the right follows. Copy it, or run the same input on Apify.

What to search for - job title, skill or company, one per line. Every query runs in every location.

City, state, postcode or `Remote`, one per line. Leave empty to search the whole country.

Which Indeed site to search.

Only jobs posted in this window.

Only this type of job.

Distance around each location, in the site's unit (miles in the US/UK, km elsewhere).

Order Indeed returns results in.

Run each search from several angles (newest and most relevant, last 1 and 3 days, full-time, contract and part-time) to collect many more different jobs per query and location. Takes a little longer.

Keep jobs that employers promote on Indeed. They're marked with `sponsored: true`.

Maximum number of jobs to return in total.

Filters

Keep a job only if its title contains any of these words (case-insensitive), e.g. `engineer`, `developer`.

Drop a job whose title contains any of these words (case-insensitive), e.g. `intern`, `manager`.

Keep a job only if its location contains any of these (case-insensitive), e.g. `Berlin`, `Remote`.

Only remote jobs (uses Indeed's remote filter).

Keep only these work arrangements. Jobs whose posting doesn't state it are dropped when this is set.

Keep only these employment types.

Keep only these seniority levels.

Keep only these job functions (engineering, data, sales, ...).

Keep a job only if its summary or skills mention any of these.

Drop jobs from companies whose name contains any of these, e.g. staffing agencies.

Keep jobs paying at least this per year (hourly and monthly pay are converted), in the posting's currency. Jobs that don't publish pay are kept unless "Only jobs with salary" is on.

Keep only jobs that publish their pay.

Monitoring

Return only jobs that no earlier run with the same input has delivered. Schedule the Actor and you pay only for new jobs.

Return only jobs that are new or changed since the last run with the same input (or monitor name): changed jobs carry `changeType: "changed"` and `changes` with the old and new salary, location or title. Search results are partial, so jobs...

How many result pages to read per search. Only used when you paste your own sign-in above; without it Indeed shows one page.

Add each job's full description, as Indeed's own job panel shows it. No login needed; one small extra request per 10 jobs, so runs take a second or two longer.

Output

What you get back

A real row from the README, and the fields every row has.

titleSoftware Engineer
companyVisa Technology and Operations LLC
cityAustin
regionTX
postalCode78759
countryCodeUS
employmentTypefull_time
salary{"min":86500,"max":134400,"currency":"USD","period":"year","annualMin":86500,"annualMax":134400}
salaryText$86,500 - $134,400 a year
benefits["401(k)","Dental insurance","Health insurance","Paid time off"]
skills["Agile software development","C#","JavaScript","RESTful API","Selenium"]
companyRating3.9
easyApplytrue
sponsoredfalse
urlhttps://www.indeed.com/viewjob?jk=d2131e5a5ae9a900
postedAtIso2026-10-01T05:00:00+00:00
FieldWhat it holds
title / companyJob title and employer
location, city, region, postalCode, country, countryCodeWhere the job is
workModeremote or hybrid when the posting says so
employmentType, jobTypesFull-time, part-time, contract, internship...
salary{min, max, currency, period, annualMin, annualMax} when listed
salaryTextThe pay exactly as Indeed shows it
benefits, schedulesE.g. health insurance, 401(k), paid time off; Monday to Friday, on call
skillsSkills and requirements Indeed tagged on the posting
summaryThe short description shown in search results
descriptionThe full job description (with Full descriptions on)
seniority, jobFunctionDerived from the title
companyRating, companyReviewCount, companyLogo, companyUrlEmployer details on Indeed
easyApply, urgentlyHiring, sponsoredIndeed flags (sponsored = promoted by the employer)
url, jobIdLink to the job on Indeed and its job key
postedAtIso, postedDaysAgoWhen it was posted
searchQuery, searchLocationWhich search found it

Download as JSON, CSV, Excel or XML from the run, or have it sent to Google Sheets, Slack or a webhook.

Guide

How Indeed Jobs Scraper works

Inputs, options and tips, from the tool's own documentation.

Get job listings from Indeed by keyword and location in 9 countries as a clean, spreadsheet-ready dataset. Each job includes the title, company, location (city, state, postcode, country), the full job description (no Indeed login needed), salary range with the yearly equivalent, job type, work mode (remote / hybrid), benefits, schedule, the skills Indeed tagged, the company's rating and the link to the job. Export to JSON, CSV or Excel, send to Google Sheets or Slack, or call it as an API.

Built for recruiters and staffing agencies sourcing openings, job boards and aggregators, sales teams looking for companies that are hiring, analysts tracking salaries and demand, and job seekers who want new postings delivered to them.

Why this scraper

  • Full descriptions without a login. Turn on Full descriptions and each job comes with its complete description, the way Indeed's own job panel shows it - most Indeed scrapers return only the search snippet or ask for your cookies.
  • Rich, standardized records. Salaries are parsed into min/max/currency/period with a yearly equivalent. Work mode, employment type, seniority and job function are filled in the same way as in our other job scrapers (Greenhouse, Lever, Workday, LinkedIn...), so you can combine sources in one table.
  • Wide search for more jobs. Turn on Wide search and each query + location is searched from several angles (newest, most relevant, last 24 hours, last 3 days, full-time, contract, part-time). In our tests that gave about 3× more distinct jobs for the same search.
  • 9 country sites. United States, United Kingdom, Canada, Australia, Ireland, Germany, France, Netherlands and Singapore.
  • New-job monitoring. Schedule it with Only new jobs and each run returns only postings you haven't received yet, so you pay only for new ones.
  • Changes only. Turn on Changes only and schedule it: each run returns only new jobs and jobs whose salary, location or title changed (with old and new values). Unchanged jobs are skipped and not charged.
  • Filters applied for you. Title keywords, location, work mode, employment type, seniority, job function, minimum salary, "with salary only", excluded companies. Filtered-out jobs are never charged.
  • No account needed. Nothing to log in to, nothing to configure beyond your search.
  • Resilient. If Indeed shows a security check, the search is retried on a fresh connection - but only when that has been working, so a blocked day doesn't burn your budget. Results are saved as each search finishes, and a moved run resumes without charging twice.

How to use it

  1. Add Search queries (e.g. registered nurse, data analyst) and Locations (e.g. Chicago, IL, Remote).
  2. Pick the Indeed country site and, optionally, Posted within, Job type and Sort by.
  3. For more results per search, turn on Wide search.
  4. Press Start. Download results from the Output tab, or connect an integration.

Example input

json
{
  "queries": ["registered nurse", "software engineer"],
  "locations": ["Chicago, IL", "Austin, TX"],
  "country": "us",
  "datePosted": "7",
  "wideSearch": true,
  "maxItems": 500
}

Using your own sign-in (optional)

You do not need this. A normal run needs no account: it reads the first results page of every search, and with Full descriptions on, every job's description. Paste your own sign-in only if you want more result pages per search (set Pages per search).

Copy it in two minutes (Chrome, Edge or Firefox):

  1. Sign in to Indeed in your browser.
  2. Press F12 (Mac: Cmd+Option+I) and open the Network tab.
  3. Reload the page (F5) and click the first request in the list.
  4. Right-click it and choose Copy > Copy as cURL (bash) (Firefox: Copy Value > Copy as cURL).
  5. Paste it into Your own Indeed sign-in and start the run.

On Safari, turn on Settings > Advanced > Show features for web developers, then use Develop > Show Web Inspector > Network and the same right-click menu.

Other shapes work too: the plain Cookie header (name=value; name2=value2), the JSON export of a cookie extension, or a cookies.txt file. Cookies for other websites in an export are left out automatically.

Good to know

  • It is a password. Use your own account, ideally a separate one. The field is stored encrypted, never appears in your results or logs, and signing out in your browser ends that session. We never ask for your password and never sign in for you.
  • Your account, your terms. Indeed's terms apply to your account, so use this the way you are comfortable with.
  • It expires. Sessions last days to weeks. When one has expired, the run says so before it spends anything: copy a fresh one.
  • Mistakes are explained, not silent. If what you pasted is a web address, empty, expired, or belongs to another site, the run stops at the start and tells you which, at no cost.

Each search returns the jobs on Indeed's first results page: about 40 in the US and about 15 on the other country sites. For more jobs:

  • add more locations (nearby cities, suburbs or postcodes),
  • add related queries (RN, registered nurse, ICU nurse),
  • turn on Wide search (about 3× more distinct jobs per query + location),
  • schedule the Actor with Only new jobs to build up a complete feed over time.

Turn on Full descriptions to add each job's complete description (read from Indeed's own job panel, no login needed). Without it you get the summary Indeed shows in search results plus the tagged skills and benefits.

Pricing

Pay per result: about $1.50 per 1,000 jobs (lower on higher Apify plans) plus a tiny start fee; price returns to $3 per 1,000 on ~6 December 2026. Duplicates, filtered-out jobs and (with Only new jobs) already-delivered jobs are free. See the Pricing tab for exact rates, and set a maximum charge per run to cap spend.

On Apify's free plan each run returns up to 100 jobs, enough to try it out. Any paid Apify plan removes the limit.

Questions

Questions about Indeed Jobs Scraper

Why do some searches take longer?

Every search opens Indeed in a real browser. When Indeed shows a security check, the search is retried on a fresh connection, which adds a few seconds.

Which countries are supported?

US, UK, Canada, Australia, Ireland, Germany, France, Netherlands and Singapore.

Is it legal?

The Actor collects publicly listed job ads. You're responsible for how you use the data, including any personal data, under the laws that apply to you.

How much does Indeed Jobs Scraper cost?

$1.50 per 1,000, charged only for jobs returned; a run that finds nothing costs nothing. It runs on Apify, whose free plan includes monthly credit, so you can try it without paying.

Do I need to write code?

No. Fill in the form on Apify and press Start, schedule it, or send the results to Google Sheets, Slack or a webhook. For code, the input builder on this page writes the API call in curl, Python or JavaScript.

What does Indeed Jobs Scraper return?

Every row has the same fields, including title / company, location, city, region, postalCode, country, countryCode, workMode, employmentType, jobTypes, salary, salaryText, benefits, schedules, skills. Download as JSON, CSV, Excel or XML.

Can an AI agent use it?

Yes. The webdata-tools-mcp server exposes it to Claude, Cursor and other MCP clients as search_indeed_jobs.

Can it run on a schedule and return only new results?

Yes. Schedule it on Apify (hourly, daily, weekly) and turn on the only-new option: each run then returns only what appeared since the last run with the same input.

Use cases

What people use Indeed Jobs Scraper for

  • Export Indeed search results with full descriptions
  • Track job demand by keyword and city
  • Feed job listings into a job board

Also searched as

Indeed scraper Indeed jobs API Indeed job listings export scrape Indeed jobs Indeed jobs to CSV Indeed UK jobs Indeed Canada jobs

Categories

Jobs and hiring Jobs Lead generation