Indeed Jobs Scraper
Pricing
from $1.40 / 1,000 indeed job delivereds
Indeed Jobs Scraper
[💵 $2.50 / 1K - no start fee] Search Indeed jobs across 18 countries. Get titles, companies, salaries, full descriptions, remote status, structured salary fields and monitoring-ready job IDs.
Pricing
from $1.40 / 1,000 indeed job delivereds
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Indeed Jobs Scraper | Jobs, Salaries and Full Descriptions
Search Indeed across 18 country sites and receive normalized job rows with salary fields, full descriptions, remote status, stable job IDs, and company links. This Indeed scraper is built for repeatable exports and monitoring, not one-off browser copy and paste. Run it in Apify Console, through the API, on a schedule, or from an automation.
✅ What you get / ❌ What this isn't
✅ One structured dataset row per public Indeed job listing
✅ Search by keyword, location, job type, posting age, or Indeed search URL
✅ Full plain-text and HTML descriptions when requested
✅ Numeric salary minimum, maximum, currency, and period when Indeed publishes structured pay
✅ onlyNew monitoring mode that remembers job IDs for each search
✅ 18 Indeed country domains and a low-cost HTTP architecture
❌ This is not an official Indeed API or an Indeed partnership
❌ It does not apply to jobs, access accounts, solve CAPTCHAs, or collect private candidate data
❌ Missing salary or employer metadata is not invented when Indeed does not publish it
🔎 Why use this Indeed scraper
- Recruiting intelligence: monitor roles, locations, skills, and hiring companies.
- Salary research: compare published ranges using analysis-ready numeric fields.
- Job alerts: schedule
onlyNew: trueand send fresh rows to Sheets, Slack, Make, Zapier, or a webhook. - Labor-market research: export reproducible JSON, CSV, Excel, XML, or HTML datasets.
- Lead signals: identify companies actively hiring without mixing them with stale job IDs.
📊 What Indeed job data you get
| Field | Type | Description |
|---|---|---|
jobId | string | Stable Indeed job key used for deduplication |
title | string | Published job title |
company | string | Hiring company name |
location | string | Published location or remote label |
salary | string | Human-readable published salary |
salaryMin, salaryMax | number | Structured pay range when available |
salaryCurrency, salaryPeriod | string | Currency and hour, month, or year period |
jobType | array | Employment types published by Indeed |
datePosted | date | Posting date when available |
description | string | Clean full job description |
descriptionHtml | string | Original description HTML |
jobUrl | URL | Canonical Indeed detail URL |
isRemote | boolean | Remote-work indicator |
companyUrl, companyLogo | URL | Public company metadata when available |
scrapedAt | date | Extraction timestamp |
👥 Who it's for
Recruiters, staffing agencies, job seekers, compensation analysts, sales teams, academic researchers, workforce planners, and developers building job-search or hiring-intelligence workflows.
⚙️ How to scrape Indeed jobs
- Open the Actor in Apify Console.
- Enter a job title, skill, or company in
query. - Add a location and choose the matching Indeed country.
- Optionally filter by job type or posting age.
- Keep
includeDescriptionon for full descriptions, or turn it off for smaller summary rows. - Set a cost-safe
maxItemsvalue and click Start. - Download the dataset or connect it to an API, schedule, integration, or webhook.
For an existing Indeed search, supply its search-results URL in urls instead of query fields.
📥 Input
{"query": "software engineer","location": "Austin, TX","country": "US","jobType": "fulltime","datePosted": "7","maxItems": 100,"includeDescription": true,"onlyNew": false}
| Field | Type | Default | Description |
|---|---|---|---|
query | string | prefilled | Job title, keywords, or company |
location | string | prefilled | City, region, postal code, or Remote |
country | enum | US | One of 18 Indeed country sites |
jobType | enum | empty | Full-time, part-time, contract, temporary, or internship |
datePosted | enum | empty | Last 1, 3, 7, or 14 days |
urls | array | empty | Indeed search-result URLs |
includeDescription | boolean | true | Include full plain-text and HTML descriptions |
onlyNew | boolean | false | Skip job IDs emitted by previous matching runs |
maxItems | integer | 50 | Result cap; 0 means unlimited |
📤 Output
{"jobId": "abc123","title": "Senior Software Engineer","company": "Example Company","location": "Austin, TX","salary": "USD 140000 - 180000 / year","salaryMin": 140000,"salaryMax": 180000,"salaryCurrency": "USD","salaryPeriod": "YEAR","jobType": ["FULL_TIME"],"datePosted": "2026-08-01T00:00:00.000Z","description": "Build reliable software products...","jobUrl": "https://www.indeed.com/viewjob?jk=abc123","isRemote": false,"sourceDomain": "www.indeed.com","scrapedAt": "2026-08-08T10:00:00.000Z"}
The Output tab includes separate Jobs, Salary data, and Full descriptions views. You can download the dataset in JSON, CSV, Excel, XML, or HTML formats.
💵 How much does it cost to scrape Indeed?
The Store price is $2.50 per 1,000 delivered jobs on the Free tier, with no Actor-start fee. A 100-row run costs about $0.25. Higher Apify plans receive volume discounts. You pay only for delivered rows, while Apify platform usage and residential proxy traffic are included in the event price.
Keep maxItems near the number you need. Turn off includeDescription when search-card summaries are sufficient, which reduces requests and run time without changing the per-row event.
🔁 Run it on the Apify platform
Start from one of the ready-made tasks, add a daily or weekly Schedule, consume results with the JavaScript or Python client, connect Make or Zapier, or receive a webhook when a run finishes. onlyNew is designed for recurring monitors and stores history separately for each search and filter combination.
- Software engineer jobs in Austin
- Remote Python jobs from the last 7 days
- Monitor new London data jobs
⚠️ Limits and caveats
- Indeed can rate-limit automated requests. The Actor uses a lightweight job-data API request through Apify residential proxy traffic and fails clearly when the source is unavailable.
- Salary, industry, company size, revenue, and logos are optional source fields. Missing values remain
null. - Search ranking and result availability vary by country, location, time, and Indeed experiments.
- Data collection must remain proportionate. Avoid unlimited runs unless you have verified the target volume and cost.
🧩 Related Actors
- ATS Jobs Scraper for company career boards across Workday, Greenhouse, Lever, Ashby, and more.
- We Work Remotely Jobs Scraper for remote-first vacancies with published eligibility regions.
- Website Contact Extractor for approved public-company contact enrichment after job discovery.
❓ FAQ
Is this an official Indeed API?
No. It is an independent scraper for public listing pages and provides an API-shaped dataset through Apify.
Can it monitor only newly posted jobs?
Yes. Save an Apify Task with onlyNew: true and run it on a schedule. The first run returns matching jobs; later runs skip IDs already emitted for that same configuration.
Why is a salary field null?
Many employers do not publish compensation. The Actor returns structured pay only when the source provides it and does not manufacture estimates.
Is scraping Indeed legal?
Use this Actor only for lawful purposes and public data you are permitted to process. Follow Indeed's terms, Apify's terms, applicable privacy and data-protection law, and the rules governing your organization and location. Job descriptions can contain personal data, so establish a lawful purpose and retention policy before processing at scale. Consult qualified counsel when unsure.
🛠️ Support
When reporting a problem, include the Apify run URL, redacted input, affected Indeed country, expected behavior, and one example public URL. Use the Actor's Issues tab so failures can be reproduced without exposing credentials.