Indeed Job Scraper - Salary, Jobs & Company Data avatar

Indeed Job Scraper - Salary, Jobs & Company Data

Pricing

from $1.30 / 1,000 results

Go to Apify Store
Indeed Job Scraper - Salary, Jobs & Company Data

Indeed Job Scraper - Salary, Jobs & Company Data

Scrape Indeed.com job listings fast via mobile API — no browser needed. Get title, company, salary, skills, experience level, remote model & more. Just $1.30 per 1,000 results. Built for recruiters, HR benchmarking & salary-research SaaS teams. No login, no blocks.

Pricing

from $1.30 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Indeed Job Scraper

Scrape job listings from Indeed.com with full job details — job title, company, location, salary range, job type, experience level, skills, description, posted date, company rating, benefits and remote/work model. Built for HR/compensation benchmarking teams, recruiters, salary-research SaaS builders and gig-economy analysts.

The actor runs on the Apify platform — you get API access, scheduling, integrations (Zapier, Make, Google Sheets), proxy rotation and monitoring out of the box.

Why use Indeed Job Scraper?

  • Compensation benchmarking — collect salary ranges and job types across markets to build pay-band models.
  • Recruiting research — monitor what competitors are hiring for, where, and at what level.
  • Salary-research SaaS — feed structured job data (salary, experience, skills) into your own product.
  • Gig-economy / labor-market analysis — track posting volume, remote-work adoption and benefit trends over time.

Instead of fighting the Cloudflare-gated indeed.com HTML, this actor talks to the same private GraphQL API that the Indeed mobile app uses (apis.indeed.com/graphql) with the app's static API key and an iPhone User-Agent — the approach popularized by the open-source JobSpy project. That endpoint returns structured JSON, paginates by cursor at 100 jobs per page, and needs no browser, no challenge solving and no login. If the mobile API is ever unavailable, the actor automatically falls back to fetching the regular search pages over plain HTTP (CheerioCrawler) and parsing the embedded window.mosaic / _initialData JSON blobs.

How to use Indeed Job Scraper

  1. Open the actor's Input tab.
  2. Enter a search query (e.g. software engineer) and a location (e.g. New York, NY or Remote).
  3. Optionally set max items and max search pages.
  4. Click Start and wait for the run to finish.
  5. Download the dataset as JSON, HTML, CSV or Excel from the Dataset tab.

Input

FieldTypeDefaultDescription
searchQuerystringsoftware engineerJob title or keyword to search for.
locationstringNew York, NYCity, state, or Remote.
countrystringcomIndeed country domain (com, ca, co.uk, de, fr, au, in, ...).
maxItemsinteger50Max job listings to scrape (free users capped at 10).
maxPagesinteger5Max API result pages to fetch (up to 100 jobs each).
useApifyProxybooleantrueRoute through the Apify proxy (recommended — Indeed blocks datacenter IPs).
proxyGroupsarray["BUYPROXIES94952"]Apify proxy groups to use.

Output

Each dataset item is one job listing:

{
"jk": "a1b2c3d4e5f6g7h8",
"jobTitle": "Senior Software Engineer",
"company": "Acme Corp",
"companyWebsite": "https://www.acme.com",
"companySize": "10,000+",
"applyUrl": "https://careers.acme.com/job/123?utm_source=indeed",
"location": "New York, NY 10012",
"salary": "$150,000 - $180,000 a year",
"jobType": "Full-time",
"experienceLevel": "Senior level",
"skills": ["javascript", "react", "aws", "docker"],
"jobDescription": "We are looking for a Senior Software Engineer...",
"postedDate": "2026-08-20T05:00:00.000Z",
"companyRating": null,
"benefits": ["401(k)", "Health insurance", "Paid time off"],
"remoteModel": "Remote",
"url": "https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6g7h8",
"dateScraped": "2026-08-23T13:18:47.771Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
jkIndeed's unique job identifier
jobTitleTitle of the job posting
companyHiring company name
companyWebsiteCorporate website (employer dossier)
companySizeEmployee count label (employer dossier)
companyIndustryIndustry label (employer dossier)
applyUrlDirect recruiter/company apply URL when available
locationJob location (city, state, country)
salarySalary range or hourly rate as displayed
jobTypeEmployment type (Full-time, Part-time, Contract, ...)
experienceLevelInferred level (Entry/Mid/Senior/Internship)
skillsSkills detected in the description
jobDescriptionFull job description text
postedDatePosting date as shown on Indeed
companyRatingIndeed company rating (out of 5)
benefitsBenefits mentioned in the posting
remoteModelRemote / Hybrid / On-site
urlDirect link to the job posting
dateScrapedISO timestamp of when it was scraped

How much does it cost to scrape Indeed?

This actor uses plain HTTP requests to a JSON API (no browser), so compute usage is very low. The mobile API returns 100 jobs per page, so 50–500 jobs typically finish in seconds, costing a fraction of a cent on the Apify platform — proxy traffic is usually the main cost driver. Free (non-paying) users get a capped preview of 10 items per run. Use maxItems and maxPages to control cost.

Tips and advanced options

  • Reduce cost: lower maxItems / maxPages for quick checks.
  • Avoid bans: keep useApifyProxy on and use a residential proxy group in proxyGroups for the highest success rate — Indeed blocks most datacenter IPs.
  • Other countries: change country to ca, co.uk, de, fr, au, in, etc. to scrape Indeed's local sites.
  • Remote jobs: set location to Remote to focus on remote listings.

FAQ, disclaimers and support

  • Is scraping Indeed legal? Scraping publicly available job listings is generally acceptable, but you should review Indeed's Terms of Service and respect rate limits. This actor is provided for legitimate research and recruiting use.
  • Known limitations: companyRating is not exposed by the mobile API (it stays null); benefits are extracted from job attribute tags when Indeed provides them. If the mobile API is unavailable, the actor falls back to HTML crawling, which is slower (~10 jobs per page) and may hit block pages without residential proxies — affected pages are retried with a fresh IP and skipped if they keep failing.
  • Support: report issues on the Issues tab of this actor. Need a custom solution (e.g. different fields, other job boards)? Contact the author.