Indeed Jobs Scraper
Pricing
from $0.31 / 1,000 item extracteds
Indeed Jobs Scraper
Export public Indeed job listings with salaries, descriptions, benefits, company details, and apply URLs for recruiting and labor-market analysis.
Pricing
from $0.31 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collect public Indeed job listings as structured records for recruiting, labor-market research, lead generation, and job-board ingestion. Search by role and location, set a hard result limit, and export job titles, employers, locations, stable job keys, source URLs, and collection timestamps.
Input example
{"query": "software engineer","location": "Austin, TX","maxItems": 5}
Output example
{"jobKey": "099517afcda05290","jobTitle": "Software Engineer","company": "Example Company","location": "Austin, TX","url": "https://www.indeed.com/viewjob?jk=099517afcda05290","sourceUrl": "https://www.indeed.com/jobs?q=software%20engineer&l=Austin%2C%20TX","scrapedAt": "2026-07-10T13:20:00.000Z"}
Ready-to-run examples
Start with a published task, open its input, and run it as-is or adapt the query and location:
- Remote software engineer jobs
- Data analyst jobs in New York
- Registered nurse jobs in Chicago
- Machine learning jobs in London
- Warehouse jobs in Sydney
- Software engineering internships
View all ready-to-run Indeed Jobs Scraper examples.
What data it exports
Each dataset row represents one public job listing. It includes:
- Identity:
jobKey,jobTitle,company,location,url. - Pay:
salaryText,salaryMin,salaryMax,salaryCurrency,salaryPeriod. - Job details:
jobDescription,benefits,schedule,postedAt,ageText. - Workplace:
remoteandhybridflags. - Company:
companyRatingandcompanyReviewswhen displayed. - Application:
applyUrlandapplySourcewhen available. - Provenance:
query,rank,sourceUrl,scrapedAt, anddiagnostics.
Results can be downloaded as JSON, CSV, Excel, XML, or RSS from the Dataset tab.
Use cases
- Build a focused recruiting pipeline for a role and market.
- Track hiring demand across cities and job families.
- Feed fresh public vacancies into a job board or internal dashboard.
- Create repeatable labor-market datasets with stable provenance.
- Monitor employer hiring activity over time.
Who is it for?
- Recruiters sourcing candidates for defined roles and markets.
- Labor-market analysts comparing hiring demand, pay, and work arrangements.
- Job aggregators maintaining structured, refreshable vacancy feeds.
- Sales and research teams monitoring employer hiring activity.
Input settings
| Field | Type | Description |
|---|---|---|
query | string | Role, skill, keyword, or company to find. |
location | string | City, region, postal code, or Remote. |
country | string | Indeed country site and matching proxy geography. |
startUrls | string[] | Optional Indeed search or public job URLs. |
datePosted | string | Any date or the past 1, 3, 7, or 14 days. |
remote | boolean | Return remote jobs only. |
jobType | string | Full-time, part-time, contract, temporary, or internship. |
salaryMin | integer | Optional minimum annual salary. |
maxItems | integer | Hard maximum of 1–1,000 unique jobs. |
Input recipes
These input recipes show how to export Indeed jobs data for common recruiting and labor-market monitoring workflows.
Remote engineering roles
{ "query": "backend engineer", "location": "Remote", "maxItems": 5 }
Local healthcare hiring
{ "query": "registered nurse", "location": "Chicago, IL", "maxItems": 10 }
Pricing
The Actor uses pay-per-event pricing with a small run-start event and a per-job result event. Platform tier eligibility determines the applicable rate. Failed pages and jobs that are not saved are not charged as results. See the live Apify Pricing tab for current rates.
API usage and Indeed jobs API
Use this Actor when you need an Indeed jobs API-style workflow for repeatable exports without maintaining your own parser.
Start a run with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~indeed-jobs-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"query":"data analyst","location":"New York, NY","maxItems":5}'
Use the returned run's defaultDatasetId to fetch items.
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/indeed-jobs-scraper').call({query: 'data engineer', location: 'Boston, MA', maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/indeed-jobs-scraper').call(run_input={'query': 'data engineer', 'location': 'Boston, MA', 'maxItems': 25,})items = client.dataset(run['defaultDatasetId']).list_items().items
MCP and AI agents
Connect compatible AI clients through https://mcp.apify.com?tools=fetch_cat/indeed-jobs-scraper.
Add the hosted MCP server to Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/indeed-jobs-scraper"
Or run the Actors MCP server directly:
$npx -y @apify/actors-mcp-server --actors fetch_cat/indeed-jobs-scraper
Example prompts: “Find five data analyst jobs in Austin posted this week and return each company, salary, and apply URL.” “Export 20 remote software engineer jobs from Indeed with posting dates and benefits.”
Example MCP client configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/indeed-jobs-scraper"}}}
Try prompts such as “Find 25 remote data-engineering jobs posted this week” or “Compare salary ranges for registered nurses in Chicago.”
Tips
- Use a specific role plus a real city for focused results.
- Keep the first run small, inspect the output, then increase the limit.
- Schedule repeated runs with the same input to monitor new vacancies.
- Deduplicate historical exports by
jobKey.
Limits and data availability
The Actor reads public job pages without a login. Listing availability and field completeness vary by country, query, and the details each employer publishes. Search-card records can have partial salary, benefits, description, or application fields; the diagnostics field identifies partial-detail results. Indeed can change page availability or pagination, and maxItems remains a hard ceiling rather than a guarantee that every query has that many public jobs.
FAQ
What data can I export with indeed jobs scraper?
You can export public job titles, employer names, locations, descriptions, salary fields when available, job type, benefits, apply URLs, Indeed URLs, rank, source URL, and scrape timestamps.
Why can a search return fewer jobs than requested?
The requested market may have fewer public listings, or Indeed may change availability while the run is active.
How do I update an existing dataset?
Run the Actor on a schedule and merge by jobKey, retaining scrapedAt for freshness.
Can I export to a spreadsheet?
Yes. Open the Dataset tab and choose CSV or Excel.
Can I run Indeed Jobs Scraper through an API, schedule, or MCP client?
Yes. Run it through the Apify API, SDK, CLI, scheduler, webhooks, or MCP-compatible clients using the same JSON input.
How much does it cost to use Indeed Jobs Scraper?
The Actor uses a small start event and a per-item event for saved public jobs. Check the live Pricing tab for current rates before large runs.
Related actors
Support
If a valid search fails or output fields look incorrect, open an issue on the Actor page. Include the run ID or run URL, the complete input JSON, expected and actual output, and one public Indeed URL that reproduces the problem.