AS
Apify Store
/cheap_scraper/indeed-job-scraper
Indeed Jobs Scraper | Remove Duplicate Jobs
The Indeed job scraper allows you to collect jobs by entering keyword-based search queries.
liveasyncunknown~30s typical
jobsautomationdeveloper toolsindeedjob
$0.00006
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.00005 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /cheap_scraper/indeed-job-scraper for me.
Input
| Field | Type | Description |
|---|---|---|
| keywords* | array | One or more keywords to search for (e.g., job title, skills). JSON field name: `keywords` |
| country* | string (United States | Angola | Argentina | Australia | Austria | Bahrain) | Select country (default is United States) Enhance accuracy by selecting the associated country. Data is drawn directly from country-specific indeed.com platforms, ensuring relevant outcomes for your location. JSON field name: `country` |
| location* | string | Location to search for jobs (e.g., 'San Francisco, CA', 'Montreal, QC', 'New York, NY'). JSON field name: `location` |
| datePosted | string ( | 1 | 3 | 7 | 14 | 30) | Filter jobs by date posted. JSON field name: `datePosted` |
| radius | string ( | 10 | 20 | 30 | 50 | 100) | The search radius in miles. JSON field name: `radius` |
| jobType | string ( | FULL_TIME | PERMANENT | PART_TIME | CONTRACT | FIXED_TERM_CONTRACT) | Filter jobs by job type. JSON field name: `jobType` |
| jobLevel | string ( | ENTRY_LEVEL | MID_LEVEL | SENIOR_LEVEL) | Filter jobs by experience level. JSON field name: `jobLevel` |
| remoteWorkType | string ( | REMOTE | HYBRID) | Filter jobs by remote work type. JSON field name: `remoteWorkType` |
| saveOnlyUniqueItems | boolean | If enabled, only unique items will be saved. Default is false. JSON field name: `saveOnlyUniqueItems` default false |
| deepSearch | boolean | If enabled, the scraper will perform a deep search to find more job listings based on related keywords from your initial keyword. Ideal for searches expecting more than 400 results. Default is false. JSON field name: `deepSearch` default false |
| maxItems | integer | Maximum number of items to scrape. Default is none, it will scrape all the jobs it finds. JSON field name: `maxItems` |
| includeNoSalaryJob | boolean | Include jobs with no salary. Default is true. JSON field name `includeNoSalaryJob` default true |
| resumeKeywords | array | ⚠️ **This is NOT a search filter** — it does not change which jobs Indeed returns to you. This is a **profile matching tool** for smarter job hunting. Paste the skills from your resume/CV here, and the scraper will automatically score every job description against your profile. Instead of reading through dozens of postings, you instantly see which jobs you're actually qualified for — and can skip the rest entirely. Each entry has a required `keyword` and an optional `aliases` array for abbreviations or alternate names (e.g. `JavaScript` → `JS`, `Kubernetes` → `K8s`). **Format:** `[{"keyword": "JavaScript", "aliases": ["JS"]}, {"keyword": "Python"}]` When provided, each job in the output will include three extra fields: - `matchedKeywords` — which of your skills were found in the job description - `unmatchedKeywords` — which of your skills were NOT found - `keywordMatchScorePercentage` — percentage of your skills found (0–100). Example: 3 out of 5 matched = **60** 🤖 **Let an AI extract skills from your resume automatically (outputs JSON ready to paste here):** - [Open ChatGPT with prompt](https://chatgpt.com/?q=Extract+skills+and+keywords+from+my+CV+for+job+matching.+Add+common+abbreviations+as+aliases.+Output+ONLY+a+raw+JSON+array+with+no+explanation+or+markdown%2C+using+this+format%3A+%5B%7B%22keyword%22%3A%22JavaScript%22%2C%22aliases%22%3A%5B%22JS%22%5D%7D%2C%7B%22keyword%22%3A%22Python%22%7D%5D.+I+will+paste+my+CV+after+this+message.) *(no login needed)* - [Open Claude with prompt](https://claude.ai/new?q=Extract+skills+and+keywords+from+my+CV+for+job+matching.+Add+common+abbreviations+as+aliases.+Output+ONLY+a+raw+JSON+array+with+no+explanation+or+markdown%2C+using+this+format%3A+%5B%7B%22keyword%22%3A%22JavaScript%22%2C%22aliases%22%3A%5B%22JS%22%5D%7D%2C%7B%22keyword%22%3A%22Python%22%7D%5D.+I+will+paste+my+CV+after+this+message.) *(login required)* |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/cheap_scraper/indeed-job-scraper","input":{"keywords":["software engineer"],"country":"United States","location":"San Francisco, CA","datePosted":"3","radius":"","jobType":"","jobLevel":"","remoteWorkType":"","resumeKeywords":[{"keyword":"JavaScript","aliases":["JS"]},{"keyword":"TypeScript","aliases":["TS"]}],"maxItems":3},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /cheap_scraper/indeed-job-scraper -i '{"keywords":["software engineer"],"country":"United States","location":"San Francisco, CA","datePosted":"3","radius":"","jobType":"","jobLevel":"","remoteWorkType":"","resumeKeywords":[{"keyword":"JavaScript","aliases":["JS"]},{"keyword":"TypeScript","aliases":["TS"]}],"maxItems":3}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/cheap_scraper/indeed-job-scraper", input: {"keywords":["software engineer"],"country":"United States","location":"San Francisco, CA","datePosted":"3","radius":"","jobType":"","jobLevel":"","remoteWorkType":"","resumeKeywords":[{"keyword":"JavaScript","aliases":["JS"]},{"keyword":"TypeScript","aliases":["TS"]}],"maxItems":3}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.