Indeed Job Search Scraper
Pricing
Pay per usage
Go to Apify Store
Indeed Job Search Scraper
Scrape job listings from Indeed.com by keyword and location. Extract job title, company, location, salary, posting date, and job URLs. Uses Cheerio for fast, low-cost scraping. Ideal for job market research, salary analysis, and recruitment lead generation.
A fast, CheerioCrawler-based Apify Actor that scrapes job listings from Indeed.com search results.
Features
- CheerioCrawler — HTTP-based, 10x faster than browser-based scrapers
- No JavaScript rendering needed — Indeed search results are static HTML
- Pagination support — automatically pages through results
- Structured output — clean JSON with job title, company, location, salary, description, and URL
- PPE (Pay Per Event) — transparent usage-based pricing
Input Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | ✅ | — | Job search term (e.g., 'software engineer') |
location | string | ❌ | "" | City, state, zip, or 'remote' |
maxResults | integer | ❌ | 50 | Max job listings to scrape (1–1000) |
Example Input
{"keyword": "data scientist","location": "New York, NY","maxResults": 100}
Output Dataset Fields
| Field | Type | Description |
|---|---|---|
jobTitle | string | Job listing title |
company | string | Employer name |
location | string | Job location |
salary | string | Salary range or rate (if available) |
description | string | Short description snippet |
postingDate | string | Relative posting date (if available) |
jobUrl | string | Full URL to the job listing |
source | string | Always "Indeed" |
scrapedAt | string | ISO 8601 scrape timestamp |
How It Works
- Constructs search URLs like
https://www.indeed.com/jobs?q={keyword}&l={location} - Uses CheerioCrawler to fetch and parse each search results page
- Extracts job data using CSS selectors targeting Indeed's data-testid attributes
- Follows pagination via the
&start=parameter (0, 10, 20, …) - Stops when
maxResultsis reached or no more pages exist - Pushes structured data to the Apify dataset
Usage
# Install dependenciesnpm install# Run locallyapify run# Validate input schemaapify validate-schema# Build for productionnpm run build
PPE Charges
| Event | Charge |
|---|---|
search-start | $0.005 per search query |
job-result | $0.002 per job found |