Indeed Jobs Scraper — Search by Keyword
Pricing
$4.50 / 1,000 results
Indeed Jobs Scraper — Search by Keyword
Extract job listings from Indeed using simple keyword-based search queries. Scrape thousands of Indeed jobs by keyword, job title, company name, or location and collect detailed job data in structured JSON format.
Pricing
$4.50 / 1,000 results
Rating
0.0
(0)
Developer
Hamza
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Discover Indeed job listings by keyword across any country / Indeed domain. Returns full job records — title, company, salary, location, description, apply link, logo, posting date, and more. Great for ATS pipelines, market salary research, recruitment intelligence, and competitive hiring analysis.
What this Actor does
Given a search query (keyword + country + domain + optional location and filters), discovers all matching Indeed jobs and pushes one record per job to the default dataset.
Input
Each Actor run executes one Indeed search.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword_search | string | yes | — | Job title / keyword to search for, e.g. "analyst" or "product manager" |
country | string | no | "US" | ISO country code ("US", "FR", "GB", "DE", etc.) |
domain | string | no | "indeed.com" | Indeed domain to search on ("indeed.com", "fr.indeed.com", "uk.indeed.com", …) |
location | string | no | "" | Free-form location string, e.g. "New York, NY" or "Paris". Empty = entire country. |
date_posted | enum | no | "" | "", "Last 24 hours", "Last 3 days", "Last 7 days", "Last 14 days" |
posted_by | string | no | "" | Filter by poster type ("Employer", "Staffing agency") |
location_radius | string | no | "" | Miles around the location ("5", "10", "25", "50", …) |
Example input:
{"keyword_search": "analyst","country": "US","domain": "indeed.com","location": "New York, NY","date_posted": "Last 24 hours","posted_by": "","location_radius": ""}
To run multiple searches (e.g. US analyst + FR product manager), create a separate Apify task.
Output
Each job item in the dataset includes every field the provider returns. Common fields you can expect:
{"jobid": "607180797caa2c30","company_name": "Metropolitan Transportation Authority","date_posted_parsed": "2026-05-16T08:17:50.341Z","job_title": "Operations Analyst – HR: Employment (NYCT)","description_text": "Description JOB TITLE: ...","benefits": [],"location": "300 Cadman Plaza West, Brooklyn, NY 11201","salary_formatted": "$45,125 a year","company_rating": 4,"company_reviews_count": 309,"country": "US","date_posted": "1 day ago","region": "NY","company_link": "https://www.indeed.com/cmp/Metropolitan-Transportation-Authority-7?...","domain": "https://indeed.com","apply_link": "https://www.indeed.com/applystart?jk=607180797caa2c30&...","srcname": "www.indeed.com","url": "https://www.indeed.com/viewjob?jk=607180797caa2c30","is_expired": false,"discovery_input": {"country": "US","domain": "indeed.com","keyword_search": "analyst","location": "New York, NY","date_posted": "Last 24 hours","posted_by": "","location_radius": ""},"job_location": "300 Cadman Plaza West in Brooklyn, NY 11201","job_description_formatted": "<div><p><b>Description</b></p>...</div>","logo_url": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/80a263f4cedc4492e628479e5d010de6","shift_schedule": ["8 hour shift"],"timestamp": "2026-05-17T15:12:02.308Z","input": { "url": "...", "discovery_input": { "..." } }}
When a search finds no jobs, the actor emits an error row instead of a job row, e.g.:
{ "error": "Jobs not been found", "error_code": "dead_page", "input": { ... }, "timestamp": "..." }
These warning rows are pushed to the dataset as-is so you can see exactly which queries came up empty.
Limits & responsible use
- The Actor only returns information that is publicly visible on Indeed search results / job detail pages.
- Respect Indeed's Terms of Service, robots.txt expectations, and applicable employment-data privacy regulations.