Indeed Jobs Scraper - Full Descriptions, Salaries & Skills
Pricing
from $0.30 / 1,000 indeed jobs
Indeed Jobs Scraper - Full Descriptions, Salaries & Skills
Scrape Indeed jobs in 30+ countries without login: full description, salary min/max, job type, remote/hybrid, skills and benefits tags, company rating, industry, size and website. Up to 1,000 jobs per search. Fast HTTP, no browser.
Pricing
from $0.30 / 1,000 indeed jobs
Rating
0.0
(0)
Developer
Neuton Scripts
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Indeed Jobs Scraper — full descriptions, salaries, skills and company details
Scrape Indeed job listings from 30+ Indeed countries without logging in. Each job comes back as one clean row with the full job description, salary min/max and period, job type, remote/hybrid flags, Indeed's own skill, benefit and schedule tags, and company rating, industry, size, revenue band and website. Up to 1,000 jobs per search, about 100 jobs per request, with no browser, so runs are fast and cheap.
Use it for job boards and aggregators, recruiting and sourcing, salary benchmarking, labour-market research, sales prospecting on hiring companies, and AI agents that need current job data.
What you get for every Indeed job
| Field | Example |
|---|---|
title, normalizedTitle | Data Engineer, data engineer |
company, companyRating, companyReviewCount | Example Co, 3.9, 412 |
companyIndustry, companySize, companyRevenue, companyWebsite, companyLogoUrl | Information Technology, 501 to 1,000, $100M to $500M (USD) |
location, city, region, postalCode, countryCode | Austin, TX 78701 |
isRemote, isHybrid, jobTypes | false, true, ["fulltime"] |
salaryMin, salaryMax, salaryPeriod, salaryCurrency, salarySource | 115000, 140000, year, USD, employer |
attributes | ["Python", "SQL", "Snowflake", "Health insurance", "Monday to Friday", "Hybrid work"] |
description (+ optional descriptionHtml) | Full job description text |
easyApply, externalApplyUrl | true / employer's apply link |
postedAt, firstSeenOnIndeedAt, expired | ISO timestamps |
jobKey, jobUrl | Stable Indeed job key and link |
searchQuery, searchLocation, searchCountry, scrapedAt | Which search produced the row |
The example values above are illustrative. Missing data stays null and is never guessed. For example, salary is only present when the employer or Indeed publishes it; salarySource tells you which.
How to scrape Indeed jobs
- Enter one or more job keywords (for example
data engineer,registered nurseorwarehouse associate). - Add locations (city, state, region or postcode), or leave them empty to search the whole country.
- Pick the country and how many jobs you want per keyword and location (up to 1,000).
- Optionally filter by posted within N hours, job type, remote only or Easy Apply only, or sort by newest.
- Click Start, then export the Dataset as CSV, Excel or JSON, or read it through the Apify API.
Example input
{"queries": ["data engineer", "analytics engineer"],"locations": ["New York, NY", "Remote"],"country": "US","maxResultsPerSearch": 200,"postedWithinHours": 72,"sort": "date"}
Each keyword is searched in each location. Jobs that appear in more than one search are saved only once per run, deduplicated by jobKey.
Indeed countries supported
United States, United Kingdom, Canada, Australia, India, Ireland, New Zealand, Singapore, Germany, France, Netherlands, Spain, Italy, South Africa, UAE, Philippines, Austria, Belgium, Brazil, Switzerland, Mexico, Japan, Poland, Sweden, Portugal, Malaysia, Hong Kong, Saudi Arabia, Qatar and Pakistan.
Pricing
Pay per result: you pay only for unique job rows saved to the Dataset. Check the Pricing tab for the current rate, and set a maximum charge per run when you start. The Actor stops cleanly when the limit is reached. Failed searches are never charged.
Run summary and reliability
Every run writes a free RUN_SUMMARY record to its key-value store: the searches requested, rows saved per search, pages read, duplicates skipped, retries and an overall status (SUCCEEDED, PARTIAL, CHARGE_LIMIT_REACHED or FAILED). Temporary blocks are retried automatically on a fresh proxy session. If every search fails, the run is marked failed instead of silently returning an empty dataset.
Use Indeed data in Google Sheets, n8n, Make, Zapier or an AI agent
- Save your input as a Task and put it on a schedule, for example daily with
postedWithinHours: 24, to get a feed of new jobs. - Use a webhook on run success to send rows to your sheet, CRM or warehouse. Upsert on
jobKeyto avoid duplicates. - AI agents can call this Actor through the Apify MCP server or the Neuton Actors MCP Server.
FAQ
Do I need an Indeed account or cookies? No. The Actor uses Indeed's public job search. It never logs in.
How many jobs can I get? Up to 1,000 per keyword and location, which is the depth Indeed itself serves. To cover more, add more keywords, locations or date windows.
Why are some salaries empty? Many employers don't publish pay. Rows keep null rather than an invented number.
Is there a free trial? Apify's free plan includes monthly credit you can use on this Actor.
Related Neuton Actors
- Job Scraper: Indeed, Glassdoor and LinkedIn in one run for one normalised table across boards (plus Bayt and BDJobs)
- Google Trends Scraper to pair hiring demand with search interest
- LinkedIn Job Details Scraper for full LinkedIn job records
- Multi-ATS New Jobs Monitor for Greenhouse, Lever, Ashby, Workday and more
Responsible use
This Actor collects publicly listed job postings. Use the data lawfully: follow applicable privacy, employment and anti-discrimination laws and the source's terms. Don't use it for spam or to make automated decisions about individuals. Neuton is not affiliated with or endorsed by Indeed.