Indeed Jobs Scraper: Salaries, Companies & 62 Countries avatar

Indeed Jobs Scraper: Salaries, Companies & 62 Countries

Pricing

from $0.05 / 1,000 job saveds

Go to Apify Store
Indeed Jobs Scraper: Salaries, Companies & 62 Countries

Indeed Jobs Scraper: Salaries, Companies & 62 Countries

Scrape Indeed jobs in 62 countries from $0.05 per 1,000. Indeed's own salary data, full descriptions, company size, revenue and ratings, apply links. Date, job type, remote and level filters. No 1,000-result limit, no login. Export to CSV, Excel or JSON.

Pricing

from $0.05 / 1,000 job saveds

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

1

Bookmarked

10

Total users

4

Monthly active users

4 days ago

Last modified

Share

Indeed Jobs Scraper: jobs, salaries and company data from 62 Indeed sites

Indeed Jobs Scraper turns any Indeed job search into a spreadsheet. You get every job Indeed shows for your search, with the full description, Indeed's own salary data, the employer's profile (size, revenue, CEO, website, rating) and the direct apply link. Search any of Indeed's 62 country sites, filter by date, job type, remote work and experience level, and collect thousands of jobs per search.

  • Salaries as numbers, straight from Indeed. salaryMin, salaryMax, currency and pay period come from Indeed's structured pay data, not from guessing at text. When a job has no pay data, the actor looks for a salary in the description.
  • 62 countries. United States, United Kingdom, Canada, Australia, Germany, France, India, Japan, Brazil and 53 more Indeed sites, each with local salaries and currencies.
  • No 1,000-result limit. Indeed stops every search at about 1,000 jobs. This actor continues the search in posting-date windows, so a broad search returns several thousand unique jobs.
  • Filters that Indeed applies itself. Date posted, job type, remote or hybrid and experience level are applied by Indeed, so every saved job matches and you never pay for jobs that get thrown away.
  • Company data on every job. Employer name, Indeed profile, logo, website, industry, employee count, revenue, CEO, headquarters and rating, without extra requests.
  • From $0.05 per 1,000 jobs. No subscription, no Indeed account, no proxy setup. Export to JSON, CSV, Excel or Google Sheets, or use the API.

What can you do with Indeed Jobs Scraper?

GoalHow
Salary benchmarkingSearch a role in several cities or countries and compare salaryMin and salaryMax by salaryType.
Recruiting and sales leadsFind companies hiring for a role, with companyWebsite, companyEmployees, companyRevenue and companyCeo.
Job market and labor researchCount jobs by occupations, normalizedTitle, location or skill (attributes) over time.
Daily job alerts and monitoringSchedule a search with fromDays: 1 and get only new jobs every day.
Job boards and aggregatorsFeed full descriptions, locations with coordinates, and apply links into your own site.
Competitor hiring intelligenceSearch company:Name to see which roles a competitor is hiring for and where.
AI job matchingGive an AI model the descriptions, skills and salaries to match candidates to jobs.

How it compares

What you needIndeed Jobs ScraperTypical Indeed scrapers
Jobs per searchSeveral thousand (continues past Indeed's ~1,000 limit)Up to ~1,000
Countries62 Indeed sitesOften the US only, or a few markets
SalaryIndeed's own numbers: min, max, currency, periodOften only the text, such as "$20 an hour"
FiltersDate, job type, remote, hybrid, level, all togetherSome, often applied after scraping
Company size, revenue, CEOOn every job, no extra costVaries
Indeed search syntaxtitle:, company:, "exact", -excludeVaries
PriceFrom $0.05 per 1,000 jobs$0.05 to $5 per 1,000 jobs

Indeed doesn't offer a public job search API: its Publisher API is closed to new users. This actor uses the same data Indeed's own mobile app shows and gives it to you as clean, structured rows.

Quick start

  1. Click Try for free and sign in to Apify. The free plan's monthly credit covers tens of thousands of jobs.
  2. Enter a Search query, such as software engineer, and a Location, such as San Francisco, CA.
  3. For a first run, keep Max results at 50.
  4. Click Start. When the run finishes, open the Output tab and export the data.
{
"query": "software engineer",
"location": "San Francisco, CA",
"maxResults": 50
}

The country is detected from the location. To choose it yourself, set Country, for example GB for uk.indeed.com.

What data can you extract?

Every row is one job:

GroupFields
JobjobKey, title, normalizedTitle, jobUrl, applyUrl, isIndeedApply, descriptionText, descriptionHtml (optional), jobType, experienceLevel, isRemote, isHybrid, attributes, occupations
Salarysalary.salaryText, salary.salaryMin, salary.salaryMax, salary.salaryCurrency, salary.salaryType (hourly, daily, weekly, monthly, yearly), salary.salarySource
CompanycompanyName, companyUrl, companyLogoUrl, companyHeaderUrl, companyWebsite, companyIndustry, companyEmployees, companyRevenue, companyCeo, companyHeadquarters, companyDescription, rating
Locationlocation.city, location.state, location.postalCode, location.streetAddress, location.country, location.countryCode, location.latitude, location.longitude, formatted addresses
TimingpostedAt, datePublished, age, postedToday, expired
HiringisUrgentHire, isHighVolumeHiring, source, referenceNumber
Runmarket, locale, language, searchQuery, searchLocation, scrapedAt

In a test search for registered nurses in Houston (100 jobs), 58 had a salary, 97 had an Indeed company profile, 84 had the employee count, 81 the CEO and 82 the company website.

Search tips

Use Indeed's search syntax

The Search query accepts the same syntax as Indeed's search box:

QueryFinds
data engineerJobs mentioning both words
"data engineer"The exact phrase
title:(data engineer)Both words in the job title
title:("data engineer" or "data scientist")Either phrase in the title
nurse -travelNurse jobs without the word "travel"
company:GoogleJobs at a company

Collect more than 1,000 jobs

Indeed stops each search at about 1,000 jobs. Set Max results above 1,000, or to 0 for everything, and the actor continues the search in posting-date windows, newest first, until it has your number or every matching job. A nationwide search for nurse returned 2,500 unique jobs in about 70 seconds. Above 1,000 results the jobs come newest first, whatever the sort setting.

Search outside the US

Pick a Country, or enter a location and let the actor detect it. Write the query in the site's language for the best results (Softwareentwickler on de.indeed.com, エンジニア on jp.indeed.com). Salaries come in the local currency. The radius is in miles on the US and UK sites and in kilometres elsewhere, as on Indeed.

Supported Indeed sites: United States, United Kingdom, Canada, Australia, India, Ireland, New Zealand, Singapore, Malaysia, Philippines, South Africa, Nigeria, Pakistan, Hong Kong, United Arab Emirates, Saudi Arabia, Qatar, Kuwait, Bahrain, Oman, Egypt, Germany, Austria, Switzerland, France, Belgium, Luxembourg, Morocco, Italy, Spain, Mexico, Argentina, Chile, Colombia, Peru, Ecuador, Uruguay, Venezuela, Costa Rica, Panama, Netherlands, Brazil, Portugal, Poland, Czech Republic, Hungary, Romania, Greece, Turkey, Sweden, Norway, Denmark, Finland, Japan, South Korea, Taiwan, China, Thailand, Vietnam, Indonesia, Israel and Ukraine.

Scrape specific jobs

Paste Indeed job links (from any Indeed site) or 16-character job keys into Job URLs or job keys. Each job is fetched from its own country's site, so its salary comes back in the right currency. You can use this with or without a search.

Monitor new jobs with scheduled runs

Run the same search every day and get only the jobs posted since the last run.

1. Save your input as a task

Set up a search with Sort by Date and Posted within (days) 1, then click Save as a new task.

2. Schedule the task

In Apify Console, go to Schedules, click Create new, choose how often to run, and add your task. See Schedules and How to create a schedule.

Watch how to schedule an Actor:

Use caseFrequencyCron expressionPosted within
Daily job alertsDaily0 7 * * *1
Weekly hiring reportWeekly0 7 * * 17
Fast-moving rolesTwice a day0 7,19 * * *1

3. Send the results where you need them

Connect Google Sheets, Slack, email, Make, Zapier or n8n in the task's Integrations tab:

Every row has jobKey, so you can drop jobs you have already seen when combining runs.

Input reference

FieldTypeDefaultEffect
queryStringEmptyJob title, skill or company, with Indeed's search syntax. Either query or urls is required.
locationStringEmptyCity, state, region or postal code. Empty searches the whole country.
countryStringDetectTwo-letter code of the Indeed site, such as US, GB, DE. Empty: detected from location, or the US.
maxResultsInteger50Maximum jobs from the search. Above 1,000 the search continues in date windows. 0 means every job.
sortString"RELEVANCE""RELEVANCE" or "DATE" (newest first).
fromDaysInteger0Only jobs posted in the last N days. 0 means any date.
radiusInteger25Distance around location, in miles (US, UK) or kilometres (other sites).
jobTypeStringAny"fulltime", "parttime", "contract", "temporary", "internship" or "perdiem".
remoteStringAny"remote" or "hybrid".
levelStringAny"no_experience", "entry_level", "mid_level" or "senior_level". Jobs without a level tag are left out.
urlsArray of stringsEmptyIndeed job links or job keys, fetched in addition to the search.
searchCompanyInfoBooleanfalseLook up employers by name for the few jobs Indeed doesn't link to a company profile. One request per new company name.
includeDescriptionHtmlBooleanfalseAdd descriptionHtml with the original formatting.

Ready-to-run examples

New remote jobs from the last 24 hours

{
"query": "product designer",
"remote": "remote",
"sort": "DATE",
"fromDays": 1,
"maxResults": 500
}

Salary benchmark for one role across the UK

{
"query": "title:(data analyst)",
"country": "GB",
"jobType": "fulltime",
"maxResults": 1000
}

Open the Salaries view and compare salaryMin and salaryMax for rows where salaryType is yearly.

Entry-level jobs in Toronto

{
"query": "marketing",
"location": "Toronto, ON",
"level": "entry_level",
"radius": 50,
"maxResults": 200
}

Every nurse job posted this week in Texas

{
"query": "registered nurse",
"location": "Texas",
"fromDays": 7,
"maxResults": 0
}

What a competitor is hiring for

{
"query": "company:Stripe",
"maxResults": 300
}

Analyze the results with ChatGPT or Claude

Export the dataset as CSV (the Salaries or Companies view keeps it small) and attach it to a chat with an AI assistant. Some prompts to start with:

Salary report. "These are Indeed jobs for one role. Using only rows with salaryType yearly, give the median salaryMin and salaryMax by location.city, and list the five best-paying employers."

Skills in demand. "Count how often each value in attributes appears. List the 20 most requested skills and the job titles that ask for them most."

Sales leads. "Group these jobs by companyName. For each company with three or more openings, give companyWebsite, companyEmployees, companyIndustry and the roles it is hiring for."

The dataset is also available through the Apify API and integrations such as Make, Zapier and n8n, so you can feed it into an automated workflow. AI agents can run this actor through the Apify MCP server.

Output

Results go to the run's default dataset. Use the views Overview, Salaries, Companies, or Apply links & hiring signals, or export everything as JSON, CSV, Excel, XML or HTML.

This is a real row from a registered nurse search in Houston, TX on October 2, 2026, with the description and attributes shortened:

{
"jobKey": "804720bae170b72f",
"title": "Full - Time Home Infusion RN - Admissions RN",
"normalizedTitle": "registered nurse - admissions",
"jobUrl": "https://www.indeed.com/viewjob?jk=804720bae170b72f",
"applyUrl": "https://optioncare.wd1.myworkdayjobs.com/NavenHealth/job/Houston-TX/Full---Time-Home-Infusion-RN---Admissions-RN_R37166",
"isIndeedApply": true,
"companyName": "Option Care Enterprises, Inc.",
"companyUrl": "https://www.indeed.com/cmp/Naven-Health,-Inc",
"companyLogoUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/5cc75714ec4231478b1f60a3cc0612b9",
"companyWebsite": "https://navenhealth.com/",
"companyEmployees": "1,001 to 5,000",
"companyRevenue": "Decline to state",
"companyCeo": "Tim Kingas, Vice President of Operations",
"companyHeadquarters": "Sarasota, FL",
"companyDescription": "Naven Health is one of the largest home infusion nursing networks in the country with more than 1,600 infusion nurses providing exceptional care throughout all 50 states.",
"rating": { "rating": 4.2, "count": 71 },
"location": {
"countryCode": "US",
"country": "United States",
"state": "TX",
"city": "Houston",
"postalCode": "77338",
"streetAddress": "123 West Main Street",
"formattedAddressShort": "Houston, TX",
"formattedAddressLong": "Houston, TX 77338",
"latitude": 29.99817,
"longitude": -95.269394
},
"isRemote": false,
"isHybrid": false,
"jobType": ["Full-time"],
"experienceLevel": ["Entry level"],
"attributes": ["CPR Certification", "Nursing", "Care plan evaluation", "Staff supervision"],
"occupations": [
"Healthcare Occupations",
"Patient Care Nursing Occupations",
"Nursing Occupations",
"Registered Nurses"
],
"salary": {
"salaryText": "$40.78 - $67.97 an hour",
"salaryType": "hourly",
"salaryMin": 40.78,
"salaryMax": 67.97,
"salaryCurrency": "USD",
"salarySource": "COMPENSATION_FIELD"
},
"descriptionText": "Delivering an exceptional infusion experience, everywhere. Delivering on our unyielding commitment, always.\n\nNaven Health is a nationwide home infusion nursing…",
"datePublished": "2026-10-01",
"postedAt": "2026-10-01T18:44:42.057Z",
"age": "19 hours ago",
"postedToday": true,
"expired": false,
"isUrgentHire": false,
"isHighVolumeHiring": false,
"source": "Naven Health",
"referenceNumber": "JOB_POSTING-3-97465",
"language": "en",
"market": "US",
"locale": "en-US",
"searchQuery": "registered nurse",
"searchLocation": "Houston, TX",
"scrapedAt": "2026-10-02T14:03:08.720Z"
}

Notes on fields

  • jobUrl is the job's page on Indeed. applyUrl is where Indeed sends applicants: the employer's career site, or the Indeed page for jobs with Indeed Apply (isIndeedApply).
  • salary is null when neither Indeed's pay data nor the description has a salary. salarySource says where it came from: COMPENSATION_FIELD (Indeed's pay data), ESTIMATED (Indeed's estimate) or DESCRIPTION (found in the text).
  • jobType and experienceLevel use the same English labels on every Indeed site. attributes has all of Indeed's tags for the job (skills, benefits, schedules, education) in the site's language.
  • companyName is the name on the job ad. The other company fields come from the employer's Indeed profile, which can belong to a parent company or brand.
  • postedAt is when the job appeared on Indeed, in UTC. postedToday means posted in the last 24 hours.
  • rating is the employer's overall Indeed rating and its number of reviews.
  • Missing values are null. Every row has scrapedAt in UTC.

FAQ

Why did I get fewer jobs than Max results?

Your search has fewer matching jobs. Filters, a small radius or a narrow query all reduce results, and experience level leaves out jobs Indeed hasn't tagged. The log shows how many jobs Indeed returned. Try a broader query or a larger radius.

How many jobs can I get?

As many as Indeed has for your search. Below 1,000, a run reads them page by page; above that, it continues in posting-date windows. Set Max results to 0 for everything, and set a maximum cost per run if you want a ceiling.

How fast is it?

Each page of 100 jobs takes 1–4 seconds, so 1,000 jobs take about 20–40 seconds. A 2,500-job nationwide search took about 70 seconds.

Do I need an Indeed account, an API key or proxies?

No. The actor doesn't log in and handles connections and retries itself.

Is there an official Indeed API for job listings?

Indeed's Job Search (Publisher) API is closed to new users. This actor uses the data Indeed's mobile app shows and returns it as structured rows.

Why are some salaries missing?

Many employers don't publish pay. When Indeed has no pay data for a job, the actor looks for a salary in the description. In our US tests, 55–60% of jobs had a salary; it varies by role and country.

Can I scrape Indeed company reviews or resumes?

No. This actor collects job listings and the employer profile shown with them.

The actor collects publicly visible job listings and company information, and no personal data about job seekers. You are responsible for how you use the data, including Indeed's terms and laws such as GDPR.

Cost

This actor uses pay-per-event pricing: you pay per job saved, and the price falls on higher Apify plans. There's no subscription and no monthly fee for the actor.

Apify planPer 1,000 jobs
Free$0.10
Starter$0.08
Scale$0.06
Business and up$0.05

Each run also has a start fee of $0.001. Filters are applied by Indeed, so filtered jobs are never charged. Set a maximum cost per run; the actor stops cleanly when it's reached and keeps everything collected so far. The Pricing tab always shows the current prices.

Support

Report problems or request features in the Issues tab. Include the run ID, the input and what you expected. We read every issue.

This actor is not affiliated with or endorsed by Indeed, Inc. or Recruit Holdings. "Indeed" is a trademark of Indeed, Inc.