Indeed Jobs Scraper
Scrape Indeed jobs by keyword and location across 11 countries. Get title, company, salary, remote flag, posted date, and apply URL as structured data.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
query,location,country(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.004 per job = $4 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Job returned | Charged per job returned (blocked/empty not charged). | $0.004 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-06-13, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
query | What to search for, e.g. "software engineer", "registered nurse", "data analyst". | string |
location | City, state, or "remote", e.g. "New York", "London", "Remote". Leave blank to search the whole country. | string |
country | Which Indeed country site to search. | string |
maxItems | How many job listings to collect (the scraper paginates in batches of 10). Note: salary and companyRating are often null on Indeed, and the browser locale is always en-US regardless of country. | integer |
notionConnector | Optional. Write each job as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
benefitscompanycompanyRatingcompanyReviewCountcountryjobIdjobTypeslocationpostedTextqueryremotesalarysnippettitleurlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
16 ready-to-run use cases
Scrape AI & ML Engineer Jobs from Indeed (US)
AI and machine learning engineer postings across the US from Indeed: title, company, location, salary and apply link for tech recruiters and sourcers.
Cybersecurity & Security Engineer Jobs Scraper (US)
A live feed of US cybersecurity and security engineer roles from Indeed, with company, location, salary and apply link for security recruiting teams.
Travel Nurse Jobs Scraper: ICU/ER Across the US
US travel nurse jobs (ICU, ER and more) from Indeed with employer, location, weekly pay and apply link. Data for healthcare staffing and travel-nurse agencies.
CDL Truck Driver Jobs Scraper by State (Indeed)
High-volume CDL truck driving jobs (OTR, regional, local) by state from Indeed: carrier, location, pay and apply link for trucking recruiters and pay analysis.
Companies Hiring Sales Reps: B2B Lead List Scraper
Companies posting account executive and sales rep roles in any metro become a B2B lead list with locations and links you can pipe straight into your CRM.
Remote DevOps & SRE Jobs Scraper (US Remote)
Remote DevOps and SRE roles across the US, scraped from Indeed with company, salary and apply link for remote tech recruiting and cloud-infra pay benchmarking.
Registered Nurse Salary Data Scraper by City
Registered nurse job postings with salary ranges for any US city from Indeed. Comp data for hospital teams benchmarking pay against the nursing shortage.
Entry-Level & New Grad Jobs Scraper (US, Indeed)
Students and career coaches get every US entry-level and new-grad posting from Indeed: role, company, location and apply link to automate the job search.
Germany Healthcare & Engineering Jobs Scraper
Shortage-occupation jobs in Germany like nursing (Krankenpfleger) from Indeed, with employer, city and link for international recruiters and Blue Card hiring.
H-1B Visa Sponsor Tech Jobs Scraper (US, Indeed)
US tech postings that mention visa sponsorship, scraped from Indeed with company, location and apply link. A starting list for H-1B job seekers and recruiters.
Warehouse & Fulfillment Jobs Scraper by Metro
Warehouse and fulfillment openings for any US metro from Indeed: employer, pay and apply link, sized for logistics recruiters and seasonal high-volume hiring.
Construction & Skilled Trades Jobs Scraper (US)
Electrician and skilled-trades postings by metro from Indeed, capturing employer, pay and apply link for construction staffing agencies and trades pay analysis.
Data Scientist Jobs Scraper in Canada (Indeed)
Data scientist roles in Toronto and across Canada from Indeed, returning company, location, salary and link for Canadian tech recruiting and labour-market data.
Software Engineer Jobs Scraper in Austin, TX
Current SWE openings in Austin pulled from Indeed, each row carrying the pay band, how long ago it posted and a direct link to the application.
Remote Data Analyst Jobs Scraper (US, Indeed)
Remote data analyst roles posted across the US on Indeed, including which postings are flagged remote and what each one pays, for job seekers and analysts.
Accountant Jobs Scraper in Australia (Indeed)
Accountant openings nationwide from Indeed Australia, collected so you can weigh employers, cities and pay against each other for recruiting or job hunting.
Related tools in Job Market Scrapers
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Glassdoor Company Reviews Scraper
Scrape Glassdoor company reviews and ratings by company name or URL. Get pros, cons, recommend rate and CEO approval as rows for analysis.
StepStone Jobs Scraper
Scrape StepStone jobs across Germany, Austria, UK, NL and Belgium by keyword and location. Get company, salary, posted date, remote flag and apply links.
Remotive Jobs Scraper
Scrape remote jobs from Remotive by keyword and category. Get title, company, location, salary, tags and clean descriptions. No login or key.
Multi-ATS Jobs Scraper (Greenhouse, Lever, Ashby)
Scrape open jobs from Greenhouse, Lever, and Ashby boards by company. Get title, location, department, and apply link as JSON, CSV, or Excel. No key needed.
LinkedIn Jobs Scraper
Scrape public LinkedIn jobs by keyword, location, URL or ID. Filter by date, workplace type and experience, and pull full descriptions.
BuiltIn Jobs Scraper
Scrape Built In tech jobs at $0.81/1,000 - salary, location, skills, posted date. No login or API key. 1,000 jobs in under 2 minutes.
Where this tool sits
- Categories
- Job Market Scrapers
- Platforms
- Indeed
Indeed Jobs Scraper
Scrape job listings from Indeed (US, UK, Canada, Germany, France, Australia, India and more) by keyword and location.
Indeed is behind Cloudflare, which is why HTTP scrapers get Just a moment… challenge pages. This actor runs a real browser with anti-detection, reads jobs straight from Indeed's own in-page data model, and hops to a fresh exit address whenever a page is challenged — so it returns jobs or an honest BLOCKED, never silent-empty.
Pricing
$4.00 per 1,000 jobs ($0.004 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged only for genuine job rows.
That single per-job fee is the entire bill. Indeed sits behind Cloudflare, so every run drives a real anti-detection browser over rotating proxy addresses, and both are already inside the $0.004: there is no separate compute charge, no proxy surcharge, no per-page fee and no monthly minimum. Blocked, empty and bad-input searches produce a diagnostic row and cost nothing, so an IP rotation that never gets through is free rather than billed as "results".
> Price change on 24 August 2026: the per-job rate stays at $4.00 per 1,000, and a $0.005 run-start fee is added. There is no run-start fee before that date.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
query | string | — | Job title / keywords (required). |
location | string | — | City / state / "remote". Leave blank to search the whole country. |
country | string | us | One of 11 Indeed sites: us / uk / ca / de / fr / au / in / nl / es / it / ie. |
maxItems | integer | 50 | Jobs to collect (paginates by 10s). |
notionConnector | string | — | Optional. Authorize a Notion MCP connector once in Settings → API & Integrations, pick it here, and each job is written into Notion when the run finishes. |
notionParentId | string | — | Optional. Notion data source ID to write into; leave empty to create the pages privately in your workspace. |
proxyConfiguration | object | Apify proxy | Optional. The actor rotates Apify datacenter addresses on its own; metered groups (RESIDENTIAL) are not offered. Supply proxyUrls to use your own proxies. |
Output
One row per job: jobId, title, company, location, salary, jobTypes, benefits, remote, postedText, snippet, companyRating, companyReviewCount, url.
Fields that can be null: salary and companyRating (and companyReviewCount) are missing for many Indeed jobs — Indeed simply does not list pay or a rating on most cards, so expect these blank on a large share of results. postedText and snippet can also be null.
Blocked, empty, and bad-input searches return a coded diagnostic row (ok: false with an errorCode of BLOCKED, NO_RESULTS, or BAD_INPUT) and are never charged — you only pay per genuine job row.
Sample output row
{
"ok": true,
"jobId": "a1b2c3d4e5f6",
"title": "Software Engineer",
"company": "Acme Corp",
"location": "London",
"salary": null,
"jobTypes": ["Full-time"],
"benefits": ["Health insurance"],
"remote": false,
"postedText": "3 days ago",
"snippet": "We are hiring a software engineer to ...",
"companyRating": null,
"companyReviewCount": null,
"url": "https://uk.indeed.com/viewjob?jk=a1b2c3d4e5f6"
}
Notes
Routes the browser through rotating Apify datacenter addresses and takes a new one on every Cloudflare challenge. Rotation means a run can take longer when addresses are challenged. You can supply your own proxy servers in proxyConfiguration.proxyUrls; they are used exactly as given.
The browser locale is always en-US regardless of the country you pick (this affects how relative dates like "3 days ago" are phrased, not which country's jobs you get).
Troubleshooting
- Got far fewer jobs than
maxItems? That usually just means Indeed has few open postings matching your query/location that day — it is not an error. Try a broader query, a blank location, or a different country. - Got a
BLOCKEDdiagnostic row? Indeed's Cloudflare challenged every address this run tried, and you were not charged for it. Re-run to get different addresses, or supply your own proxy servers inproxyConfiguration.proxyUrls.